A comprehensive Discord bot for staff training, onboarding, and job vacancy management.
- Interactive Onboarding: Step-by-step training for different staff roles
- Quiz System: Automated testing with role-based questions
- Prerequisites: Role progression system (Support β Admin β SLT)
- Branching Scenarios: Interactive decision-making training
- Progress Tracking: Monitor training completion and quiz performance
- Comprehensive Management: Add, edit, delete, and list job vacancies
- Application System: Users can apply directly through Discord
- Application Tracking: Leadership can review and manage applications
- Status Management: Track application status (pending, review, interview, accepted, rejected)
- Auto-Notifications: Automatic alerts for new applications
- Channel Configuration: Set announcement channels for vacancies
- Rich Embeds: Beautiful, informative Discord embeds with colors and formatting
- Smart Pagination: Navigate through job listings with interactive buttons
- Dynamic Colors: Color-coded embeds based on vacancy status and type
- Deadline Tracking: Visual indicators for urgent deadlines
- Filtering System: Find jobs by department, type, and location
- Responsive Design: Mobile-friendly interface with clear navigation
- Dashboard: Real-time overview of server operations and metrics
- Analytics: Detailed reports on training progress, quiz performance, and applications
- Staff Management: View and manage staff members and their roles
- Reporting System: Generate comprehensive reports in multiple formats
- Performance Tracking: Monitor staff completion rates and activity
/trainme- Start training for a specific role/quiz- Take a quiz for role certification/scenarios- Practice decision-making scenarios/jobs- View available job openings with filtering/apply- Apply for a job vacancy
/vacancies add- Add new job vacancy/vacancies edit- Edit existing vacancy/vacancies delete- Delete vacancy/vacancies list- List all vacancies/vacancies setchannel- Set announcement channel/vacancies announce- Announce specific vacancy/vacancies applications- Manage job applications
/leadership dashboard- View leadership dashboard/leadership analytics- View detailed analytics/leadership staff- Manage staff members/leadership reports- Generate reports
/config- Configure bot settings (Config Role only)
- XD | Support: Basic training and quiz access
- XD | Administrator: Full training management + vacancy management
- XD | SLT: All permissions + leadership tools
- Config Role: Bot configuration access
- Public Commands:
/trainme,/quiz,/scenarios,/jobs,/apply - Leadership Commands: All
/vacanciessubcommands,/leadershipcommands - Admin Commands:
/configand system management
- Basic Details: Title, department, description, requirements
- Employment Info: Type (full-time, part-time, contract, internship), location, salary
- Timing: Deadline, creation date, status
- Metadata: Unique ID, creator information
- User views available jobs with
/jobs - User applies with
/apply <vacancy_id> <message> <role> - Leadership receives notification in configured channel
- Leadership reviews application with
/vacancies applications view - Leadership updates status with
/vacancies applications status
- Pending: New application awaiting review
- Under Review: Application being evaluated
- Interview Scheduled: Candidate invited for interview
- Accepted: Application approved
- Rejected: Application declined
- Withdrawn: Candidate withdrew application
- Total staff count and active training sessions
- Job vacancy statistics and application counts
- Training completion rates by role
- Real-time activity monitoring
- Training Progress: Completion rates and active sessions
- Quiz Performance: Success rates and question statistics
- Job Applications: Application volume and status distribution
- Staff Activity: Role completion and engagement metrics
- Discord Embeds: Rich, visual reports
- Text Summaries: Simple, copy-paste friendly format
- Multiple Periods: 7 days, 30 days, 90 days, or all-time data
- Discord.js v14+
- MongoDB for data persistence
- Node.js 16+
DISCORD_TOKEN- Your Discord bot tokenMONGODB_URI- MongoDB connection string
- User Progress: Training status, quiz results, role completion
- Configuration: Onboarding steps, quiz questions, vacancy settings
- Applications: Job applications with status tracking
- Analytics: Performance metrics and reporting data
-
Clone the repository
git clone https://github.com/X-AmpleDevelopment/X-Ample-Training-Bot cd X-Ample-Trainer -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your Discord token and MongoDB URI -
Configure your Discord server
- Create the required roles (XD | Support, XD | Administrator, XD | SLT)
- Set up the Config Role
- Invite the bot with appropriate permissions
-
Start the bot
npm start
- Configure onboarding steps in
data.js - Add quiz questions for each role
- Set up branching scenarios for decision-making practice
- Set announcement channel with
/vacancies setchannel - Add job positions with
/vacancies add - Configure auto-announcements for new vacancies
- Adjust analytics periods and report formats
- Configure staff management permissions
- Set up automated reporting schedules
- Automated Reminders: Training completion notifications
- Advanced Analytics: Machine learning insights
- Integration APIs: Connect with external HR systems
- Mobile App: Companion mobile application
- Multi-Server Support: Manage multiple Discord servers
- Branding: Custom colors and logos
- Workflows: Configurable approval processes
- Templates: Pre-built training and quiz templates
- Localization: Multi-language support
For support, questions, or feature requests:
- Create an issue in the repository
- Contact the development team
- Check the documentation for common solutions
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ for the X-Ample community