/agent-discord
Interact with Discord servers - send messages, read channels, manage reactions
$ npx -y skills add agent-messenger/agent-messenger --skill agent-discord --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/agent-discord
Context preview
The summary Claude sees to decide when to auto-load this skill.
Interact with Discord servers - send messages, read channels, manage reactions
SKILL.md
agent-discord.SKILL.mdname: agent-discord
description: Interact with Discord servers - send messages, read channels, manage reactions
version: 2.36.0
allowed-tools: Bash(agent-discord:*)
metadata:
openclaw:
requires:
bins:
- agent-discord
install:
- kind: node
package: agent-messenger
bins: [agent-discord]Agent Discord
A TypeScript CLI tool that enables AI agents and humans to interact with Discord servers through a simple command interface. Features seamless token extraction from the Discord desktop app (with browser fallback) and multi-server support.
Quick Start
# Get server snapshot (credentials are extracted automatically)
agent-discord snapshot
# Send a message
agent-discord message send <channel-id> "Hello from AI agent!"
# List channels
agent-discord channel list
Authentication
Credentials are extracted automatically from the Discord desktop app (or Chromium browser as fallback) on first use. No manual setup required — just run any command and authentication happens silently in the background.
On macOS, the system may prompt for your Keychain password the first time (required to decrypt Discord's stored token). This is a one-time prompt.
**Obtaining tokens** — two options:
- **`agent-discord auth qr` — recommended**: signs in by scanning a QR code with the Discord mobile app (Settings → Scan QR Code). This is the safest and most reliable method — it authenticates through Discord's official Remote Auth flow instead of reading credentials off disk, and needs no desktop app or browser. Requires a phone to scan, so it cannot run headlessly.
- **`agent-discord auth extract`**: extracts from the Discord desktop app first, falling back to Chromium browsers if the app isn't installed. Best for automated/headless use where no phone is available to scan.
QR Code Sign-In (Recommended)
# Generate a QR code and wait for you to scan it with the Discord mobile app
agent-discord auth qr
# Show protocol details while debugging
agent-discord auth qr --debug
Open the Discord mobile app → **Settings → Scan QR Code**, scan the printed code, and confirm on your phone. The token (plus all discovered servers) is validated and stored like `auth extract`. The QR code expires after ~150 seconds — re-run the command to generate a fresh one. See [references/authentication.md](references/authentication.md) for the full flow.
Multi-Server Support
# List all available servers
agent-discord server list
# Switch to a different server
agent-discord server switch <server-id>
# Show current server
agent-discord server current
# Check auth status
agent-discord auth status
Memory
The agent maintains a `~/.config/agent-messenger/MEMORY.md` file as persistent memory across sessions. This is agent-managed — the CLI does not read or write this file. Use the `Read` and `Write` tools to manage your memory file.
Reading Memory
At the **start of every task**, read `~/.config/agent-messenger/MEMORY.md` using the `Read` tool to load any previously discovered server IDs, channel IDs, user IDs, and preferences.
- If the file doesn't exist yet, that's fine — proceed without it and create it when you first have useful information to store.
- If the file can't be read (permissions, missing directory), proceed without memory — don't error out.
Writing Memory
After discovering useful information, update `~/.config/agent-messenger/MEMORY.md` using the `Write` tool. Write triggers include:
- After discovering server IDs and names (from `server list`, `snapshot`, etc.)
- After discovering useful channel IDs and names (from `channel list`, `snapshot`, etc.)
- After discovering user IDs and names (from `user list`, `user me`, etc.)
- After the user gives you an alias or preference ("call this the dev server", "my main channel is X")
- After discovering channel structure (categories, voice channels)
When writing, include the **complete file content** — the `Write` tool overwrites the entire file.
What to Store
- Server IDs with names
- Channel IDs with names and categories
- User IDs with display names
- User-given aliases ("dev server", "announcements channel")
- Commonly used thread IDs
- Any user preference expressed during interaction
What NOT to Store
Never store tokens, credentials, or any sensitive data. Never store full message content (just IDs and channel context). Never store file upload contents.
Handling Stale Data
If a memorized ID returns an error (channel not found, server not found), remove it from `MEMORY.md`. Don't blindly trust memorized data — verify when something seems off. Prefer re-listing over using a memorized ID that might be stale.
Format / Example
# Agent Messenger Memory
## Discord Servers
- `1234567890123456` — Acme Dev (default)
- `9876543210987654` — Open Source Community
## Channels (Acme Dev)
- `1111111111111111` — #general (General category)
- `2222222222222222` — #engineering (Engineering category)
- `3333333333333333` — #deploys (Engineering category)
## Users (Acme Dev)
- `4444444444444444` — Alice (server owner)
- `5555555555555555` — Bob
## Aliases
- "dev server" → `1234567890123456` (Acme Dev)
- "deploys" → `3333333333333333` (#deploys in Acme Dev)
## Notes
- User prefers --pretty output for snapshots
- Main server is "Acme Dev"
> Memory lets you skip repeated `channel list` and `server list` calls. When you already know an ID from a previous session, use it directly.
Commands
Auth Commands
# Extract token from Discord desktop app or browser (usually automatic)
agent-discord auth extract
agent-discord auth extract --debug
agent-discord auth extract --browser-profile ~/browser-data
agent-discord auth extract --browser-profile "$HOME/work-profile,$HOME/personal-profile"
# --browser-profile accepts repeatable or comma-separated Chromium profile/user-data dirs
# Sign in by scanning a QR code with the Discord m
Read more
name: agent-discord
description: Interact with Discord servers - send messages, read channels, manage reactions
version: 2.36.0
allowed-tools: Bash(agent-discord:*)
metadata:
openclaw:
requires:
bins:
- agent-discord
install:
- kind: node
package: agent-messenger
bins: [agent-discord]Agent Discord
A TypeScript CLI tool that enables AI agents and humans to interact with Discord servers through a simple command interface. Features seamless token extraction from the Discord desktop app (with browser fallback) and multi-server support.
Quick Start
# Get server snapshot (credentials are extracted automatically) agent-discord snapshot # Send a message agent-discord message send <channel-id> "Hello from AI agent!" # List channels agent-discord channel list
Authentication
Credentials are extracted automatically from the Discord desktop app (or Chromium browser as fallback) on first use. No manual setup required — just run any command and authentication happens silently in the background.
On macOS, the system may prompt for your Keychain password the first time (required to decrypt Discord's stored token). This is a one-time prompt.
**Obtaining tokens** — two options:
- **`agent-discord auth qr` — recommended**: signs in by scanning a QR code with the Discord mobile app (Settings → Scan QR Code). This is the safest and most reliable method — it authenticates through Discord's official Remote Auth flow instead of reading credentials off disk, and needs no desktop app or browser. Requires a phone to scan, so it cannot run headlessly.
- **`agent-discord auth extract`**: extracts from the Discord desktop app first, falling back to Chromium browsers if the app isn't installed. Best for automated/headless use where no phone is available to scan.
QR Code Sign-In (Recommended)
# Generate a QR code and wait for you to scan it with the Discord mobile app agent-discord auth qr # Show protocol details while debugging agent-discord auth qr --debug
Open the Discord mobile app → **Settings → Scan QR Code**, scan the printed code, and confirm on your phone. The token (plus all discovered servers) is validated and stored like `auth extract`. The QR code expires after ~150 seconds — re-run the command to generate a fresh one. See [references/authentication.md](references/authentication.md) for the full flow.
Multi-Server Support
# List all available servers agent-discord server list # Switch to a different server agent-discord server switch <server-id> # Show current server agent-discord server current # Check auth status agent-discord auth status
Memory
The agent maintains a `~/.config/agent-messenger/MEMORY.md` file as persistent memory across sessions. This is agent-managed — the CLI does not read or write this file. Use the `Read` and `Write` tools to manage your memory file.
Reading Memory
At the **start of every task**, read `~/.config/agent-messenger/MEMORY.md` using the `Read` tool to load any previously discovered server IDs, channel IDs, user IDs, and preferences.
- If the file doesn't exist yet, that's fine — proceed without it and create it when you first have useful information to store.
- If the file can't be read (permissions, missing directory), proceed without memory — don't error out.
Writing Memory
After discovering useful information, update `~/.config/agent-messenger/MEMORY.md` using the `Write` tool. Write triggers include:
- After discovering server IDs and names (from `server list`, `snapshot`, etc.)
- After discovering useful channel IDs and names (from `channel list`, `snapshot`, etc.)
- After discovering user IDs and names (from `user list`, `user me`, etc.)
- After the user gives you an alias or preference ("call this the dev server", "my main channel is X")
- After discovering channel structure (categories, voice channels)
When writing, include the **complete file content** — the `Write` tool overwrites the entire file.
What to Store
- Server IDs with names
- Channel IDs with names and categories
- User IDs with display names
- User-given aliases ("dev server", "announcements channel")
- Commonly used thread IDs
- Any user preference expressed during interaction
What NOT to Store
Never store tokens, credentials, or any sensitive data. Never store full message content (just IDs and channel context). Never store file upload contents.
Handling Stale Data
If a memorized ID returns an error (channel not found, server not found), remove it from `MEMORY.md`. Don't blindly trust memorized data — verify when something seems off. Prefer re-listing over using a memorized ID that might be stale.
Format / Example
# Agent Messenger Memory ## Discord Servers - `1234567890123456` — Acme Dev (default) - `9876543210987654` — Open Source Community ## Channels (Acme Dev) - `1111111111111111` — #general (General category) - `2222222222222222` — #engineering (Engineering category) - `3333333333333333` — #deploys (Engineering category) ## Users (Acme Dev) - `4444444444444444` — Alice (server owner) - `5555555555555555` — Bob ## Aliases - "dev server" → `1234567890123456` (Acme Dev) - "deploys" → `3333333333333333` (#deploys in Acme Dev) ## Notes - User prefers --pretty output for snapshots - Main server is "Acme Dev"
> Memory lets you skip repeated `channel list` and `server list` calls. When you already know an ID from a previous session, use it directly.
Commands
Auth Commands
# Extract token from Discord desktop app or browser (usually automatic) agent-discord auth extract agent-discord auth extract --debug agent-discord auth extract --browser-profile ~/browser-data agent-discord auth extract --browser-profile "$HOME/work-profile,$HOME/personal-profile" # --browser-profile accepts repeatable or comma-separated Chromium profile/user-data dirs # Sign in by scanning a QR code with the Discord m
Your agent messages as you — not as a bot One CLI for Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, WeChat, iMessage, Instagram, KakaoTalk, and Channel Talk.
Repo: agent-messenger/agent-messenger
Other skills on agent-messenger.
- /agent-channeltalk
Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
Open skill - /agent-channeltalkbot
Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots
Open skill - /agent-discordbot
Interact with Discord servers using bot tokens - send messages, read channels, manage reactions
Open skill - /agent-imessage
Interact with iMessage on a Mac via the imsg tool - send messages, read chats, watch for new messages
Open skill - /agent-instagram
Interact with Instagram DMs - send messages, read conversations, manage accounts
Open skill - /agent-kakaotalk
Interact with KakaoTalk - send messages, read chats, manage conversations
Open skill

