Discord-To-Roblox Ban bot

This is so useful. I’ll try it once I get home.

2 Likes

I have been using this for a while but then I started to use MySQL/MyPHPAdmin and I find MySQL a bit better seeing that it looks hard but it is fairly easy. I have been able to log bans, command logs (working on it.), inactivity notices, etc. I think that this could be used for more than just bans such as kicking someone from the game which should just be sending a request to the server then having Roblox respond when it gets the request then having the name deleted from the list.

Suggestion!

1. Reason

Self explainatory
[prefix]ban userId Reason

When the player gets kicked
It will show the reason.

2. Appealing ban

This can
Like it’s an option for appeal center/centre, if the player can appeal their ban.
Usage[p]ban UserId [Can Appeal?] [Reason]
[p]ban UserId [y/n]

1 Like

I could add this to the bot, I will do this as an addition. Reasons would be super easy to create, I’ll let you know once these suggestions are added. Thank you for inserting them!

2 Likes

Dear @Kensizo,

Thank you for listening to the suggestion. Keep up your incredible work. I listed more suggestion below! Plus, permission to add this link to the credits of my group game? (Sorry required to ask or I will get fired.)
Plus, MORE suggestions!

ROBLOX search

ROBLOX Search to look up ROBLOX username/Userid!
usage: [Prefix here]search (UserId/Username)

Ban Information

Plus, ban info, get the player information about their ban. In embed on discord (Sorry if not allowed saying this on the dev forums, please no ban ROBLOX. Thanks.)
Usage: [Prefix here]baninfo (UserId/Username)

Embed list:
Username and UserId
Ban Reason
If can appeal the ban.
And more information as you wish.

Please get back to me about adding this to credits. (Don’t want to get fired.) You did hard work on this and should have your name is credits. (This ending is funny. “A fellow player in ROBLOX,” had good chuckle.)

A fellow player in ROBLOX,
AlertShamrock!

1 Like

I’ve added a source I meant to post a while back, but it is fully optional ( please keep in mind all users, this is optional. )

If there is any issues with it, please report it to me or @Stratiz. This new section introduces a bot that is less likely to get rate limited by Google, and a bot that has reason logging, and moderation logs. ( You can easily change the script on Roblox to tell the user who they got banned by, but this is mainly just for you to go check on the sheet who banned the user. )

Thanks for all the suggestions, if we missed any I’ll look into it and add them!

2 Likes

@Kensizo love the update! But error with ban regarding the word “reason”, it should be args[2]. (I use to old code to help fix it). But, how can I update the ROBLOX code to show the reason when they get kicked. Plus, please add a command to check their “case” (ban info). Because I will not let any of my staff get into this google sheet. I added to credits. If want to removed or have any else who helped added please contact me, or if any questions/concerns. Thank you, AlertShamrock

1 Like

Phenomenal work! This will make a large impact on the in-game moderation system.

2 Likes

const axios = require(‘axios’);
Error: Cannot find module ‘axios’

Am i missing something

1 Like

You have to install Axios. You can do this via npm using “npm i axios”.

1 Like

How can I make the reason pop up when I ban someone?
I know the player:kick("(TEXT HERE)") part, but when I ban someone and they get kicked how can I show the reason?

2 Likes

Really nice I like it. Keep up the good work.

2 Likes

Does this work with the new API changes?

1 Like

Yes! Because of the way this bot works, any updates Roblox does should not interfere with how the performance is. The Discord Bot posts an update to a Google Sheet, and the Roblox game posts a Get requests getting the entire sheet, and then checking if the player is banned on the sheet. It’s a very easy to use and understand system. This system does not use any of Roblox’s APIs.

2 Likes

Oh god, I read the thread wrong, thank you for the response though.

1 Like

I also think; could you use… https://uptimerobot.com/

to deal with the downtime?

1 Like

@jvstaldjniI use that and it works :slight_smile:

1 Like

Added you on Discord - I am so confused.

The Bot still doesn’t come online for me. Help?

Hello, I made this code and, it works but it doesn’t add anything to the Google Sheets.

Code:

const Discord = require("discord.js");
const axios = require('axios');
const bot = new Discord.Client();
const Token = "Not gonna say it";

bot.on("ready",() => {
  console.log("The bot is online!");
})

bot.on("message",msg => {
  const IsRole = msg.channel.name == "plugins-approving";
  if (!IsRole){
    console.log("Role not found!");
  } else if (IsRole){
    const args = msg.content.substring(0).split(" ");
    if (args[0]==":approve"){
      msg.channel.bulkDelete(1);
      if (args[1]){
        const PluginId = args[1];
        msg.reply("Approving the plugin " + PluginId);
        axios.post("https://script.google.com/macros/s/" + "Not gonna say it/exec" + "?sheet=Global&Key=" + PluginId + "&Value=" + true, {})}
      } else if (!args[1]){
        msg.reply("Please, include the PluginId argument.");
      }
    }
})

bot.login(Token);
2 Likes