← ClaudeAtlas

discordbotlisted

List channels, read recent messages, send channel messages, and send a single user-initiated DM on Discord using the user's own bot via the Discord REST API.
AceDataCloud/Skills · ★ 13 · AI & Automation · score 73
Install: claude install-skill AceDataCloud/Skills
We drive the [Discord API](https://discord.com/developers/docs/reference) with `curl + jq` using the user's **bot** token in `$DISCORDBOT_TOKEN`. The auth header is `Authorization: Bot $DISCORDBOT_TOKEN` — note the literal `Bot ` prefix (NOT `Bearer`). Base URL is `https://discord.com/api/v10`. This acts as the user's registered **bot**, so it can only see and act in servers (guilds) the bot has been **invited to** and only where it has the relevant permission (View Channels / Send Messages / Read Message History). A `403 Forbidden` (code 50001 "Missing Access" / 50013 "Missing Permissions") almost always means the bot isn't in that server or lacks the permission — tell the user to invite the bot or grant the permission rather than retrying. Errors are JSON `{"code": <n>, "message": "<reason>"}`. A `401` means the bot token is wrong/reset — ask the user to re-paste it at `auth.acedata.cloud/user/connections`. A `429` carries `retry_after` (seconds) — sleep that long, then retry; never parallelize. ## Sending safety - Before sending, confirm the exact destination and final content with the user. Sending is irreversible. - A DM must be initiated by a recipient action, such as asking the bot for details by replying with an advertised keyword. Server membership, a public profile, or appearing in a member list is not consent. - Send to exactly one recipient per invocation. Never enumerate members, create DM channels in a loop, or send unsolicited/bulk outreach. - For a