Relics Audit is a Discord Bot developed to manage and monitor the Relics Organisation's activities. It's built with Node.js and JavaScript, leveraging MongoDB for data storage and CRUD operations through the Mongoose library. The codebase adheres to the DRY (Don't Repeat Yourself) principle.
Note: This project is deprecated. And due to changes in the API response structure of Brawl Stars & Discord, this project is somewhat functional in its current state. Feel free to fork it anyways.
- Brawl Stars API Integration: The bot fetches data from the Brawl Stars API every second to monitor changes in Relics clubs.
- Detects new member arrivals and departures.
- Tracks role and name modifications.
- Monitors blacklisted members. If a blacklisted member joins any Relics club, the bot sends an alert on Discord and continues to ping every hour until the member is removed.
- Updates club statistics and leaderboards on Discord in real-time when any changes occur in a Relics club.
- Seasonal Tracking: Monitors players from three countries who join before the ladder season starts.
- Disqualifies players from ladder rewards if they switch clubs during the season.
- Two minutes before the season's end, the bot creates a dedicated channel and role. It assigns this role to top-performing players and notifies admins about eligible players for rewards.
- Five minutes post-notification, the bot resets logs for players already in a Relics club, ensuring the cycle continues seamlessly.
- Provides detailed statistics about players, the bot's performance, and club metrics through specific commands.
- Feeder System Integration: Operates on verified clubs and servers.
- Automatically verifies newcomers if their player ID exists in the database. It then updates their roles based on their current club and the server type (HUB, CLUB, or PARTNER).
- For first-time verification, the bot requires the player's ID and Discord user ID. After this initial setup, users can self-verify, and newcomers are auto-verified.
- Periodically audits the entire server to update user roles based on their current club and the server's context.