V5.0.0 | Discord-To-Roblox Bot: Free, Stable, Datastore, GLITCH/Replit Support!

DTR-V5

Introducing Slash Commands!

We’ve upgraded our bot to use Slash Commands, making it even more user-friendly! No more pesky prefixes to remember - it’s now easier than ever to access all of the bot’s features!

Check out the Showcase!

3.2.2 Preview

How could I deploy this?

  1. To get started, you’ll need a Discord bot, which you can create by heading over to the Discord Developer Application Site and click on “New Application”.
  2. Follow this video to turn your app into a bot:

  1. Once you have successfully create a bot, you’ll need to install the project, or create an account on Glitch and set it up yourself. Glitch is a cloud-based platform that provides tools for creating and hosting web applications. It offers a visual coding interface that allows users to build and edit apps in real-time, collaborate with others, and publish their creations with a single click. Glitch.com also provides a community where users can discover, remix, and share projects, as well as access tutorials and resources to help them learn and improve their skills.
  2. You’ll need to setup the Datastore Api, you can find a Tutorial here
  3. Fork this repo RECOMMENDED or the OUTDATED Glitch Repo

Required Permissions, IP Whitelist to request API should be replicated as shown.
image
image

  1. After forking the Github, the Config is located at Src/Credentials/Config.json. The following should be done before doing anything:
{
  "botToken": "", // Token
  "clientId": "", // Application ID can be found in General Information on https://discord.com/developers/applications
  "guildId": "" // Server's ID, can be obtained with Developer Mode on Discord by Right Clicking the desired Server
}

image
universeID - set by the /settings db command Click your game, universeID in link

  1. Run the following commands on terminal/cmd
    node i then node main.js

  2. DOWNLOAD THE MODEL FROM RELEASES OR THE MODEL → Place the Server Script into ServerScriptService, Place the Client into ReplicatedFirst and ensure Enable HTTP Requests is Enabled!

DTRProduction.rbxm (20.6 KB)
Want the model instead?

How to set it up?

Settings

/settings db // REQUIRED: Make sure you set your Datastore Service Key & MessageService Key here

/settings add-universe // REQUIRED: Adds your game to the Database

/settings remove-universe // Removes selected game

/settings list-universe // Returns a map of keys

/settings logging <logging_channel> <application_channel> <appeal_channel> // If you want to use the auto unban system via reactions, set an application channel where logs will be SENT TO. Set appeal_channel to the channel you want to send the UI

Game

/game ban <player/ID> <time: 1> <length: minute> // Ban a player from the specified server for a specified time length

/game kick <player/ID> // Kicks the player from the specified server

/game warn <player/ID> // Warns the player

/game unban <player/ID> // Unbans the player from set server

/game shutdown // Shutdown ALL servers based on Server (Teleports them to a temporary place and back)

I want to ensure that you have the best experience possible with our bot. I highly recommend that you avoid executing commands repeatedly - this can cause a buildup of requests and potentially slow down your experience.

Let’s take a closer look at some of the cool features of the bot:

  • Verified Name & User ID

This bot utilizes a special ROBLOX API to ensure that the user ID or username you’re trying to ban/kick/unban is valid. No more worrying about making a mistake and targeting the wrong person - this feature will double-check everything for you!

  • Discord Integration

This bot is completely Discord-oriented and optimized for use within the Discord platform. It’s user-friendly and easy to navigate, with commands that are simple and intuitive.

  • Ban with an Optional Time Parameter

With this bot, you can easily ban a user for a set period of time using an optional time parameter. This is a great feature if you just want to give someone a temporary ban without having to go through the process of unbanning them later.

  • Command Logging

This bot also keeps track of all the commands that are executed, so you can always go back and see what has been done in the past by an administrator or a player.

  • Unban Appeal System

With this bot, you can now easily setup your Unban Appeal System. Unbanning users have never been easier! Upon reacting with a thumbs up to the message, will keep in contact with ROBLOX’s server and get them out of there!

  • Local Database Support

