i am simply curious to know if there is a function that can return the number of members that a group has and if so how would i use it??
There is probably some public API out there, but since I have no knowledge of web development and it seems you do not either, I will show you the way I would do it using only RBX.Lua.
When thinking of where I would find the size of a group on the website, I immediately thought of the group page. When you visit a group page on Roblox it begins with http://www.roblox.com/Groups/group.aspx?gid= followed by the group's id number.
Now that we know on what page what we are looking for would be displayed on, we just have to get the web page! Fortunately, ROBLOX's HttpService already has one for us: GetAsync! GetAsync can give us the HTML representation of the page that we request, which is a step closer to extracting the information we need.
Note: When you use GetAsync on a page on ROBLOX, be sure to use roproxy.tk or some other ROBLOX proxy instead of roblox.com. GetAsync cannot be used on ROBLOX's own pages!
Next, we need to process the HTML and find exactly what we are looking for. Since I have no knowledge of HTML, I just opened up the group webpage and looked for the number on Chrome. I used CTRL+F to find "Members:" in the huge mess of HTML, and I found the following:
<div id="MemberCount">Members: 8</div>
Since GetAsync gets us a string with the HTML in it, we just have to find that line! With my knowledge of string manipulation in Lua, I knew there was a function called match in the string library that I could use to match lines that are similar to the one above from a large amount of text. If html
was a variable that pointed to the HTML source, then I would do something like:
local pattern = [[<div id="MemberCount">Members: %d+</div>]] local line = html:match(pattern)
The above would get rid of the rest of the code and give me only the line that looks similar to the line above. We're not done yet, though! Notice that we still do not only have numbers. Fortunately, in this line there is only one possible number, which is the group size. We can use match again and search only for numbers using the string pattern %d+
. I would then do something like this:
local pattern = [[<div id="MemberCount">Members: %d+</div>]] local line = html:match(pattern) local size = line:match("%d+")
Then we're done! Altogether, here is a function that will get the size of a group on ROBLOX.
function getGroupSize(groupId) local groupLink = "http://www.roproxy.tk/My/Groups.aspx?gid=" .. groupId local html = game:GetService("HttpService"):GetAsync(groupLink, true) local pattern = [[<div id="MemberCount">Members: %d+</div>]] local size = tonumber(html:match(pattern):match("%d+")) return size end -- Test with my development circle, Hanabi -- http://www.roblox.com/My/Groups.aspx?gid=2578747 print(getGroupSize(2578747)) --> 8
Locked by HungryJaffer, User#5978, LegitimatlyMe, and BlackJPI
This question has been locked to preserve its current state and prevent spam and unwanted comments and answers.
Why was this question closed?