discrawl

Peter Steinberger · steipete.discrawl

CLI for Discord with SQLite backend

discrawl mirrors Discord guild data into local SQLite so you can search, inspect, and query server history without depending on Discord search. It is a bot-token crawler. No user-token hacks. Data stays local. What It Does - discovers every guild the configured bot can access - syncs channels, threads, members, and message history into SQLite - maintains FTS5 search indexes for fast local text search - builds an offline member directory from archived profile payloads - extracts small text-like attachments into the local search index - records structured user and role mentions for direct querying - tails Gateway events for live updates, with periodic repair syncs - exposes read-only SQL for ad hoc analysis - keeps schema multi-guild ready while preserving a simple single-guild default UX

winget install --id steipete.discrawl --exact --source winget

Latest 0.2.0

Release Notes
  • much faster sync --full behavior on large archives: incomplete backfills are auto-batched, active-thread discovery is more precise, and steady-state refreshes avoid re-scanning every archived thread once history is already complete
  • sync --since now reliably honors the cutoff during bootstrap and full-history backfill, while still allowing a later sync --full without --since to continue older history
  • full-sync progress is more resilient: slow member crawls no longer hold message sync hostage, and stale unavailable-channel markers are cleared so recovered channels can sync again
  • offline member-profile search is now much richer: members search matches archived profile fields in addition to names
  • members show now accepts either Discord IDs or queries and can include recent messages plus message stats for the resolved member
  • archived profile extraction now surfaces stored fields like bio, pronouns, location, website, x, github, and discovered URLs when present
  • messages --sync can do a blocking pre-query refresh for the matching channel or guild scope before reading the local archive
  • messages --hours adds recent-hour slices without manual RFC3339 timestamps
  • messages --last returns the newest matching rows while still printing them oldest-to-newest

Installer type: zip

Architecture Scope Download SHA256
x64 Download 0A867B03AB26C68F98F5D954E43241F7F93595FCE7B47F148611E7C3A4D21C33
arm64 Download 07556C72698908454A3284259D4D4371DF807804282A6832A7A010B48F377C1E

Details

Homepage
https://github.com/steipete/discrawl
License
MIT
Publisher
Peter Steinberger
Support
https://github.com/steipete/discrawl/issues
Copyright
Copyright (c) 2026 Peter Steinberger
Moniker
discrawl

Older versions (1)

0.1.0
Architecture Scope Download SHA256
x64 Download 06923EE5744590EAE09B2F05707E2B34AE66A22271CF58FFB499B658826EEB05
arm64 Download BFDA6B4A2E9E2E716E2F47AE0D51668F6A56A59E2436C4FA66FAAA3B80069840