RbxProxy - Use Roblox's web API easily in game (group bots, etc)

Introduction:

(I recommend you read this whole thing)

Welcome! This is my newest resource and I’m pretty proud of it for the time-being. This is a proxy system that allows you to perform actions that you wouldn’t otherwise be able to like; ranking users in groups, managing join requests, getting user costumes (these are not the same as what they’re currently wearing), getting offline player’s names, etc! It’s also fully open-sourced! This can all be done from in game as well, so you can implement this into administration systems, add ranking rewards, etc!

It’s also been simplified to use for people who aren’t experienced with the web API that Roblox provides so that you can still have the same power but not have a stroke trying to figure out how to actually use it. It also comes with documentation that has instructions, function arguments and sample code for everything.

IMPORTANT NOTES:

  • This resource is designed for people who are not experienced with using the Roblox web API to simplify their experience since it can be very confusing at times. If you’re a web developer yourself, this would probably just slow you down.
  • This is not meant to replace other systems like noblox.js, this one’s only goal is to provide an easy to use experience in your own games without needing to learn multiple programming languages in order to complete a simple task
  • This is in alpha as of now so it’s obviously not going to be 100% perfect and stable and the works.
  • I’ve only added endpoints I think would be helpful to use ingame so far, please add any endpoint suggestions in the replies if you want an implementation of them.
  • I’m releasing this ahead of schedule so I can find out what people think and patch bugs.
  • I’m starting with 30 endpoints and will be increasing them with each update with bug fixes. You should probably bookmark this post so you can get updates on this.
  • We use promises for most of the requests and you can get a rundown of them in the documentation.
  • I’m urge people to set up their own proxies, I’m using glitch.com for this proxy currently, but you can get the source code for it and put it on Heroku or similar platforms. If you read the post more in depth, the documentation shows you how to set up the proxy so just keep this in mind.

Example code:

-- setting up the client:

local client = require(7721972330)({ --> Or you can set the module path if you fork it
  ["proxy"] = "proxythatyousetuplol.glitch.me" --> dont actually use this url lol
}).client();

client:login(".ROBLOSECURITY");

--[[
1. Adding a cookie to this will authorize the client, this is where I'm assuming 
a lot of people who want to  use this will fork the source code for trust issues.
2. If you don't add a cookie, it will just give you methods that don't require 
authorization like getting user info.
3. You NEED authorization for things like group ranking and shouting.
]]

-- example method:

local success,response = client.group:shout(123456,"Hello world"):await();
if(success) then
    print(response)
end

-- or:

client.group:shout(123456,"Hello world"):andThen(function(response)
     print(response)
end):catch(warn);

How do I set it up??

Check out the installation guide that I wrote!

I’m urging you to host your own proxy in the event that the one I set up breaks, it’s very straightforward to do. Check out the instructions on the documentation website, they’ll show you how to set it up. It may seem very complicated to set one up, but I’m keeping it as simple as possible right now and it shouldn’t take any longer than 5 minutes.

If you still can’t figure it out after that, please shoot me a PM and I’ll try my best to help you.

Source code:

Credits:

Documentation:

There’s documentation for each function, how to set up the proxy, and even setting up the model. You can check the documentation out here!

TLDR;

It shouldn’t be so difficult to use the Roblox web API from in game, so read the documentation and good luck ig?

Other community resources:

POLLSSSS

oml stop voting no if you’re some well renowned web developer ofc you’re not going to use it

Would you use this system?
  • Yes
  • No
  • Maybe lol

0 voters

28 Likes

what is all you can do with this system? really cool, makes it easier for like roleplay groups or something to do things, and even just people like me (kind of)

1 Like

It’s really anything you want to do with it. It can be used for games which can reward you with things like group ranks upon a certain threshold in games. It can also be used for administration purposes, exiling users from groups, managing join requests, etc. There’s also fun purposes like getting user outfits to make one of those outfit loader games. I don’t think this system can be limited to just a small amount of categories. Have fun, and be creative!

1 Like

If you’re using the version you’re listing here you should know that it’s not actually compatible with deferred event behaviour, and can break, they actually can even break on Immediate mode under certain conditions too. There’s the new version on Nevermore but it uses :GenerateGUID and it’s slow, I advise to use a linked-list implementation, like GoodSignal (it’s more known idk) or FastSignal (if you wanna have a more consistent experience).

1 Like

Minor update: (1.0.1)

- Switched over to GoodSignal
2 Likes

Update 1.0.2

  • Added new :onShout function for groups to use. This has < 2000ms latency and can be used for live update functions (If you were and earlybird and already set up the source code and proxy you’ll need to update the code)
-- please note that my documentation website is extremely laggy 
-- right now and I cannot update it so I'll provide a code sample below
client.group:onShout(9231886):Connect(function(shoutData) --> array
print(shoutData)
end)
  • Fixed random bugs
1 Like

Sorry to bump this, I don’t want this resource to die yet and I want to add more functionality to it. If anyone has ANY endpoint ideas or things like that please do not hesitate to request them and I’ll do what I can. I’ve only added what I think are helpful in general but not everything possible.

Nice! I’ll use in some of my projects.

do you have a github for this yet?

I do not but I can probably make it tonight. What’s your use for it?

Reading source code and forking

2 Likes

Update:

Added an official GitHub page.

1 Like

This works really well and is super underrated. Considering Hyra, the platform that also provided this service and more recently went down, this is a great alternative to it.

1 Like

What happened to Hyra? I’ve heard about it before but did not know it went down until now.

Do you have Discord? I’ll DM you.

Why does this proxy not work when I use game.Players.PlayerAdded:Connect(function()? I used the code below, when I tried just using client.group:rank(UserID, GroupID, 2):andThen(function(), it worked. After I changed it to the code provided below, it wouldn’t work.

Code

game.Players.PlayerAdded:Connect(function(plr)
	client.group:rank(plr.UserId, GroupID, 2):andThen(function(response)
		print(response)
	end):catch(function()
		print("Error.")
	end)
end)

How’d you set up the proxy itself? PM me?

I created the proxy on Glitch by following the steps provided in this post. Then I copied the live URL and pasted it into the proxy variable.

What are you talking about? The cookie is never even placed in the code on the server?

2 Likes

Nvm, sorry. I was thinking it was in the code.