An over-engineered Discord bot status checker and user profile grabber for the Vultrex Development Discord server. Castor monitors bot statuses, tracks user profiles, and provides comprehensive staff tools for managing the server's bot ecosystem.
-
Bot Status Monitoring:
- Real-time tracking of bot online/offline status
- Periodic status updates every 5 minutes
- Handles both online and idle states as "online"
- Efficient member caching for optimal performance
-
Role-Based Bot Management:
- Monitors only bots with the designated bot role
- Ignores bots with the ignore role
- Automatic database management based on role changes
-
User Profile Management:
- Tracks user information including usernames and display names
- Monitors profile picture changes
- Maintains user role associations
-
Staff Tools:
- Comprehensive bot status dashboard
- User profile management interface
- Role-based access control
- Detailed activity logging
-
Technical Features:
- Efficient member caching system
- Real-time presence updates
- RESTful API integration
- Comprehensive debug logging
DISCORD_BOT_TOKEN=your_bot_token
GUILD_ID=your_guild_id
BOT_ROLE_ID=role_id_for_bots_to_monitor
IGNORE_ROLE_ID=role_id_for_bots_to_ignore
API_URL=your_api_url
The bot considers a bot as "online" when:
- The bot has the designated bot role
- The bot does not have the ignore role
- The bot's presence status is either "online" or "idle"
A bot is considered "offline" when:
- The bot's presence status is "offline" or "dnd"
- The bot is not found in the guild
- The bot has the ignore role
The service integrates with a REST API for status updates:
POST /api/bots/update
: Updates bot status with the following payload:{ botId: string; guildId: string; username: string; displayName: string; profilePicture: string; ownerId: string; status: 'online' | 'offline'; lastStatusCheck: Date; }
- Clone the repository
- Install dependencies:
npm install
- Set up environment variables
- Run the bot:
npm start
The service provides detailed logging for:
- Bot status changes
- Role-based filtering
- API interactions
- Error conditions
- Member caching operations
- User profile updates
- Staff actions
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Castor is specifically designed for the Vultrex Development Discord server, providing comprehensive tools for managing and monitoring the server's bot ecosystem and user profiles. It's built with scalability and maintainability in mind, making it easy to extend and modify for future needs.