Welcome to the Ruby Apollo Discord bot project! This bot is designed to be self-hosted and used exclusively within a single server. It's built with Ruby, leveraging the discordrb
library for Discord bot functionality and colorize
for enhanced logging. The bot is modular, allowing you to enable or disable specific functionalities by renaming files in the Cogs
directory (Add .disabled to the end of the plugins you don't want to use). This README will guide you through the setup process and provide an overview of the project's structure and guidelines.
- Ruby installed on your system.
- A Discord bot token.
-
Place your Discord bot token: Create a file named
Token.secret
in the root directory of the project and paste your Discord bot token inside it. -
Install dependencies: Run
bundle install
in the terminal from the project's root directory to install all necessary Ruby gems. -
Launch the bot: Execute
ruby Main.rb
to start the bot.
The bot is designed to be modular, allowing you to enable or disable specific functionalities by renaming files in the Cogs
directory. To disable a functionality, simply add .disabled
to the end of the file name, except for the functionalities you wish to keep enabled. For example, if you only need moderation functionalities, you would rename all other files in the Cogs
directory to have the .disabled
extension, leaving only the moderation files without this extension.
You can write your own plugins and place them in the Cogs
folder. They will be automatically added to the bot's functionality. Ensure that your plugin files follow the naming conventions outlined below.
- Folders: Use capital letters without spaces or any symbols like
-
,_
, or,
. Example:CoolFolderName
. - Files: Follow the same naming convention as folders. Example:
CoolFileName
.
For logging purposes, use the LogBox
module. This ensures consistency across the project's logging mechanism.
If you wish to contribute to this project, please adhere to the following rules:
- Follow the naming conventions for folders and files.
- Use the
LogBox
module for logging.
It's important to note that this Discord bot does not support slash commands due to limitations within the discordrb library. The library currently does not support slash commands within cogs because they require a bot variable to function, which is not available in cogs. This limitation is discussed in detail in this GitHub issue. As a result, the bot utilizes regular Discord message commands for its functionality.
This project is licensed under the MIT License.
- discordrb for the Discord bot library.
- colorize for colorful logging.
For any questions or support, please contact me https://sobinec.vercel.app/contact.html.