← Back to Skills Marketplace
nikolaybohdanov

Discord Digest

by Nikoxyz · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
679
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install discord-digest
Description
Generate formatted digests from Discord servers using a user token. Reads messages from selected channels/threads and creates concise summaries with links. U...
README (SKILL.md)

Discord Digest

Generate formatted digests from Discord servers. Reads channels via user token (no bot required).

Setup

1. Set Discord User Token

Get token from browser: Discord (web) → F12 → Network → any API request → Headers → Authorization value.

python3 scripts/config_manager.py set-token "YOUR_TOKEN"

2. Scan & Select Servers

List all servers the user belongs to:

python3 scripts/discord_api.py "TOKEN" guilds

3. Scan & Select Channels

List channels for a specific server:

python3 scripts/discord_api.py "TOKEN" channels SERVER_ID

4. Add Server to Config

python3 scripts/config_manager.py add-server '{"id":"SERVER_ID","name":"Server Name","channels":[{"id":"CH_ID","name":"channel-name","type":"text"}]}'

Usage

Generate Digest

python3 scripts/run_digest.py [--hours 24] [--server SERVER_ID]

Validate Token

python3 scripts/discord_api.py "TOKEN" validate

Token Expiry Handling

Before each digest run, the token is validated via GET /users/@me. If it returns 401:

  1. Notify user: "⚠️ Discord token expired, send new token"
  2. Wait for new token
  3. Update config: python3 scripts/config_manager.py set-token "NEW_TOKEN"
  4. Retry digest

Output Format

**#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)

Config File

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
}

Scripts

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

Rate Limits

Discord API rate limits: ~1 req/sec with automatic retry on 429. The scripts include built-in rate limit handling with exponential backoff.

Important Notes

  • User tokens may violate Discord ToS — use at your own risk for personal use only
  • Token can expire; the skill includes validation and notification flow
  • No external dependencies — uses only Python 3 stdlib (urllib, json)
Usage Guidance
This skill is coherent and implements the documented digest functionality, but it requires you to supply a Discord "user token" (the Authorization header value copied from your browser). That token grants full account access if leaked or misused. Before installing: (1) understand this likely violates Discord ToS and use at your own risk; (2) prefer using a bot token or a separate, limited account instead of your main account token; (3) restrict filesystem permissions on the config file (~/.openclaw/workspace/config/discord-digest.json), and consider setting DISCORD_DIGEST_CONFIG_DIR to a secure location; (4) review the included scripts yourself (they only call discord.com endpoints currently) and run them in a trusted, isolated environment; (5) rotate your Discord token (change password / enable 2FA) if you ever suspect it was exposed. If you need lower risk, request a bot-based implementation that uses an explicit bot token and OAuth-based least-privilege access.
Capability Analysis
Type: OpenClaw Skill Name: discord-digest Version: 1.1.0 The skill's core functionality is benign, aiming to generate Discord digests. However, it is classified as 'suspicious' due to significant security vulnerabilities related to handling the Discord user token. Specifically, the `scripts/discord_api.py` script, as instructed in `SKILL.md` and `README.md`, passes the sensitive Discord user token directly as a command-line argument, exposing it in process lists (`ps aux`), shell history, and logs. Additionally, the `scripts/config_manager.py` stores this token in plain text within `~/.openclaw/workspace/config/discord-digest.json`. These are critical vulnerabilities that could lead to unauthorized access if the system is compromised, but they do not indicate intentional malicious behavior by the skill itself, such as exfiltrating the token to an external attacker-controlled server.
Capability Assessment
Purpose & Capability
The name/description match the implementation: the scripts use a Discord user token to read guilds, channels, threads and messages and format digests. However, the registry metadata does not declare the sensitive credential (the skill relies on a Discord user token kept in a config file rather than an explicit declared primary credential), which is a gap between manifest and actual requirements.
Instruction Scope
SKILL.md and README give concrete, narrow instructions (obtain a user token via browser devtools, run the provided Python scripts). The runtime instructions and scripts only perform Discord API reads and local formatting; they do not reference unrelated system files or external endpoints other than discord.com.
Install Mechanism
No install spec is provided (scripts run directly with Python). All code is included in the skill bundle and there are no downloads from external/untrusted URLs — low install risk.
Credentials
The skill requires a Discord user token (stored in ~/.openclaw/workspace/config/discord-digest.json by default). That token is highly privileged (full user account access) even though the code only issues read requests. The README mentions an optional DISCORD_DIGEST_CONFIG_DIR env var for overriding config location; that environment variable is not declared in registry metadata. Storing the token in plaintext on disk and asking users to copy the browser Authorization header are both sensitive practices.
Persistence & Privilege
always:false and the skill is user-invocable (normal). The skill persists the token and server list to a local config file under the user's OpenClaw workspace; it does not modify other skills or system-wide settings. Persisting a user token locally increases blast radius if the machine or workspace is shared or compromised.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install discord-digest
  3. After installation, invoke the skill by name or use /discord-digest
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
All text translated to English for international audience
v1.0.0
Initial release: Discord server digest with user token auth, multi-server/channel selection, formatted output
Metadata
Slug discord-digest
Version 1.1.0
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Discord Digest?

Generate formatted digests from Discord servers using a user token. Reads messages from selected channels/threads and creates concise summaries with links. U... It is an AI Agent Skill for Claude Code / OpenClaw, with 679 downloads so far.

How do I install Discord Digest?

Run "/install discord-digest" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Discord Digest free?

Yes, Discord Digest is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Discord Digest support?

Discord Digest is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Discord Digest?

It is built and maintained by Nikoxyz (@nikolaybohdanov); the current version is v1.1.0.

💬 Comments