Your settings and universes can be saved for quick retrieval thanks to the quick.db module.

  • Glitch Support

We love free hosting as much as you do! Which is why I’m happy to say that this bot is fully compatible with Glitch! This means you can easily run this bot on Glitch servers without having to pay a dime, and without worrying about traffic overloads or long response times. Plus, you can easily edit the code directly on Glitch’s web interface, making it a breeze to customize the bot to your liking. Give it a try and see how easy it is to get started with the bot on Glitch!

  • Player Teleport on Shutdown

While maintaining it’s functionality, you can shutdown servers with ease & teleport your players versus having them kicked!

30 Likes

Curious, how does this keep itself up 24/7? Iirc Glitch made a policy a few years ago that made artificially keeping the projects banable

2 Likes

It doesn’t keep its self up, unsure if you read it at all, it’s a local hosted repo., however the Roblox → Glitch POST method works to keep it alive with long response times.

TL;DR
Host on your own PC until that support is added

2 Likes

The Lua code that you supply doesn’t even send requests to a server, so this just doesn’t exist atm

If it did, and you wanted to host on your PC, you’d have to port-forward the server so that Roblox can send requests to it, but if you don’t know how to do this, you could potentially make your network insecure

You mentioned you wanted to add Glitch support, but doing this risks people getting their Glitch accounts banned for TOS violations. I’d recommend switching to Repl cause they are more lax than Glitch for hosting things like this

2 Likes

I didn’t say that my code does? The previous repository did, which can be found on that post, more information can be reviewed at your discretion.

On that note, I localhost all my projects anyways, kind of crazy to think that I can get everything to work without port-forwarding, and only utilizing discord <-> node → roblox API.

I appreciate the input anyways, when I do get ready to add support for Hosting, I’ll double check my options once more once I reach that point.

3 Likes

Ohhh, I got confused when you said the post request part as I thought you meant this and not the original one. Yea, if Roblox doesn’t need to send anything to your server then no port-forwarding is needed. My bad

2 Likes

Is it possible to add ban durations/warnings?

2 Likes

Hey there!

It is indeed possible, however curious as to how you’d like it implemented. Could have it ran as !ban <user> <time>, if there is no time specified then auto perm. ban by default, or couple days.

1 Like

uhhh discord prevents you from getting requests from roblox because of the rate limit

2 Likes

Uhhh I don’t send GET requests? I send POST requests directly to the datastore, and saved lol.

1 Like

Yeah, !ban works well. Autoperm ban by default sounds great.

2 Likes

Sweet, I’ll get onto it! Should it be !ban user 1s/1m/1h or more extensive period support, !ban user 1d/1m/1y

1 Like

A mix of both possible? 1hr/1d/1m seems viable.

1 Like

Update being committed Friday/Saturday

1 Like

Version 3.11 Released

  • Implemented an optional time parameter
  • Command logging
  • Updated the user search minimally
  • Discord Bot Optimized for Performance
1 Like

It appears that you use axios and https. Both packages do the same thing, so I recommend that you solely use axios.

2 Likes

Hey there!

Thanks for the input. Meant to remove that as I was testing with that earlier on before I’ve decided to release. Updated.

V3.2.0 is near release.

Mainly wrapped in a module, rewritten most of the functionality. Now available for testing, latest release & changes can be found on the github page here.

V3.2.0 Development Release

  • V3.2.0 now released
  • Performance fixes
  • Discord Bot Optimized
  • Slash Commands coming in v3.2.1

How does it work?

The script uses a table of ban methods, which include a ban method and a kick method. Each method has a corresponding message that will be displayed to the player when they are banned or kicked. The ban method also includes a ban end time, which is used to determine if the player should still be banned or not.

DTR V3.2.1 Production Release

  • Bot rewrite (Utilizes event/command handler)
  • Confirmation Embed
  • Log Command Embed
  • We introduced slash commands!

Latest Update can be found on the github