A multi-functional Discord bot focused on support automation (Tickets), community engagement (XP/Level), and simplified management via slash commands.
- Support Center: Interactive embed with a button to open tickets.
- Privacy: Automatic creation of private channels for each support request.
- Member Management: Commands to add (
/add) or remove (/remove) users from the ticket in real-time. - Detailed Logs: Automatic recording of who opened, who closed, and the reason for the ticket in configurable log channels.
- Auto-Cleanup: Scheduled channel deletion after the ticket is closed.
- Gamification: Members earn XP for sending messages.
- Smart Cooldown: Anti-spam protection to ensure fair XP gains.
- Automatic Ranking: Internal system that manages user level progress.
- Zero Restart: Change log channel IDs, ticket categories, and global settings using the
/configcommand. - Persistence: All settings are saved in a database and applied instantly.
- Security: Administrative commands protected by high-level permissions.
| Command | Description | Permission |
|---|---|---|
/system |
Sends the main ticket panel | Administrator |
/config list |
Lists the current bot configurations | Administrator |
/config set |
Changes a configuration (channel, category, etc) | Administrator |
/new |
Opens a new support ticket | Any Member |
/close |
Closes the current ticket | Staff / Author |
/add |
Adds a user to the ticket | Staff |
The bot was built with a focus on performance and scalability:
- Runtime: Bun for ultra-fast execution.
- Language: TypeScript for maximum type safety.
- Database: SQLite with TypeORM for robust persistence.
- Interface: Discord.js v14 using the latest Slash Commands and Modals APIs.
- Validation: Zod to ensure data integrity for all inputs.
Developed following clean architecture patterns (Controller/Service) and tested for stability.