Ryuuko is a modular and extensible Discord bot powered by Large Language Models (LLMs). It's designed to be a versatile chatbot that can be customized and extended with new commands and functionalities.
- Modular Architecture: Easily extend the bot by adding new commands, events, or services.
- LLM Integration: Connects with LLM providers for intelligent conversation.
- Conversation Memory: Remembers previous messages in a conversation for better context.
- Configuration Management: Flexible configuration system using environment variables and a
config.jsonfile. - Role-Based Access Control: Restrict commands to authorized users.
- Asynchronous Processing: Uses a request queue to handle LLM API calls without blocking the bot.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Python 3.10+
- MongoDB server
- A Discord Bot Token
-
Clone the repository:
git clone https://github.com/zvwgvx/ryuuko-chatbot.git cd ryuuko-chatbot -
Install dependencies:
pip install -r requirements.txt
-
Configure the bot:
- Create a
.envfile in the root directory and add your secrets. For a full list of required API keys, see the Setup Guide.# Discord and Database DISCORD_TOKEN="your_discord_bot_token" MONGODB_CONNECTION_STRING="your_mongodb_connection_string" # LLM API Keys (only add the ones you use) AISTUDIO_API_KEY="your_aistudio_api_key" POLYDEVS_API_KEY="your_polydevs_api_key" PROXYVN_API_KEY="your_proxyvn_api_key"
- Modify
config.jsonfor additional settings if needed.
- Create a
To run the bot, use the following command:
python -m srcOnce the bot is running, you can interact with it on Discord using the . prefix. For a full list of commands, see the Commands Reference.
For more detailed information, please refer to the following documents:
- Architecture: An overview of the project's technical design.
- Setup Guide: Detailed setup and configuration instructions.
- Command Reference: A complete list of all available bot commands.
- Deployment Guide: Instructions for deploying the bot to a production environment.
We welcome contributions! Please see our Contributing Guidelines to get started.
This project is licensed under the MIT License - see the LICENSE file for details.