Discord
Connect a Discord bot to your ArgentOS agent for server and DM interactions.
Overview
ArgentOS supports Discord as a channel, allowing your agent to interact in server channels and direct messages. The bot uses Discord's Gateway (WebSocket) for real-time events and the REST API for sending messages.
Prerequisites
- A Discord account
- A Discord server where you have Manage Server permissions
- ArgentOS gateway running
Step 1: Create a Discord Application
- Go to the Discord Developer Portal
- Click New Application and give it a name
- Navigate to the Bot section
- Click Reset Token and copy the bot token
Step 2: Configure Intents
In the Bot section, enable these Privileged Gateway Intents:
- Message Content Intent -- required to read message text
- Server Members Intent -- optional, for member lookups
- Presence Intent -- optional, for online status
Step 3: Invite the Bot
- Go to OAuth2 > URL Generator
- Select scopes:
bot,applications.commands - Select permissions:
Send Messages,Read Message History,Embed Links,Attach Files - Copy the generated URL and open it in your browser
- Select your server and authorize
Step 4: Add the Channel
argent channels add discordPaste your bot token when prompted.
Configuration
{
"channels": {
"discord": {
"enabled": true,
"token": "your-discord-bot-token",
"intents": ["GUILDS", "GUILD_MESSAGES", "DIRECT_MESSAGES", "MESSAGE_CONTENT"],
"allowedGuilds": [],
"allowedUsers": [],
"channelScope": "collapsed"
}
}
}Channel Scope
The channelScope option controls how Discord channels map to agent sessions:
"collapsed"-- All channels in a guild share one session (default)"per-channel"-- Each channel gets its own session with separate context
Supported Features
| Feature | Supported |
|---|---|
| Text messages | Yes |
| Embeds | Yes |
| File attachments | Yes |
| DMs | Yes |
| Server channels | Yes |
| Slash commands | Planned |
| Voice channels | No |
| Message history read | Planned |