14. Bot Status and Invite System - utils-bot/utils-bot-plus GitHub Wiki
Bot Status & Invite System
Comprehensive guide to UtilsBot+'s dynamic status system and invite link generation features.
🎭 Dynamic Bot Status System
UtilsBot+ features an intelligent status system that automatically updates the bot's Discord presence with relevant information.
Status Rotation
The bot cycles through different status messages every 30 minutes to provide variety and useful information:
Time-Based Status Categories
Early Morning (12:00 AM - 8:00 AM): Statistics Focus
- Activity Type:
Watching
- Examples:
- "150 servers | v2.0.0"
- "12,543 users | /help for commands"
- "25 slash commands available"
Daytime (8:00 AM - 4:00 PM): Helpful Information
- Activity Type:
Listening
- Examples:
- "Type /help for commands"
- "Ready to help in 150 servers"
- "Use /info for bot information"
- "AI-powered utilities at your service"
Evening (4:00 PM - 12:00 AM): Activity Focus
- Activity Type:
Playing
- Examples:
- "Online for 48h | v2.0.0"
- "Processing commands in 150 servers"
- "Helping 12,543 Discord users"
- "Providing utilities & AI assistance"
Milestone Celebrations
The bot automatically celebrates significant milestones:
Server Count Milestones (every 50 servers):
🎉 150 servers milestone! | v2.0.0
User Count Milestones (every 1,000 users):
🎊 13,000 users milestone! | /help
Status Information Displayed
- Server Count: Number of Discord servers the bot is in
- User Count: Total users across all servers
- Uptime: How long the bot has been running
- Version: Current bot version
- Command Count: Number of available slash commands
Technical Details
- Update Frequency: Every 30 minutes
- Randomization: 30% chance to use different category for variety
- Fallback: Simple version display if status update fails
- Event Triggers: Status updates on guild join/leave events
🔗 Bot Invite System
UtilsBot+ provides multiple ways to generate invite links with appropriate permissions.
generate_invite.py
)
Standalone Script (A command-line utility for generating invite links outside of Discord.
Usage
# Default recommended permissions
python generate_invite.py
# Minimal permissions for basic functionality
python generate_invite.py --minimal
# Administrator permissions (full access)
python generate_invite.py --admin
# Interactive permission selection
python generate_invite.py --custom
# Specify bot ID manually
python generate_invite.py --bot-id 123456789012345678
# View help and options
python generate_invite.py --help
Features
- Automatic bot ID detection from environment variables
- Multiple permission presets for different use cases
- Interactive permission selection with descriptions
- Save to file option for generated links
- Detailed permission descriptions showing what's included
- Usage instructions and setup guidance
Example Output
🤖 UtilsBot+ Invite Link Generator
Mode: Recommended Permissions
============================================================
🔗 Discord Bot Invite Link Generated
============================================================
📋 Bot ID: 123456789012345678
🔢 Permissions Value: 275146342400
🌐 Invite Link:
https://discord.com/api/oauth2/authorize?client_id=123456789&permissions=275146342400&scope=bot%20applications.commands
📝 Included Permissions:
✅ View Channels
✅ Send Messages
✅ Manage Messages
✅ Embed Links
✅ Attach Files
✅ Read Message History
✅ Add Reactions
✅ Use External Emojis
... and 5 more permissions
💡 Instructions:
1. Click the link above or copy and paste it into your browser
2. Select the Discord server where you want to add the bot
3. Review and authorize the requested permissions
4. The bot will be added to your server!
⚠️ Note: You must have 'Manage Server' permission in the target server.
/invite
)
Discord Invite Command (Generate invite links directly within Discord with an interactive interface.
Usage
/invite [permissions:"recommended"] [ephemeral:true]
Permission Levels
Level | Description | Use Case |
---|---|---|
Minimal | Basic commands only | Simple utility usage |
Recommended | Full functionality | Complete bot experience |
Network | Network tools focus | Screenshots, IP lookup |
Administrator | Full server access | Maximum flexibility |
Permission Details
Minimal Permissions (17,157,120):
- View Channels
- Send Messages
- Embed Links
- Attach Files
- Read Message History
- Use External Emojis
- Use Slash Commands
Recommended Permissions (275,146,342,400):
- All minimal permissions plus:
- Manage Messages (for cleanup)
- Add Reactions (for interactive features)
- Use External Stickers
- Manage Threads
- Create Public Threads
Network Permissions (17,157,120):
- Same as minimal
- Optimized for screenshot and network tools
Administrator Permissions (8):
- Full server access
- All permissions granted
Interactive Display
The /invite
command shows:
🔗 Bot Invite Link
Click the link below to add UtilsBot+ to your server!
🔗 Invite Link
[Add UtilsBot+ to Server](https://discord.com/...)
📋 Permission Level
Recommended
Full bot functionality - all features enabled
📝 Instructions
1. Click the invite link above
2. Select your Discord server
3. Review and authorize the permissions
4. The bot will be added to your server!
⚠️ Requirements
You need Manage Server permission in the target server
Configuration
Environment Variables
Add to your .env
file:
# Bot Application ID (required for invite generation)
BOT_ID=123456789012345678
# or
APPLICATION_ID=123456789012345678
Finding Your Bot ID
- Go to Discord Developer Portal
- Select your application
- Copy the Application ID (this is your bot ID)
- Add to your
.env
file
Best Practices
Permission Selection Guidelines
For Home/Personal Servers:
- Use Administrator permissions for maximum flexibility
- Simplest setup with no permission issues
For Public/Community Servers:
- Use Recommended permissions for security
- Provides full functionality while maintaining control
For Specific Use Cases:
- Use Minimal for basic utility functions only
- Use Network if only using screenshot/IP lookup features
Security Considerations
- Review permissions before authorizing
- Start minimal and upgrade if needed
- Audit bot access regularly in server settings
- Use role hierarchy to limit bot capabilities
Troubleshooting
Common Issues
"Invalid Bot ID" Error:
- Ensure
BOT_ID
is set in.env
file - Verify the ID is numeric and 17-19 digits
- Check for typos or extra spaces
"Missing Permissions" Error:
- Verify you have "Manage Server" permission
- Check if the server has restrictions on bots
- Ensure the permission level is appropriate
Commands Not Appearing:
- Invite was missing
applications.commands
scope - Use generated links which include proper scopes
- Try using
/sync
command if bot is already added
Getting Help
- Check Troubleshooting Guide
- Use
/info
to verify bot status - Review Commands Reference
- Report issues on GitHub
📊 Status Monitoring
Health Checks
The bot status system provides health monitoring:
- Response Times: Tracked in status updates
- Error Rates: Monitored for status update failures
- Resource Usage: CPU and memory displayed in
/info
- API Connectivity: Discord WebSocket latency
Performance Metrics
Status updates include performance data:
Online for 72h | v2.0.0 # Uptime tracking
Processing commands in 200 servers # Active server count
Helping 25,000 Discord users # Total user reach
Logging
All status updates are logged for monitoring:
[INFO] Updated bot status: watching '150 servers | v2.0.0'
[DEBUG] Status update took 45ms
[ERROR] Failed to update bot status: Rate limited
For more information, see Commands Reference and Configuration Guide.