[V2] Discord-To-Roblox Ban bot | 100% Free, End User Friendly & Stable!

Alright, do you see any errors in the glitch log? If not, have you configured the role in step 8?

Access the log here:
image

3 Likes

Would be cool to make the ban / unban an embed, displaying the users profile etc

6 Likes

I have a suggestion, make it so that there is a command that checks if the user is banned or not.

4 Likes

its great that there is a V2 to this. I’m still sticking with V1 because I know that google has made google sheets more reliable with this type of system. This will be my 2nd to-go option just in-case this system fails.

4 Likes

I’m getting errors,
On Glitch: “TypeError: client.channels.get is not a function”
It said the error was on line 202 so;
On line 202: “const channel = client.channels.get(request.headers.cid);”

3 Likes

For role players, like people who run cafe’s, if they have a discord and perhaps someone asked for a MR+ because there was a exploiter, instead of having to go through the long process of joining the game and banning this specific person they could maybe banned them from discord. But that’s only one of the possibilities of course.

5 Likes

I’d love to see time bans, but this is really nice otherwise.

5 Likes

For that I would recommend a NoSQL such as MongoDB for convenience. A NoSQL is good for performance reasons. When an SQL database gets pretty large it’s performance tends to drop a little.

5 Likes

Do client.channels.cache.get(request.headers.cid).

3 Likes

I use MongoDB. I was stating that I think @Stratiz should store the bans using some sort of SQL solution.

4 Likes

I would consider doing that but that requires significantly more http calls to operate from the roblox end. The goal with this project is to limit the amount of external resources required to run it. Not a bad idea though.

3 Likes

Agreed but if it’s for a large amount of players then NoSQL no question about it.

4 Likes

No it doesn’t, if you’re doing it right. I also think that SQL is the best way to go with this as you’re dealing with structured data.

3 Likes

What does “doing it right” mean?

Id imagine the way to do this is using a db service on glitch, and then when the player joins to check if its banned Id need to send a http call to the node again, which would just contribute to the amount of http traffic in and out of the server, which could dampen the ability for developers to use other http reliant services due to api limits.

Also consider that you could easily tie this into another datastore with maybe other player data if you wanted, if it was SQL you couldn’t do that as easily.

SQL is just not necessary in this case and is more inconvenient in my opinion because of the way this is structured.

@xuefei123 In order for me to consider using SQL, I need to know why I should use SQL over the way Ive done it now. I dont believe its a bad idea but thus far I havent seen any real arguments suggesting its better.

3 Likes

This is helpful but im not sure whats the point of banning people by using discord :frowning:

4 Likes

You can call to get all bans, every 30, to 60 seconds. Which really would not impede HTTPService at all really. Also, SQL is structured data, it’s 100% easier to use too. It’d be just as hard to save this into datastore with NoSQL/MySQL because you’re going to still be giving the data to the server via the database. I don’t see your point.

NoSQL isn’t necessary either…

5 Likes

What if you have thousands of bans? Having a copy of that table in each server and having to wait 30-60 seconds just to update that would be extremely inconvenient wouldn’t it? Pulling a massive table via http every 30-60 seconds is just impractical.

Datastore is extremely easy as well, it just takes 3 lines to save as much data as you’d like.

Its also important to be mindful of change, what if the bot goes down or what if they dont want to use the bot anymore? If it was a sql database offsite they would need to transfer all of those bans where as with roblox datastore, that data is already there. Even if the bot is offline the bans still work.

SQL seems redundant as datastore is already a stable and integrated solution. I see no real benefit of SQL over datastore besides improved bot response time, but thats only a benefit to the bot operator.

3 Likes

You’re assuming that a Roblox server is online 24/7 listening to add bans to Datastore, sadly that isn’t a reality. If they want to put their bans into datastore, it’s very easy. Create a simple, simple script to fetch all bans in the database, for loop through all of them, and add them to Datastore.

3 Likes

What are you talking about? You get 500 requests per-minute, this is documented here: HttpService | Documentation - Roblox Creator Hub

3 Likes

With this are you saying that you’re sending bans in the headers of a request?

3 Likes