init: telegram bot bridging messages to claude sessions

Async Rust bot (teloxide + tokio) that:
- Authenticates users per chat with a passphrase (resets daily at 5am)
- Generates deterministic UUID v5 session IDs from chat_id + date
- Pipes messages to `claude -p --session-id/--resume <uuid>`
- Persists auth and session state to disk across restarts
- Deploys as systemd --user service via `make deploy`
This commit is contained in:
Fam Zheng
2026-04-05 06:56:46 +01:00
commit db8ff94f7c
9 changed files with 2651 additions and 0 deletions

18
noc.service.in Normal file
View File

@@ -0,0 +1,18 @@
[Unit]
Description=NOC Telegram Bot
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=%h
ExecStart=@REPO@/target/release/noc
Restart=on-failure
RestartSec=5
Environment=RUST_LOG=noc=info
Environment=NOC_CONFIG=@REPO@/config.yaml
Environment=NOC_STATE=@REPO@/state.json
Environment=PATH=@PATH@
[Install]
WantedBy=default.target