Affinity Bot is a powerful and customizable Discord bot designed for seamless interaction and automation within the Affinity Discord server. Built using modern tools and technologies, it leverages Rust for high performance and safety and Shuttle for effortless deployment.
- 🔧 Moderation Tools: Manage your server with commands like kick, ban, mute, and more.
- 📚 Utility Commands: Fetch information, set reminders, and more!
- ⚡ High Performance: Rust-based backend ensures speed, reliability, and memory safety.
- 🚀 Serverless Deployment: Leveraging Shuttle for efficient and scalable hosting.
The bot leverages Rust's async runtime Tokio for efficient parallel processing:
- 🔍 Price Scraping Engine: Runs independently in a dedicated async task, continuously monitoring and updating product prices without blocking the main bot operations.
- 📬 Notification Manager: Operates in parallel, checking and sending price alerts on configurable intervals. Uses async handlers for processing multiple notifications concurrently.
- ⚡ Non-Blocking Design: All database operations and external API calls are fully asynchronous, ensuring optimal resource utilization and responsiveness.
- Rust 🦀: A memory-safe and fast programming language.
- Shuttle 🚀: A Rust-based serverless platform for easy deployment.
Follow these steps to set up Affinity Bot locally or deploy it to production.
- Install Rust 🦀: Get Rust
- Install cargo-shuttle 🚀:
cargo install cargo-shuttle