Repository navigation
v2.2.0 — Matrix transport
The gateway can now run over your own Matrix homeserver instead of Telegram: set OGMA_TRANSPORT=matrix, drop the bot credentials in config/matrix_bot.env.local, and the whole channel stays on infrastructure you control.
- New
transport_matrix.py— same six-method transport seam, still Python stdlib only: long-polled/syncwith a persisted since-token, chunked sends, long output via media-repo upload, typing indicator. - Safety first: the first sync skips the room backlog (a stale message is never replayed as a fresh command), room invites are auto-joined only when the inviter is on the allow-list, and authorization always targets the sender — never the room.
- Per-backend allow-lists:
MATRIX_ALLOWED_USERS/MATRIX_GUEST_USERSmirror their Telegram counterparts. - No E2EE by design (would need native olm bindings) — pair it with a self-hosted, federation-off homeserver you trust. See
.env.examplefor setup.
Transports now yield an explicit actor field; Telegram behavior is unchanged. E2E-tested against a live Continuwuity server.