Skip to content

14. Bot Status and Invite System

ad1107 edited this page May 24, 2025 · 2 revisions

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.

Standalone Script (generate_invite.py)

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.

Discord Invite Command (/invite)

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

  1. Go to Discord Developer Portal
  2. Select your application
  3. Copy the Application ID (this is your bot ID)
  4. 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


📊 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.

Clone this wiki locally