Discord-To-Roblox Ban bot

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

Hey, is there a possible way that it could allow who ran the command to the Google Spreadsheets and like possible to add arguments/reason to be logged to the spreadsheets?

I love how the system is made on Google Spreadsheets where it’s easily accessible and can be changed and looked at but do understand that it’s not technically made to be a database.

I have suggested that already, and @Kensizo added it. Read Discord-To-Roblox Ban bot - #103 by Kensizo

1 Like

How long was your developing this script, this is amazing but is it a similarity to the discord bots?

Annotation 2020-04-23 114921

help?

Check to make sure that the functions in your glitch application are setup correctly. You need to make sure you’re providing the correct ScriptID when axois.post() gets run.