Summary
The Telegram integration (extras/scion-telegram/) currently only supports SQLite for state storage and runs exclusively as a go-plugin subprocess of the hub. Add PostgreSQL store support and a standalone service mode to enable HA deployment.
Current State
- ✅ Fully functional as go-plugin subprocess (managed by hub)
- ✅ Both long-polling and webhook inbound modes implemented
- ✅ SQLite store for group links, user mappings, conversation contexts, notification preferences
- ❌ No PostgreSQL store
- ❌ No standalone server mode (only go-plugin subprocess)
Work Required
Context
- Telegram supports both long-polling (outbound, works behind NAT) and webhook (requires public URL) modes
- Long-polling mode: only one instance can poll at a time (409 conflicts) — needs coordination similar to Discord's advisory lock
- Webhook mode: Telegram sends to a single URL, so a load balancer or single-instance constraint is needed
- Discord's
store_postgres.go can serve as a reference implementation
- Part of broader chat integration admin UI initiative
Summary
The Telegram integration (
extras/scion-telegram/) currently only supports SQLite for state storage and runs exclusively as a go-plugin subprocess of the hub. Add PostgreSQL store support and a standalone service mode to enable HA deployment.Current State
Work Required
store_postgres.go)main.go(allow running as separate service, not just go-plugin subprocess)Context
store_postgres.gocan serve as a reference implementation