A lightweight, compiled Rust Discord Bot designed for the "Gaming Gooners" server.
- Interactive Control Panel: A permanent Embed in a dedicated channel with buttons that open Modals for input.
- Custom AI Endpoint: Designed to connect to self-hosted AI proxies like LiteLLM or local models to process chat requests. Fully compatible with any standard OpenAI API endpoint (just provide your URL and API key).
- Isolated Per-User Memory: Embedded SQLite tracks each user's conversation history individually. No cross-talk!
- Quote Database: Users can submit and randomly fetch server quotes natively via embedded database tables.
This bot is designed to compile and run seamlessly inside a Pterodactyl Panel using the basic "rust generic" egg.
- Create a new server on your Pterodactyl Panel and select the Rust (Generic) egg.
- Upload these project files (the
src/folder,Cargo.toml,.env.example, etc.) directly into the root directory of the server. - Rename
.env.exampleto.env(or create a new.envfile). - Fill out the
.envfile with your sensitive details:DISCORD_TOKEN: Your bot token.LITELLM_URL: The URL to your chat completions endpoint.LITELLM_API_KEY: Your LiteLLM API key.GENERAL_CHANNEL_ID: The channel ID where the bot should send the responses.
- Hit Start in the Pterodactyl console.
- Cargo will automatically download the required crates and compile the bot (this might take a few minutes on the first boot). Once finished, it will say "Logged in as...".
When inviting the bot to your server, make sure it has the application.commands scope enabled.
Required Bot Permissions:
View ChannelsSend MessagesEmbed Links(Required for the Control Panel and AI responses)Read Message History
- Create a dedicated channel in your server (e.g.,
#ai-terminal). - Run the command
/setup_panelinside that channel (Note: You must have Administrator permissions to run this). - The bot will drop a permanent control panel embed with interactive buttons!
The bot uses rusqlite with the bundled feature, meaning the SQLite C code is compiled directly into the binary. You do not need to install sqlite3 on the host system. It will automatically create a database.db file in the root of the server folder on boot.