๐Ÿš€ Hopeless - A Discord Music Bot

A discord music bot build with lavalink.

๐Ÿš€ Hopeless - A Discord Music Bot

Hopeless is a discord bot, specially made for Music Streaming. It is built along with discord.js, a powerful Node.js module that allows you to easily interact with the Discord API, and Lavalink, a powerful audio streaming server.

๐Ÿ“Š Status

version-shield contributors-shield forks-shield stars-shield issues-shield license-shield codeql dependency-review code-factor

๐Ÿ’ก Features

๐Ÿ”ง Requirements

Before you get started, you need to have the following:

๐Ÿš€ Get Started

  1. First clone the repository and change the directory:
git clone https://github.com/rafisarkar0128/hopeless-bot.git
cd hopeless-bot
  1. Install the required packages:
npm install
  1. Copy example.lavalink-nodes.js to lavalink-nodes.js and add your external nodes here (if you are going to use any).

  2. Copy .env.example to .env and fill in all the required values.

  3. Now go to Discord Developer Page select your application and head to OAuth2 tab. In OAuth2 URL Generator select โ€œbotโ€ and โ€œapplication.commandsโ€ scopes, scroll down select โ€œAdministratorโ€ permission, copy the URL, open the URL and invite the bot to your server.

  4. Start the bot:

npm start
npm run dev # if you want to run in dev mode
  1. Start using the bot. Use /ping or /play commands.

NOTE

By default, the bot loads slash commands globally. To load slash commands only in specified guild, go to .env, change the value of GLOBAL_COMMANDS to false. This will make sure that the slash commands are available only in the specified guild.

๐Ÿ—๏ธ Sharding

Sharding is not recommended for bots that are in less than 2,000 servers. By default the bot runs without sharding. To enable sharding, start the bot like this:

npm run shard
npm run devShard # if you want to run in dev mode

๐Ÿ“œ Commands

There will be a dedicated markdown file for commands in future. For now here are some public commands of the bot.

Name Description
ping ๐Ÿ“ Pong! Replies with botโ€™s response time.
botinfo ๐Ÿ“– View botโ€™s information.
invite returns a link button with botโ€™s invite URL.
language ๐ŸŒ Change your language for the bot.
play โ–ถ Play songs or tracks from available sources.

๐Ÿ“œ Usage examples

Here are some examples of how to use the bot effectively:

  1. Playing a Song: Use the command /play <song name> to start streaming a song.
  2. Checking Bot Status: Use the command /ping to check if the bot is online and responsive.

  3. Changing Language: Use the command /language <language> to change the botโ€™s language settings.

  4. Getting Bot Info: Use the command /botinfo to retrieve information about the bot and its features.

๐Ÿค Contributing

Please check the issues page for open issues and feature requests.

Thank you for your interest in contributing to this project! Remember to follow these guidelines when contributing:

  1. Fork the repository and create a new branch for your feature or bug fix.
  2. Write clean and concise code that follows the established coding style.
  3. Create detailed and thorough documentation for any new features or changes.
  4. Write and run tests for your code.
  5. Submit a pull request with your changes. Your contribution will be reviewed, and any necessary feedback or changes will be discussed with you.

๐Ÿ’– I appreciate your help in making this project better!

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

๐Ÿ‘ฅ Contributors

Thanks go to these wonderful people for their contributions:

contributors-rocks