ワンクリックで
discrawl
Discord archive: search, sync freshness, DMs, summaries, TUI, repo/release work.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Discord archive: search, sync freshness, DMs, summaries, TUI, repo/release work.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
QQ channel management skill. Use qqbot_channel_api for explicit QQ channel-management requests; confirm write, delete, and bulk actions before calling authenticated QQ Open Platform endpoints.
QQBot rich media send and receive support. Use <qqmedia> tags only for explicit media send/view requests, treating inbound attachment paths as private current-conversation context.
QQBot scheduled reminders. Use only for explicit user requests to create, list, or cancel one-time or recurring QQ reminders; ask for missing time, content, or timezone before scheduling.
Manage OpenClaw GitHub Actions and Blacksmith CI capacity, runner-registration budgets, fanout caps, main-push debounce, shard sizing, hosted-runner offload, queue health, and safe ramp-down/ramp-up changes. Use when tuning `.github/workflows/*`, `docs/ci.md`, CI runner labels, matrix `max-parallel`, ClawSweeper/Blacksmith burst protection, CodeQL runner placement, or investigating slow/queued OpenClaw CI.
Run or recover OpenClaw macOS release signing, notarization, appcast, and asset promotion.
| name | discrawl |
| description | Discord archive: search, sync freshness, DMs, summaries, TUI, repo/release work. |
| metadata | {"openclaw":{"homepage":"https://github.com/openclaw/discrawl","requires":{"bins":["discrawl"]},"install":[{"kind":"go","module":"github.com/openclaw/discrawl/cmd/discrawl@latest","bins":["discrawl"]}]}} |
Use local Discord archive data first for Discord questions. Hit Discord APIs only when the archive is stale, missing the requested scope, or the user asks for current external context.
${XDG_DATA_HOME:-~/.local/share}/discrawl/discrawl.db on Linux or
~/Library/Application Support/discrawl/discrawl.db on macOS~/.discrawl/config.tomlopenclaw/discrawl; use ~/GIT/_Perso/discrawl only after verifying
its remote targets openclaw/discrawl, otherwise use a fresh checkoutdiscrawl; fallback to go run ./cmd/discrawl from the repo
if the installed binary is staleFor recent/current questions, check freshness before analysis:
discrawl status --json
For precise freshness from the default database:
# Discrawl uses macOS ~/Library defaults unless XDG_DATA_HOME is explicitly set.
case "$(uname -s)" in
Darwin)
db="$HOME/Library/Application Support/discrawl/discrawl.db"
;;
*)
db="${XDG_DATA_HOME:-$HOME/.local/share}/discrawl/discrawl.db"
;;
esac
sqlite3 "$db" \
"select coalesce(max(updated_at),'') from sync_state where scope like 'channel:%';"
Routine diagnostics:
discrawl doctor
Desktop-local refresh:
discrawl sync --source wiretap
Bot API latest refresh, when credentials are available:
discrawl sync
Use --full only for deliberate historical backfills:
discrawl sync --full
If SQLite reports busy/locked, check for stray discrawl processes before retrying.
Use root or subcommand help for syntax: discrawl --help,
discrawl help search, discrawl search --help. Use
DISCRAWL_NO_AUTO_UPDATE=1 for read smokes when you do not want git-share
updates.
Common commands:
DISCRAWL_NO_AUTO_UPDATE=1 discrawl search --limit 20 "query"
discrawl messages --channel '#maintainers' --days 7 --all
discrawl dms --last 20
discrawl tui --dm
DISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql "select count(*) from messages;"
Use discrawl sql for exact counts, joins, and ranking queries when normal
CLI reads are too coarse. The command is read-only by default, accepts SQL as
args or stdin, and supports --json for agent parsing.
Useful examples:
DISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql "select count(*) as messages from messages;"
DISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql "select coalesce(nullif(c.name, ''), m.channel_id) as channel, count(*) as messages from messages m left join channels c on c.id = m.channel_id group by m.channel_id order by messages desc limit 20;"
DISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql "select coalesce(nullif(mm.display_name, ''), nullif(mm.global_name, ''), nullif(mm.username, ''), m.author_id) as author, count(*) as messages from messages m left join members mm on mm.guild_id = m.guild_id and mm.user_id = m.author_id group by m.guild_id, m.author_id order by messages desc limit 20;"
Never use --unsafe --confirm unless the user explicitly asks for a database
mutation and the write has been reviewed.
When the installed CLI lacks a new feature, build or run from a verified
openclaw/discrawl checkout before concluding the feature is missing.
Bot API sync requires configured Discord bot credentials; do not invent token
availability. Desktop wiretap mode reads local Discord Desktop artifacts and
must not extract credentials, use user tokens, call Discord as the user, or
write to Discord application storage. Wiretap/Desktop cache DMs are local-only
and must not be described as part of the published Git snapshot. Git-share
snapshots must not include secrets or @me DM rows.
For repo edits, prefer existing Go gates:
GOWORK=off go test ./...
Then run targeted CLI smoke for the touched surface, for example:
discrawl doctor
discrawl status --json
DISCRAWL_NO_AUTO_UPDATE=1 discrawl search --limit 5 "test"
Use the sandbox reader only:
discrawl-sandbox search --limit 20 "query"
discrawl-sandbox messages --channel clawtributors --days 7 --all
discrawl-sandbox status --json
This reader imports https://github.com/openclaw/discord-store.git into
/root/clawsweeper-sandbox-workspace/.discrawl/discrawl.db with
discord.token_source = "none". The published Git snapshot is public-channel
filtered; do not use /root/.discrawl/config.toml or the rich writer DB from
sandboxed public Discord sessions.