How would I make a 'empty group finder' game

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.

2 Likes

You don’t. Why would you even need this?

4 Likes

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.

1 Like

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.

2 Likes

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.

7 Likes

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.

2 Likes

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.

1 Like

I was talking about the wait function above the loop where I redefined it, it doesn’t actually use roblox’s wait() function.