This repository has been archived in favor of the newer and improved, but slightly stripped down version Kalliope.
A lightweight music and general purpose bot with dashboard, that uses slash commands and buttons to be as user-friendly as possible!
Disclaimer: The bot is still in development, so expect some bugs or features that might not work 100% yet. Please report any bugs or suggestions via the respective commands.
-
Slash commands
- Use commands directly integrated in Discord
- No more guessing with variables
- Quick overview of all commands
-
Music
- Supports many sources (YouTube, Spotify, Bandcamp, SoundCloud, Twitch, Vimeo or any other HTTP source)
- Supports playlists and livestreams
- Interactive Web Dashboard
- Pause, Skip, Remove, Volume and more commands
-
Language support
- Supports multiple languages
- Change the language for your server using
/language
- Add your own language by contacting me on the Discord server
-
Activities
- Create invites for Discord Activities
- YouTube Together and a lot of fun minigames
- Have fun with everyone in your voice channel
-
Basic Moderation
- Info commands (User, Server, Avatar)
- Kick, Ban, Move, Slowmode and more commands
- Permission check on commands
SuitBot uses slash commands to integrate itself into the server. You can easily access its commands directly by typing /
in your chat window.
Show all commands
Command | Description |
---|---|
/activity | Creates a Discord activity. |
/dashboard | Sends a link to the dashboard. |
/help | Replies with help on how to use this bot. |
/info | Shows info about the bot. |
/invite | Sends an invite link for the bot. |
/language | Changes the bots language. |
/ping | Replies with the current latency. |
/serverinfo | Shows info about the server. |
/userinfo | Shows info about a user. |
Command | Description |
---|---|
/clear | Clears the queue. |
/filter | Sets filter modes for the player. |
/lyrics | Shows the lyrics of the currently playing song. |
/nowplaying | Shows the currently playing song. |
/pause | Pauses playback. |
/play | Searches and plays a song or playlist from YouTube or Spotify. |
/previous | Plays the previous track. |
/queue | Displays the queue. |
/remove | Removes the specified track from the queue. |
/repeat | Sets the current repeat mode. |
/resume | Resumes playback. |
/search | Searches five songs from YouTube and lets you select one to play. |
/seek | Skips to the specified point in the current track. |
/shuffle | Shuffles the queue. |
/skip | Skips the current track or to a specified point in the queue. |
/stop | Stops playback. |
/volume | Sets the volume of the music player. |
Command | Description |
---|---|
/ban | Bans a user. |
/kick | Kicks a user. |
/move | Moves the mentioned user to the specified channel. |
/moveall | Moves all users from the first channel to the second channel. |
/purge | Clears a specified amount of messages. |
/slowmode | Sets the rate limit of the current channel. |
Command | Description |
---|---|
/bugreport | Reports a bug to the developer. |
/github | Sends a link to the repo of this bot. |
/suggestion | Sends a suggestion to the developer. |
It is not recommended to try and install SuitBot yourself.
The bot is not designed to be easily installable and requires many complicated steps to set up.
If you want a self-hostable bot, keep looking around GitHub for better alternatives!
If you nevertheless decide to try and host a custom version of SuitBot yourself keep on reading.
Installation
- Node.js v16.x
- FFmpeg v4.4
- Java v13.x
git clone https://github.com/MeridianGH/suitbot.git
cd suitbot
npm install
Rename config_example.json
to config.json
and replace the placeholders inside with your info:
- A Discord Bot Token (Guide)
- Your Application ID which you can find the the
General Information
tab in your Discord application. - Your Client Secret which is under
OAuth2
in your Discord application. - The Guild ID of the server in which you want to test the bot. To get this ID, activate
Developer Mode
in Discord's options and right-click your server. - Your User ID of your Discord account which will be your Admin-Account for the bot. Right-click yourself with
Developer Mode
activated. - Get your YouTube keys like described in this Guide. Once you have
PAPISID
andPSID
set them in the config. - Create a Genius API application here, generate an access token and paste it here. Can be an empty string.
Go to your Discord Application, go to OAuth2
and add http://localhost/callback
to Redirects
.
Replace the domain in dashboard.js
with your domain.
If you want to redirect from HTTP to HTTPS, make sure to replace the domains in the function forceDomain()
as well.
Install PostgreSQL and create a database suitbot
.
If you choose to name it differently, set the database URL in database.js
.
Create a table using the following command:
CREATE TABLE servers (
id varchar(30) UNIQUE NOT NULL,
locale varchar(5) NOT NULL
);
Use node deploy-commands.js
to update and add commands in the guild you specified and node deploy-commands.js global
to update the commands globally.
Guild commands are refreshed instantly while global commands can take up to an hour.
Start the bot with
node .
To start the bot for production use one of these specific for your platform
npm run start:win
npm run start:unix
If you want to host your own version of SuitBot, with or without modifications to the source code or plan to use any part of this source code, you must disclose the source and reference this repository/license.