Reify is a high-performance Discord music bot built with Rust, Poise, and Serenity. It utilizes the Lavalink music server to provide high-quality audio streaming with a modern, interaction-driven user experience.
- Modern UI (V2 Components): Utilizes Discord's latest Components V2 for rich, interactive music controls.
- Slash & Prefix Commands: Fully supports both slash commands and traditional prefix commands.
- Music Controls: Play, stop, skip, pause, resume, volume control, lyrics, and more.
- Playlist Management: Create and manage your own music playlists.
- High Performance: Built on top of the Rust ecosystem for speed and stability.
- Rust: Ensure you have the latest stable Rust toolchain installed.
- Lavalink Server: A running instance of Lavalink.
- Redis: Required for persistent state management and caching.
- Database: PostgreSQL (Prisma-compatible handled via
src/database/).
Create a .env file in the root directory and add your credentials:
DISCORD_TOKEN=your_bot_token
LAVALINK_URI=your_lavalink_uri
LAVALINK_PASSWORD=your_lavalink_password
REDIS_URL=redis://127.0.0.1:6379
DATABASE_URL=postgresql://user:password@localhost:5432/reify-
Clone the repository:
git clone https://github.com/sahilarun/refiy-bot.git cd refiy-bot -
Build the project:
cargo build --release
-
Run the bot:
cargo run
/play <query>: Play a track or playlist from URL or search term./join: Connect the bot to your current voice channel./stop: Stop music and clear the queue./skip: Skip the current track./volume <level>: Adjust the volume level./lyrics: Fetch lyrics for the currently playing track./playlist: Manage your personal music collections.- And Many More.
- Poise - Framework for high-level Discord bot commands.
- Serenity - Low-level Discord API wrapper.
- Lavalink-rs - Client for the Lavalink node.
- Serde - Serialization and deserialization.
This project is licensed under the Apache License 2.0.
