Skip to main content

discord-cli

Discord CLI with YAML-first structured output for AI agents — fetch chat history, search messages, sync channels, and AI analysis

Source facts

Repository
jackwener/discord-cli
Last source activity
March 14, 2026 at 12:23
Detected SKILL.md language
English
Stars
135
Forks
29

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
discord-cli
description
Discord CLI with YAML-first structured output for AI agents — fetch chat history, search messages, sync channels, and AI analysis
author
jackwener
version
0.2.8
tags
["discord","chat","sync","ai-analysis","cli"]
# discord-cli Skill CLI tool for Discord — fetch chat history, search messages, sync channels, AI analysis. ## Agent Defaults When you need machine-readable output: 1. Prefer `--yaml` for structured output unless a strict JSON parser is required. 2. Use `-n` to keep result sets small and token-efficient. 3. Use `-o <file>` with `export` to save large datasets to a file. 4. Prefer specific queries over broad ones. Example: use `discord search "keyword" -c general --yaml` instead of scanning all channels. 5. Non-TTY stdout defaults to YAML automatically. Use `OUTPUT=yaml|json|rich|auto` to override. 6. All machine-readable output uses the envelope documented in [SCHEMA.md](./SCHEMA.md). ## Prerequisites - Python 3.10+ ```bash # Install uv tool install kabi-discord-cli # Or: pipx install kabi-discord-cli # Upgrade to latest (recommended to avoid API errors) uv tool upgrade kabi-discord-cli # Or: pipx upgrade kabi-discord-cli ``` - Token configured via `discord auth --save` ## Commands ### Auth & Account ```bash discord auth --save # Auto-extract & save token discord status # Check token validity (exit 0 = valid) discord status --yaml # Structured auth status discord whoami # User profile discord whoami --yaml # Structured profile ``` ### Servers & Channels ```bash discord dc guilds # List servers discord dc guilds --yaml # YAML output discord dc channels <GUILD> # List text channels discord dc info <GUILD> # Server details discord dc members <GUILD> # List members ``` ### Fetching Messages ```bash discord dc history <CHANNEL_ID> -n 1000 # Fetch history discord dc sync <CHANNEL_ID> # Incremental sync discord dc sync-all # Sync all known channels discord dc tail <CHANNEL_ID> -n 20 # Follow new messages live discord dc search <GUILD> "keyword" # Native Discord search ``` ### Querying Stored Messages ```bash discord search "keyword" # Search local DB discord search "keyword" -c general # Filter by channel discord stats # Per-channel stats discord today # Today's messages discord today -c general --yaml # Filter + YAML discord top # Most active senders discord top --hours 24 # Last 24h only discord timeline # Activity chart discord timeline --by hour # Hourly granularity ``` ### Data ```bash discord export <CHANNEL> -f json -o out.json # Export discord purge <CHANNEL> -y # Delete stored ``` ## Workflow: Before Using ```bash # Always run this first to ensure token is valid discord auth --save # Auto-extract token from browser (if needed) discord status # Verify token works ``` ## Workflow: Daily Sync ```bash # 1. First time: fetch history for channels you care about discord dc guilds --yaml discord dc channels <guild_id> --yaml discord dc history <channel_id> -n 2000 # 2. Daily: incremental sync discord dc sync-all # 3. Read today's messages (structured output for agents) discord today --yaml ``` ## Notes - Uses Discord user token (not bot token) for read-only access - Rate limits are handled automatically with retry - Messages stored in SQLite at `~/Library/Application Support/discord-cli/messages.db` ## Safety Notes - Do not ask users to share raw token values in chat logs. - Prefer auto-extraction via `discord auth --save` over manual token input. - Token is stored locally and never uploaded.
View on GitHub