Install
openclaw skills install discord-digestGenerate formatted digests from Discord servers using a user token. Reads messages from selected channels/threads and creates concise summaries with links. U...
openclaw skills install discord-digestGenerate formatted digests from Discord servers. Reads channels via user token (no bot required).
Get token from browser: Discord (web) → F12 → Network → any API request → Headers → Authorization value.
python3 scripts/config_manager.py set-token "YOUR_TOKEN"
List all servers the user belongs to:
python3 scripts/discord_api.py "TOKEN" guilds
List channels for a specific server:
python3 scripts/discord_api.py "TOKEN" channels SERVER_ID
python3 scripts/config_manager.py add-server '{"id":"SERVER_ID","name":"Server Name","channels":[{"id":"CH_ID","name":"channel-name","type":"text"}]}'
python3 scripts/run_digest.py [--hours 24] [--server SERVER_ID]
python3 scripts/discord_api.py "TOKEN" validate
Before each digest run, the token is validated via GET /users/@me. If it returns 401:
python3 scripts/config_manager.py set-token "NEW_TOKEN"**#SERVER_NAME DD.MM.YY**
[→post](message_url) | 📝 channel-name
**Post Title**
Details: Brief 1-sentence summary of the post content
Links: [source 1](url) | [source 2](url)
Located at ~/.openclaw/workspace/config/discord-digest.json:
{
"discord_token": "...",
"servers": [
{
"id": "829331298878750771",
"name": "DOUBLETOP SQUAD",
"channels": [
{"id": "1238663837515911198", "name": "drops-alerts", "type": "text"}
]
}
],
"digest_period_hours": 24
}
| Script | Purpose |
|---|---|
discord_api.py | Discord HTTP API client (user token auth) |
digest_formatter.py | Format messages into digest |
config_manager.py | Manage token, servers, channels config |
run_digest.py | Main entry: validate → read → format |
Discord API rate limits: ~1 req/sec with automatic retry on 429. The scripts include built-in rate limit handling with exponential backoff.
urllib, json)