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

17
Cargo.toml Normal file
View File

@@ -0,0 +1,17 @@
[package]
name = "noc"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1"
chrono = { version = "0.4", features = ["serde"] }
dptree = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
teloxide = { version = "0.12", features = ["macros"] }
tokio = { version = "1", features = ["full"] }
uuid = { version = "1", features = ["v5"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }