Discord Skill (Read-Only)
Reads Discord for financial research using
discord-cli, a command-line tool that syncs Discord messages locally and provides search, analytics, and export capabilities.
This skill is read-only. It is designed for financial research: searching trading server discussions, monitoring crypto/market groups, tracking sentiment in financial communities, and exporting messages for analysis. It does NOT support sending messages, reacting, editing, deleting, or any write operations.
Important: This tool uses your Discord token extracted from a local Discord client or browser session. No bot account needed.
Step 1: Ensure discord-cli Is Installed and Authenticated
Before running any command, install and check auth:
bash
# Install (requires Python 3.10+)
command -v discord || uv tool install kabi-discord-cli
# Check authentication
discord status && echo "AUTH_OK" || echo "AUTH_NEEDED"
If
, skip to Step 2. If
, guide the user:
Authentication
Method A: Auto-extract from local Discord client (recommended)
This extracts the token from the locally running Discord desktop app or browser session and saves it for future use.
Method B: Environment variable
bash
export DISCORD_TOKEN="<token from browser DevTools>"
discord status
Common auth issues
| Symptom | Fix |
|---|
| Open Discord desktop app or login in browser, then run |
| Re-login to Discord and run again |
| Token is invalid — re-extract with |
Step 2: Identify What the User Needs
Match the user's request to one of the read commands below, then use the corresponding command from
.
| User Request | Command | Key Flags |
|---|
| Auth check | | — |
| Who am I | | |
| List servers/guilds | | |
| List channels in a server | discord dc channels GUILD_ID
| |
| Server info | | |
| Server members | discord dc members GUILD_ID
| , |
| Fetch message history | discord dc history CHANNEL_ID
| |
| Sync messages locally | discord dc sync CHANNEL_ID
| |
| Sync all channels | | |
| Tail (live/latest) | discord dc tail CHANNEL_ID
| |
| Search server (API) | discord dc search GUILD_ID "QUERY"
| , |
| Search locally | | , , |
| Recent messages | | , , , |
| Today's messages | | , |
| Message stats | | |
| Top senders | | , , |
| Activity timeline | | , , , |
| Export messages | | , , |
Step 3: Execute the Command
General pattern
bash
# Use --json or --yaml for structured output
discord dc guilds --json
discord dc channels GUILD_ID --json
# Sync messages from a channel for local queries
discord dc sync CHANNEL_ID -n 1000
# Search for financial topics
discord dc search GUILD_ID "AAPL earnings" --json
discord search "BTC pump" -n 20 --json
# Recent activity
discord recent --hours 24 -n 50 --json
discord today -c CHANNEL_ID --json
Key rules
- Check auth first — run before any other command
- Use or for structured output when processing data programmatically
- Sync before local queries — run
discord dc sync CHANNEL_ID
before using , , etc.
- Use to limit results — start with 50–100 unless the user asks for more
- Use for server-side search (no sync needed); use for local search (requires prior sync)
- Use with , , , and to scope by time window
- NEVER execute write operations — this skill is read-only; do not send messages, react, edit, delete, or manage server settings
- NEVER run — this deletes local data and is not relevant for research
Output flags
| Flag | Purpose |
|---|
| JSON output |
| YAML output (default in non-TTY) |
| Limit number of results |
| Save output to file |
| Filter by channel |
Typical workflow for a new server
bash
# 1. List guilds to find the server
discord dc guilds --json
# 2. List channels in the target guild
discord dc channels GUILD_ID --json
# 3. Sync messages from channels of interest
discord dc sync CHANNEL_ID -n 2000
# 4. Search or analyze
discord search "price target" -n 20 --json
discord recent -c CHANNEL_ID --hours 24 --json
discord top -c CHANNEL_ID --hours 168 --json
Step 4: Present the Results
After fetching data, present it clearly for financial research:
- Summarize key content — highlight the most relevant messages for the user's financial research
- Include attribution — show username, message content, and timestamp
- For search results, group by relevance and highlight key themes, sentiment, or market signals
- For server/channel listings, present as a clean table with names and IDs
- Flag sentiment — note bullish/bearish sentiment, consensus vs contrarian views
- For analytics (, , ), present activity patterns and notable contributors
- Treat tokens as secrets — never echo Discord tokens to stdout
Step 5: Diagnostics
If authentication fails, re-run:
bash
discord auth --save
discord status
Ensure Discord desktop app is running or you are logged into Discord in a browser.
Error Reference
| Error | Cause | Fix |
|---|
| Not authenticated | Run with Discord open |
| HTTP 401 | Token expired/invalid | Re-login to Discord and re-extract token |
| HTTP 403 | No access to resource | Verify you have access to the server/channel |
| HTTP 429 | Rate limited | Wait a few minutes, then retry |
Reference Files
- — Complete read command reference with all flags and usage examples
Read the reference file when you need exact command syntax or detailed flag descriptions.