Retrieve recent messages from a channel (limit 1-100). (docs)
GET /channels/{channel.id}/messages
🟢 low
— no
What the agent can do
Capability
API call
Risk
Needs approval
Post a new message to a channel as the bot. (docs)
POST /channels/{channel.id}/messages
🟡 medium
✅ yes
Connecting it
You provide: Bot token
Where to get it: Discord Developer Portal → New Application → Bot → copy token. Invite the bot to a server via an OAuth2 URL with scope=bot and a permissions integer (VIEW_CHANNEL, READ_MESSAGE_HISTORY, SEND_MESSAGES).
Permissions/scopes:bot
Account setup
Account needed: A Discord account (verified email; 2FA may be required to manage apps).
App registration: Developer Portal → New Application → add Bot → copy token + enable needed privileged intents (MESSAGE_CONTENT for reading content) → invite bot to the server via an OAuth2 scope=bot URL with the right permissions integer.
Verification required: Bot verification is mandatory once the bot is in 100+ servers, at which point MESSAGE_CONTENT needs explicit approval. Below 100 servers the intent can just be toggled on.
Testing: Develop against your own private test server where you can grant the bot all needed permissions; there is no separate sandbox.
Limits
Per-route bucket model plus a global ~50 req/sec cap. HTTP 429 with retry_after on exceed; sustained invalid requests trigger temporary IP bans.