discrawl · git:20260913.41dd696 · 2026-09-13 · sha256 7a12b5bd321bc051
discrawl git:20260913.41dd696A
Immutable. This exact content is served forever at /api/v1/blob/7a12b5bd321bc051.
---
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
---
# Discrawl
Use local Discord archives first. For recent/current questions, check
`discrawl status --json`; use `discrawl doctor` for source/config readiness.
Refresh only when stale, missing the requested scope, or explicitly requested.
```bash
discrawl sync --source wiretap # local Discord Desktop artifacts
discrawl sync # configured source; bot API requires credentials
```
Use `--full` only for deliberate historical backfills. Do not interrupt another
archive writer to resolve a busy/locked database. Resolve configured paths
instead of assuming default macOS, XDG, or legacy locations.
## Read Bounded Slices
```bash
DISCRAWL_NO_AUTO_UPDATE=1 discrawl search --limit 20 "query"
discrawl messages --channel '<channel>' --days 7 --all
discrawl dms --last 20
DISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql "select count(*) as messages from messages;"
```
`DISCRAWL_NO_AUTO_UPDATE=1` suppresses git-share updates during read smokes.
`discrawl sql` is read-only by default and accepts SQL arguments or stdin. Use
it for exact counts/joins when normal reads are too coarse; never use
`--unsafe --confirm` without an explicitly requested and reviewed database
mutation. Consult subcommand help for filters. Report absolute date spans,
channel/DM names, counts, freshness, and source gaps.
## Source Boundaries
Desktop wiretap reads local artifacts; it must not extract credentials, use
user tokens, call Discord as the user, or write Discord application storage.
Bot sync needs configured bot credentials; never infer availability. Desktop
DMs are local-only, not part of the published Git snapshot. Git-share snapshots
must exclude secrets and `@me` DM rows.
For implementation work or a genuinely missing CLI feature, verify the checkout
remote is `openclaw/discrawl` and follow its instructions. Do not assume a
machine-specific historical checkout path.
## ClawSweeper Sandbox
Use the sandbox reader only:
```bash
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.