Skip to main content
Esta página ainda está em inglês. A tradução para português está em andamento.

Discord Integration

Discord integration enables community monitoring, message retrieval, channel management, and automated pulse reports via the @pulse agent.
Discord Channel vs Discord API: This page covers the Discord API integration used by @pulse for community monitoring (reading messages, sending announcements, managing channels). There is also a Discord Channel — a bidirectional chat bridge that pushes DMs into your Claude Code session. They are independent and can coexist. See the Channels Guide for channel setup.

Setup

1. Create a Discord Bot

  1. Go to discord.com/developers/applications
  2. Click New Application, give it a name (e.g., “EvoNexus Bot”)
  3. Go to Bot in the sidebar
  4. Click Reset Token and copy the token — you will need this
Under Privileged Gateway Intents, enable:
  • Message Content Intent (required to read messages)
  • Server Members Intent (optional, for member stats)

2. Get Your Guild ID

  1. In Discord, go to User Settings > Advanced and enable Developer Mode
  2. Right-click your server name in the sidebar
  3. Click Copy Server ID — this is your Guild ID

3. Invite the Bot

Build an invite URL with the required permissions:
Permission 66560 includes:
  • Read Messages / View Channels
  • Read Message History
  • Send Messages
Replace YOUR_APP_ID with the Application ID from the developer portal (found on the General Information page).

4. Configure .env

You can set these via the terminal or the dashboard .env editor (Config > .env).

5. Test the Connection

This runs the daily community pulse routine, which reads messages from all text channels in the last 24 hours and generates an HTML report. If the bot token and guild ID are correct, you will see output confirming the number of messages fetched.

What It Does

The Discord integration powers several routines and skills:

Automated Routines

These routines use Discord data and run on schedule:

Channel Filtering

By default, the community pulse reads all text channels. To filter specific channels, configure them in config/workspace.yaml:

Troubleshooting

“401 Unauthorized” — Your bot token is invalid or expired. Generate a new one in the developer portal. “Missing Access” — The bot is not in the server, or lacks the Read Messages permission. Re-invite with the correct permissions. No messages returned — Check that Message Content Intent is enabled in the bot settings. Without it, message content is empty for bots in 100+ member servers.