I don’t know if this is against TOS, because I have seen other games like this, but I want to know how I could make one of these games for my friends.
You don’t. Why would you even need this?
You can utilize ROBLOX api to do so, however, I have no exact information how to do it.
There might be something here to find a group with 0 members, but I don’t know why you would want to, as groups with 0 members get locked (as far as I know) and you would also need to supply group ids yourself.
https://api.roblox.com/docs?useConsolidatedPage=true
Edit:
You can use this to see whether a group has 0 members:
Use a GetAsync request through game.HttpService.
You can use an existing proxy, https://rprxy.xyz/ which works with the API.
As yyc5652 already said, you can use the Roblox API to do so. I don’t want to make accusations, but why would you use this other than to try to extract Robux from these groups?
Though in the case you do not, there is a limitation of the Roblox API. You cannot use them directly from inside a game. You must use a proxy server to retrieve the information. I’ve done something similar to this using a Flask server with Python, but not directly for use with the Roblox API.
You have to use HttpService and make a web request. Since you can’t make web requests to normal roblox websites, you have to use a proxy.
The best one that I know of is http://rprxy.xyz/
. Once you find the proper group API, replace “roblox” in the link with rprxy, and “com” in the link with xyz. Subdomains work with it as well. Then, you’ll need a loop that goes through a range of numbers and makes web requests.
local Step = game:GetService("RunService").Stepped
local iterations = 0
local function wait(n)
if iterations >= n then
iterations = 0
Step:Wait()
return 0
end
iterations += 1
return iterations
end
while wait(10) do
-- this is a handy function that prevents game script timeouts.
-- instead of waiting 10 seconds every iteration,
-- it waits a single frame every 10 iterations.
end
Remember to use HttpService in a pcall
or xpcall
because they can error and stop the script. The functions that you can use are HttpService:GetAsync()
or HttpService:RequestAsync()
.
Also make sure to run this in the command bar first: HttpService.HttpEnabled = true;
. This ensures that http is enabled in your game, which is needed for you to use HttpService. Alternatively, you can enable it from the game settings menu.
You’re better off using the group search api:
https://groups.roblox.com/docs#!/GroupSearch/get_v1_groups_search
Member count is included, and it lets you get data for multiple groups at once. Just use a generic search term like “the”.
Edit: Alternatively, you could use the multiget group detail endpoint, but that would be mean you have to guess group ids, which might make the whole request invalid for one deleted group.
posatta’s method is probably better than using a numerical loop to get the ids of a group. The new url with the api posatta provided is
https://groups.rprxy.xyz/docs#!/GroupSearch/get_v1_groups_search.
Also make sure to not make these requests too often as HttpService has a limit of 500 requests per minute. If you go over the limit, the service stops working for a while.
Didn’t you read this? 30 characters
Thanks where would I put the script
Firstly, that was just a code sample, not the complete script. Also, don’t use the method I said earlier because posatta’s solution is better.
I was talking about the wait function above the loop where I redefined it, it doesn’t actually use roblox’s wait() function.