telegram-status-bot/AGENTS.md
telegram-status-bot/AGENTS
Telegram Status Bot - Betriebsdoku
Zweck
Telegram-Bot fuer Statusabfragen und Codex-Auftraege (Text + Voice/STT).
Laufzeitmodell (wichtig)
- Produktivbetrieb erfolgt ueber
systemd, nicht pernohup. - Service-Name:
telegram-codex-bot.service - Unit-Datei:
/etc/systemd/system/telegram-codex-bot.service EnvironmentFile:/root/codex/telegram-status-bot/.env.host
Service-Commands
- Status:
systemctl status telegram-codex-bot.service - Neustart:
systemctl restart telegram-codex-bot.service - Stoppen:
systemctl stop telegram-codex-bot.service - Starten:
systemctl start telegram-codex-bot.service - Logs live:
journalctl -u telegram-codex-bot.service -f - Letzte Logs:
journalctl -u telegram-codex-bot.service -n 200 --no-pager
Konfiguration
Primar relevant in .env.host:
TELEGRAM_BOT_TOKENTELEGRAM_ALLOWED_CHAT_ID(Owner-ID)TELEGRAM_ALLOWED_GROUP_IDS(kommagetrennte Gruppenliste)STATE_DIR(hier:/root/codex/telegram-status-bot/data-host)OPENAI_API_KEYOPENAI_TRANSCRIBE_MODEL
Hinweis:
.envist lokal fuer manuelle Runs nutzbar.- Service liest per Unit explizit
.env.host.
Zugriff / Sicherheit
- Private Chats: nur
TELEGRAM_ALLOWED_CHAT_ID. - Gruppen: nur erlaubte Gruppen (
TELEGRAM_ALLOWED_GROUP_IDS), nur vom Owner (from.id == TELEGRAM_ALLOWED_CHAT_ID), und nur bei Mention bzw./codex. - Bot sendet eine persistente Telegram-Tastatur mit
/new.
Session- und Update-State
- Codex-Session:
codex_session_id.txtinSTATE_DIR. - Neue Session-Mappings:
codex_session_message_map.jsonlinSTATE_DIRmitsession_id+ eingehender Nachricht. - Telegram-Offset:
telegram_update_offset.txtinSTATE_DIR. - Damit werden nach Neustarts alte Updates nicht erneut abgearbeitet.
Voice-Verarbeitung
- Voice wird von Telegram geladen, temporaer gespeichert, transkribiert (OpenAI STT), und temp-Datei danach geloescht.
- Es wird kein Audio dauerhaft archiviert.
Bekannte Stolperfallen
- Wenn Bot “nicht reagiert”: zuerst pruefen, ob Service aktiv ist.
- Nicht parallel als
nohupundsystemdlaufen lassen (Doppelverarbeitung/Verwirrung). - Bei Gruppen-Nachrichten ohne Mention ist
deny no_mentionerwartetes Verhalten.