Required Privileged Intents
ChimBot uses Discord’s Privileged Gateway Intents which must be enabled in the Developer Portal:main.py
Enabling Privileged Intents
Go to Developer Portal
Required Bot Permissions
ChimBot needs the following permissions to operate correctly:Core Permissions
Read messages and see channel contentCode reference: All message handlers (line 621)
Send responses and notificationsCode reference:
message.channel.send() (used throughout)Access message history for contextCode reference: Message processing (line 621-767)
Moderation Permissions
Delete spam messages and use
$borrar commandCode reference:message.delete()(line 642, 667)channel.purge()(line 544)@borrarcommand (line 527-556)
Timeout users for spam violationsCode reference:
silenciar_usuario()function (line 197-208)member.timeout()(line 201)
Optional Permissions
React to messages (currently not used but may be useful for future features)
Send rich embeds for welcome/farewell messagesCode reference:
on_member_join()(line 787-800)on_member_remove()(line 803-816)
Generating Invite Link
To invite the bot with the correct permissions:Select Scopes
Check the following scopes:
bot- Adds the bot to serversapplications.commands- Enables slash commands (future use)
Select Permissions
Check the following bot permissions:
- View Channels
- Send Messages
- Read Message History
- Manage Messages
- Moderate Members
- Embed Links
- Add Reactions
Permission Integer
For manual configuration, the required permissions integer is:Checking Permissions
ChimBot includes a built-in command to verify permissions:- Server-wide permissions
- Channel-specific permissions
- Which required permissions are missing
ver_permisos() command (line 557-606)
Example Output
Permission-Based Features
Different features require different permissions:Spam Detection (Moderate Members + Manage Messages)
Spam Detection (Moderate Members + Manage Messages)
The spam detection system needs:
- Moderate Members - To timeout spammers for 10 seconds
- Manage Messages - To delete spam messages
Message Deletion ($borrar command)
Message Deletion ($borrar command)
The
$borrar command requires:- Manage Messages - To delete messages in bulk
Welcome/Farewell Messages (Send Messages + Embed Links)
Welcome/Farewell Messages (Send Messages + Embed Links)
Member events require:
- Send Messages - To send welcome/farewell messages
- Embed Links - To send rich embedded messages
AI Responses (Send Messages + Read Message History)
AI Responses (Send Messages + Read Message History)
AI-powered responses require:
- Read Message History - To read user messages
- Send Messages - To send AI responses
Role Hierarchy
For the timeout feature to work properly:Setting Role Position
Troubleshooting
Bot can't delete messages
Bot can't delete messages
Solutions:
- Verify Manage Messages permission is enabled
- Check that bot role is positioned correctly
- Confirm permissions in specific channels (channel overrides can block permissions)
- Run
$permisosto see exact permissions
Bot can't timeout users
Bot can't timeout users
Solutions:
- Verify Moderate Members permission is enabled
- Ensure bot’s role is higher than target user’s highest role
- Check that the server allows timeouts (Server Settings → Moderation)
- Verify timeout duration is valid (10 seconds in ChimBot’s case)
Bot doesn't see messages
Bot doesn't see messages
Solutions:
- Enable Message Content Intent in Discord Developer Portal
- Wait 5-10 minutes after enabling intents (Discord caches intent settings)
- Restart the bot after enabling intents
- Verify bot has View Channels permission
Member join/leave events not firing
Member join/leave events not firing
Solutions:
- Enable Server Members Intent in Discord Developer Portal
- Verify
intents.members = Trueis set in code (line 15) - Check that the welcome channel ID is correct
- Restart bot after enabling intent
Best Practices
Principle of Least Privilege
Only grant permissions the bot actually needs. Don’t give Administrator permission unless absolutely necessary.
Test in Development Server
Test permission configurations in a test server before deploying to production.
Document Requirements
Keep a list of required permissions for server admins who invite your bot.
Handle Missing Permissions
The bot includes error handling for missing permissions (see
discord.Forbidden exceptions).Next Steps
Environment Setup
Configure API keys and tokens
Customization
Customize bot behavior and personality