Discord-To-Roblox Ban bot

That is not an excuse. Update your code, once more google spreadsheets should not be used as a database. Databases store their data efficiently, they are fast, easy to use, they compress their data so it takes less space, they are accurate, effective and reliable. They can process huge amounts of really well because that is what they were designed to do. It is really easy to delete, edit or add new data with them. As Xiousa said your google spreadsheets will overload over time, you shouldn’t make assumptions regarding how much data people who are going to use this open source code will use. What if they are a big roblox group which bans tens or hundreds of people daily (for trolling/exploiting etc… which is pretty common in roblox groups). You shouldn’t open source code that is not reliable on.

12 Likes

Its not working for me. Can I get some help on setting it up? Not sure what I did wrong.

1 Like

Hey! Make sure you did everything properly, if you still are having issues make sure to contact me on Discord, Kensizo#0001.

3 Likes

Added you on discord. im tom#2460

That’s great but it doesn’t seem like you’ve updated the source you provided with the changes I recommended.

Hey,
As others said, you should not use Google Spreadsheet like a Database.
Instead, you could use better-sqlite3 (library for SQLite3 in Node.js).
It is very simple to use and fast. To return the information you need, you can use a REST API secured by an authorization code in Headers.

In addition, you should verify if a user exists on Roblox before banning it. NoBlox.js can help you with that.

3 Likes

Wow ! Seems like a cool bot. Added you on discord Julez#1221

1 Like

A very complex system. Its really cool that you guys are giving this away for free, considering how much work went into it. Thanks!

1 Like

I am not being aggressive at all, I am giving criticism on your open source code so you can improve it and so other people can actually rely on it as a banning system.

“Your solution” is not a good answer to the problem, and you were simply advised to change your code because it was not reliable on. This is not rude, this is giving criticism.

Not everyone here has the ability to program. This is community resources.

If you find criticism an act of harassment then honestly you shouldn’t be publishing open source code, everywhere you will get criticism.

You are contradicting yourself here, you are using google spreadsheets as a permanent datastore. What?

Exactly, it is not a good iea and it is completely not reliable on, that is why you were advised to change your code.

Are you implying using a database is hard? If so that is not true. Once more, you are open sourcing code for others to use, people who may not even know what programming is. If they are going to use your code to learn, they freely can as it is open sourced but that is not the main point of community resources. Also considering other people may learn from it, this is another reason why you should update your code, so other people do not learn bad practices.

11 Likes

Thanks for the suggestions, sure users who want to modify this system to their own preferences will find that useful. :slight_smile:

3 Likes

I agree with you, I misinterpreted your reply as an attempt at attacking us. Sorry about that.

1 Like

I think people are misinterpreting what the point of this thread is. This code was created to show that doing something such as banning people straight from a Discord Server is possible, and was open-sourced and could be modified to your personal needs. A Battle Royale game was recently open-sourced and some of the code didn’t work as intended, yet the following reasons why the creators open-sourced it was to allow other people to learn from the code, make something out of it, and/or modify it to their needs. Lastly, to those who think that this should be a simple drop-and-drop installation and made easy for developers even without much knowledge in Lua, you’re wrong. In my opinion, if you’re new to coding then this isn’t your cup of tea just yet.

edit: didn’t mean to make this a reply

15 Likes

I actually did something almost identical for this to give Discord Nitro boosters perks in game for my game.

I never actually implemented the reward (lol) but I got the game to the point where it could detect who was a nitro booster and notify people when they joined.

3 Likes

How was this done? Of course you don’t have to share, but it intrigues me that this is even possible lol

5 Likes

Pretty much, I made my discord bot check a list of people who are boosting the server when it starts up, then sends a call to the spreadsheet to write their discord ID down, and their roblox UserID down (obtained through RoVer API). From there, the game server can access that data and use it to provide benefits to the players. Basically, roblox isn’t the only one who can read / write to the spreadsheet haha. It also creates an event that is fired when a new player boosts the server, and writes their name down as the bot is already running.

I also made it so the game will automatically give players a role in the discord server when they reach a specified rank. This is done by having the game send a request to a webhook that the discord bot I made is listening for. From there, the bot will make sure the message was sent in a private channel (only I have access) and that there is no member object attached to the message (I’m using Discordia API for my bot because it uses Lua and lets me switch between roblox and the bot easily) If all this matches up, it’ll give the role.

8 Likes

As experienced node.js and rLua engineer, I would like to help your project further. Could you upload it on GitHub so people that are experienced can help you out?

PS: It’s more recommended to use SQLite instead of Google Spreadsheet. They can be checked by an endpoint.

4 Likes

Could you possibly make up a short little example? Not for giving out ranks, just for checking to see who’s boosting.

2 Likes

By default Discord has an integrated Nitro Booster Role whenever that user boosts a server, so if you want to get users who are boosting you can just check via that specific role.

2 Likes

Google spreadsheets are not meant to be used as databases. For some odd reason, many Roblox developers use it. Please don’t. Neat project.

2 Likes

I don’t want to open the IDE right now, but I’m using Lua in the Discordia API. Here’s how it work:

  • Cache all members on start
  • Iterate through members and check status
  • If booster, then send HTTP call
  • bind function to respond when a booster is added
3 Likes