Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

mariusbegby/cadence-discord-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Cadence - A free Discord music and audio bot

Cadence icon

🎢 A free music and audio bot for Discord. No locked functionality, free forever. Open source!

Add Cadence Discord bot Β  Cadence Discord support server Β  Cadence bot license
Cadence bot release Β  Docker pulls for Cadence

Adding the bot πŸ€–

To add the bot to your Discord server, click here. This will invite the bot to your Discord server.

Once the bot has joined your Discord server, there is no additional setup needed. Execute the /help command to view a list of commands to use.

Hosting the bot yourself πŸ”“

⚠️ Migrating from V3 to V4 (config update) and later

v4.0.0 brings a new configuration system. To migrate your old configuration, copy your config file in ./src/config.js to ./config/local.js. This will override the new default config file stored in /config/default.js. No additional actions are required, and if configurable options are missing in your ./config/local.js file, the bot will automatically use the default values from ./config/default.js.


This bot is open-source, and if you want to host it yourself, here's how you can do it:

  1. Install Node.js v18.16 LTS.
  2. Install FFmpeg latest release build. Make sure you can run ffmpeg in your terminal, for Windows, add it to your PATH.
  3. Clone this repository and install its dependencies using npm install. If you encounter any errors, try use npm install --legacy-peer-deps.
  4. Use npm run build to build the project and convert typescript to javascript.
  5. Setup your .env file in the root directory to configure bot token DISCORD_BOT_TOKEN and client id DISCORD_APPLICATION_ID. You obtain these from the Discord developer portal. The .env.example file provides an example configuration.
  6. To make the commands accessible on Discord servers, deploy slash commands using npm run deploy.
  7. Start the bot using npm start. If set up correctly, the bot should now be online and operational. You will need to invite it to a server, see Adding your bot to servers article for help.

Additional information:

  • If you want to override default config options, create a file /config/local.js. The options defined in this file will override the default configurable options in /config/default.js. See /config/default.js for all available options. You do not need to copy the whole /config/default.js file, only the options you want to override.
  • You can use npm run deploy-pretty and npm run start-pretty to get formatted, colorized output to console instead of JSON format. For this to work, you need the npm package pino-pretty installed, npm install pino-pretty -g to install it globally.
  • Logs are stored in /logs directory, you can configure the logging level to file and console in the configuration file.
  • For production use, we recommend using a process manager like pm2 or similar to automatically restart it the process crashes. Here is a simple setup for pm2:
    • Install pm2 globally: npm install pm2 -g.
    • In repository root directory, start the bot with pm2 start ./dist/index.js --name "Cadence".
    • Save the process list with pm2 save.
    • To view logs with pino-pretty, run pm2 logs 0 --out --raw | pino-pretty. Note: Does not work well in Windows PowerShell, use command prompt (cmd) to view logs with pino-pretty using same command if you are using pm2.

Get help and support πŸ›Ÿ

Encounter an issue? Open an issue in this repository or join our Discord support server for assistance.

Credits and acknowledgments πŸŽ‰

This project is made possible by using discord.js and discord-player. A special thanks to @twlite for his work on discord-player, mediaplex and for providing feedback and help during development of this bot.

Contributors

Marius
Marius Begby
Parker
Parker Owings
Niko
Niko G.