{"id":15211545,"url":"https://github.com/meridiangh/suitbot","last_synced_at":"2025-10-03T04:30:53.854Z","repository":{"id":37586771,"uuid":"406747355","full_name":"MeridianGH/suitbot","owner":"MeridianGH","description":"A lightweight music and general purpose bot with dashboard that uses slash commands and integrations to be as user-friendly as possible! ","archived":true,"fork":false,"pushed_at":"2023-11-07T19:31:01.000Z","size":56496,"stargazers_count":78,"open_issues_count":1,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-28T08:42:43.810Z","etag":null,"topics":["bot","discord","discord-bot","discord-js","discordjs","erelajs","music","nodejs"],"latest_commit_sha":null,"homepage":"https://suitbot.xyz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MeridianGH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-15T12:06:50.000Z","updated_at":"2024-09-23T07:14:19.000Z","dependencies_parsed_at":"2023-01-29T03:00:52.183Z","dependency_job_id":null,"html_url":"https://github.com/MeridianGH/suitbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeridianGH%2Fsuitbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeridianGH%2Fsuitbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeridianGH%2Fsuitbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeridianGH%2Fsuitbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MeridianGH","download_url":"https://codeload.github.com/MeridianGH/suitbot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219876149,"owners_count":16554739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","discord-bot","discord-js","discordjs","erelajs","music","nodejs"],"created_at":"2024-09-28T08:42:58.932Z","updated_at":"2025-10-03T04:30:51.645Z","avatar_url":"https://github.com/MeridianGH.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](https://repository-images.githubusercontent.com/406747355/0c0fcbbd-8dab-4259-a5d6-d8cc5069ef37)\n\n[![Invite](https://img.shields.io/static/v1?style=for-the-badge\u0026logo=discord\u0026label=Invite\u0026message=SuitBot\u0026color=000000)](https://discord.com/oauth2/authorize?client_id=887122733010411611\u0026scope=bot%20applications.commands\u0026permissions=2167425024)\n[![Discord](https://shields.io/discord/610498937874546699?style=for-the-badge\u0026logo=discord\u0026label=discord)](https://discord.gg/qX2CBrrUpf)\n[![License](https://img.shields.io/github/license/MeridianGH/suitbot?logo=gnu\u0026style=for-the-badge)](https://github.com/MeridianGH/suitbot/blob/main/LICENSE.md)\n\n\u003e This repository has been archived in favor of the newer and improved, but slightly stripped down version **[Kalliope](https://github.com/MeridianGH/Kalliope)**.\n\n# SuitBot\n\n\u003e A lightweight music and general purpose bot with dashboard, that uses slash commands and buttons to be as user-friendly as possible!\n\n\n\n[![Dashboard](https://img.shields.io/static/v1?style=for-the-badge\u0026logo=google%20chrome\u0026label=\u0026message=Dashboard\u0026color=212121)](https://suitbot.xyz)\n[![Progress Board](https://img.shields.io/static/v1?style=for-the-badge\u0026logo=trello\u0026label=\u0026message=Progress%20Board\u0026color=212121)](https://github.com/MeridianGH/suitbot/projects/1)\n[![Discord Server](https://img.shields.io/static/v1?style=for-the-badge\u0026logo=discord\u0026label=\u0026message=Discord%20Server\u0026color=212121)](https://discord.gg/qX2CBrrUpf)\n\n\u003cdetails\u003e\n\u003csummary style=\"cursor: pointer\"\u003e\u003cb\u003eTable of Contents\u003c/b\u003e\u003c/summary\u003e\n\n- [Invite](#invite)\n- [Features](#features)\n- [Commands](#commands)\n- [Installation](#installation)\n- [Stats](#stats)\n- [Licensing](#licensing)\n\u003c/details\u003e\n\n---\n\n## Invite\n\u003e 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.\n\n[![Invite](https://img.shields.io/static/v1?style=for-the-badge\u0026logo=discord\u0026label=\u0026message=Invite\u0026color=212121)](https://discord.com/oauth2/authorize?client_id=887122733010411611\u0026scope=bot%20applications.commands\u0026permissions=2167425024)\n\n## Features\n- Slash commands\n  - Use commands directly integrated in Discord\n  - No more guessing with variables\n  - Quick overview of all commands\n\n\n- Music\n  - Supports many sources (YouTube, Spotify, Bandcamp, SoundCloud, Twitch, Vimeo or any other HTTP source)\n  - Supports playlists and livestreams\n  - Interactive Web Dashboard\n  - Pause, Skip, Remove, Volume and more commands\n\n\n- Language support\n  - Supports multiple languages\n  - Change the language for your server using `/language`\n  - Add your own language by contacting me on the Discord server\n\n\n- Activities\n  - Create invites for Discord Activities\n  - YouTube Together and a lot of fun minigames\n  - Have fun with everyone in your voice channel\n\n\n- Basic Moderation\n  - Info commands (User, Server, Avatar)\n  - Kick, Ban, Move, Slowmode and more commands\n  - Permission check on commands\n\n## Commands\nSuitBot uses slash commands to integrate itself into the server. You can easily access its commands directly by typing `/` in your chat window.\n\n\u003cdetails\u003e\n\u003csummary style=\"cursor: pointer\"\u003e\u003cb\u003eShow all commands\u003c/b\u003e\u003c/summary\u003e\n\n### General\n| Command     | Description                               |\n|-------------|-------------------------------------------|\n| /activity   | Creates a Discord activity.               |\n| /dashboard  | Sends a link to the dashboard.            |\n| /help       | Replies with help on how to use this bot. |\n| /info       | Shows info about the bot.                 |\n| /invite     | Sends an invite link for the bot.         |\n| /language   | Changes the bots language.                |\n| /ping       | Replies with the current latency.         |\n| /serverinfo | Shows info about the server.              |\n| /userinfo   | Shows info about a user.                  |\n\n### Music\n| Command     | Description                                                       |\n|-------------|-------------------------------------------------------------------|\n| /clear      | Clears the queue.                                                 |\n| /filter     | Sets filter modes for the player.                                 |\n| /lyrics     | Shows the lyrics of the currently playing song.                   |\n| /nowplaying | Shows the currently playing song.                                 |\n| /pause      | Pauses playback.                                                  |\n| /play       | Searches and plays a song or playlist from YouTube or Spotify.    |\n| /previous   | Plays the previous track.                                         |\n| /queue      | Displays the queue.                                               |\n| /remove     | Removes the specified track from the queue.                       |\n| /repeat     | Sets the current repeat mode.                                     |\n| /resume     | Resumes playback.                                                 |\n| /search     | Searches five songs from YouTube and lets you select one to play. |\n| /seek       | Skips to the specified point in the current track.                |\n| /shuffle    | Shuffles the queue.                                               |\n| /skip       | Skips the current track or to a specified point in the queue.     |\n| /stop       | Stops playback.                                                   |\n| /volume     | Sets the volume of the music player.                              |\n\n### Moderation\n| Command   | Description                                                   |\n|-----------|---------------------------------------------------------------|\n| /ban      | Bans a user.                                                  |\n| /kick     | Kicks a user.                                                 |\n| /move     | Moves the mentioned user to the specified channel.            |\n| /moveall  | Moves all users from the first channel to the second channel. |\n| /purge    | Clears a specified amount of messages.                        |\n| /slowmode | Sets the rate limit of the current channel.                   |\n\n### Feedback\n| Command     | Description                           |\n|-------------|---------------------------------------|\n| /bugreport  | Reports a bug to the developer.       |\n| /github     | Sends a link to the repo of this bot. |\n| /suggestion | Sends a suggestion to the developer.  |\n\u003c/details\u003e\n\n## Installation\nIt is not recommended to try and install SuitBot yourself. \\\nThe bot is not designed to be easily installable and requires many complicated steps to set up.\n\nIf you want a self-hostable bot, keep looking around GitHub for better alternatives!\n\nIf you nevertheless decide to try and host a custom version of SuitBot yourself keep on reading.\n\n\u003cdetails\u003e\n\u003csummary style=\"cursor: pointer\"\u003e\u003cb\u003eInstallation\u003c/b\u003e\u003c/summary\u003e\n\n## Local Installation\n\n### Prerequisites\n- Node.js v16.x\n- FFmpeg v4.4\n- Java v13.x\n\n### Installing\n```shell\ngit clone https://github.com/MeridianGH/suitbot.git\ncd suitbot\nnpm install\n```\n\n### Configuration\nRename `config_example.json` to `config.json` and replace the placeholders inside with your info:\n- A Discord Bot Token (**[Guide](https://discordjs.guide/preparations/setting-up-a-bot-application.html#creating-your-bot)**)\n- Your Application ID which you can find the the `General Information` tab in your Discord application.\n- Your Client Secret which is under `OAuth2` in your Discord application.\n- 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.\n- Your User ID of your Discord account which will be your Admin-Account for the bot. Right-click yourself with `Developer Mode` activated.\n- Get your YouTube keys like described in this **[Guide](https://github.com/Walkyst/lavaplayer-fork/issues/18)**. Once you have `PAPISID` and `PSID` set them in the config.\n- Create a Genius API application **[here](https://docs.genius.com/)**, generate an access token and paste it here. Can be an empty string.\n  \n### Setting up\n#### Discord\nGo to your Discord Application, go to `OAuth2` and add `http://localhost/callback` to `Redirects`.\n  \n#### Domain\nReplace the domain in `dashboard.js` with your domain. \\\nIf you want to redirect from HTTP to HTTPS, make sure to replace the domains in the function `forceDomain()` as well.\n\n#### Database\nInstall PostgreSQL and create a database `suitbot`.\nIf you choose to name it differently, set the database URL in `database.js`.\n\nCreate a table using the following command:\n```\nCREATE TABLE servers (\n  id varchar(30) UNIQUE NOT NULL,\n  locale varchar(5) NOT NULL\n);\n```\n\n### Deploying\nUse `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.\\\nGuild commands are refreshed instantly while global commands can take up to an hour.\n\nStart the bot with\n```shell\nnode .\n```\n\\\nTo start the bot for production use one of these specific for your platform\n```shell\nnpm run start:win\nnpm run start:unix\n```\n---\n\u003c/details\u003e\n\n## Stats\n\n### Size\n![Lines of code](https://img.shields.io/tokei/lines/github/MeridianGH/suitbot?style=for-the-badge)\n![GitHub repo size](https://img.shields.io/github/repo-size/MeridianGH/suitbot?style=for-the-badge)\n\n### Code\n![GitHub top language](https://img.shields.io/github/languages/top/MeridianGH/suitbot?style=for-the-badge)\n![GitHub language count](https://img.shields.io/github/languages/count/MeridianGH/suitbot?style=for-the-badge)\n\\\n[![CodeFactor](https://img.shields.io/codefactor/grade/github/MeridianGH/suitbot?style=for-the-badge)](https://www.codefactor.io/repository/github/meridiangh/suitbot)\n[![Libraries.io](https://img.shields.io/librariesio/github/MeridianGH/suitbot?style=for-the-badge)](https://libraries.io/github/MeridianGH/suitbot)\n\\\n[![discord.js](https://img.shields.io/github/package-json/dependency-version/MeridianGH/suitbot/discord.js?color=44b868\u0026logo=npm\u0026style=for-the-badge)](https://www.npmjs.com/package/discord.js)\n[![erelajs](https://img.shields.io/github/package-json/dependency-version/MeridianGH/suitbot/erela.js?color=44b868\u0026logo=npm\u0026style=for-the-badge)](https://www.npmjs.com/package/play-dl)\n\n### GitHub\n[![GitHub issues](https://img.shields.io/github/issues/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/pulls)\n\\\n[![GitHub last commit](https://img.shields.io/github/last-commit/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/commits)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/graphs/commit-activity)\n\\\n[![GitHub Repo stars](https://img.shields.io/github/stars/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/stargazers)\n[![GitHub watchers](https://img.shields.io/github/watchers/MeridianGH/suitbot?style=for-the-badge)](https://github.com/MeridianGH/suitbot/watchers)\n\n### Dashboard\n[![Website](https://img.shields.io/website?down_message=offline\u0026label=dashboard\u0026style=for-the-badge\u0026up_message=online\u0026url=https%3A%2F%2Fsuitbot.xyz)](https://suitbot.xyz)\n\n## Licensing\nIf 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.\n\n[![License](https://img.shields.io/github/license/MeridianGH/suitbot?logo=gnu\u0026style=for-the-badge)](https://github.com/MeridianGH/suitbot/blob/main/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeridiangh%2Fsuitbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeridiangh%2Fsuitbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeridiangh%2Fsuitbot/lists"}