67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# Install
|
|
|
|
Discrawl is a single Go binary. Install via Homebrew or build from source.
|
|
|
|
## Homebrew
|
|
|
|
```bash
|
|
brew install steipete/tap/discrawl
|
|
discrawl --version
|
|
```
|
|
|
|
The tap auto-installs from `steipete/tap`.
|
|
|
|
## From source
|
|
|
|
Requires Go `1.26+`.
|
|
|
|
```bash
|
|
git clone https://github.com/openclaw/discrawl.git
|
|
cd discrawl
|
|
go build -o bin/discrawl ./cmd/discrawl
|
|
./bin/discrawl --version
|
|
```
|
|
|
|
If you do not put `discrawl` on `PATH`, replace `discrawl` with `./bin/discrawl` in any example below.
|
|
|
|
## Quick start (with bot token)
|
|
|
|
```bash
|
|
export DISCORD_BOT_TOKEN="your-bot-token"
|
|
discrawl init
|
|
discrawl doctor
|
|
discrawl sync --full
|
|
discrawl sync
|
|
discrawl search "panic: nil pointer"
|
|
discrawl tail
|
|
```
|
|
|
|
`init` discovers accessible guilds and writes `~/.discrawl/config.toml`. If exactly one guild is available, it becomes the default automatically.
|
|
|
|
`doctor` verifies the config loads, the token resolves, the bot can reach the Gateway, and the local DB and FTS index are wired up.
|
|
|
|
## Quick start (Git-only reader)
|
|
|
|
No Discord credentials required. You read a private Git snapshot another machine published.
|
|
|
|
```bash
|
|
discrawl subscribe https://github.com/example/discord-archive.git
|
|
discrawl search "launch checklist"
|
|
discrawl messages --channel general --hours 24
|
|
```
|
|
|
|
`subscribe` writes a token-free config (`discord.token_source = "none"`) and imports the snapshot. Read commands auto-refresh when the local snapshot is older than `15m`.
|
|
|
|
## Default runtime paths
|
|
|
|
- config: `~/.discrawl/config.toml`
|
|
- database: `~/.discrawl/discrawl.db`
|
|
- cache: `~/.discrawl/cache/`
|
|
- logs: `~/.discrawl/logs/`
|
|
|
|
## Next steps
|
|
|
|
- [Bot setup](bot-setup.html) - intents, permissions, token sources
|
|
- [Configuration](configuration.html) - the full TOML shape and override rules
|
|
- [`sync`](commands/sync.html) - the main archive command
|