Skip to content

Runbook: Telegram Bridge — ⛔ ZRUŠENO 2026-08-01

Tenhle runbook už nepopisuje živou infrastrukturu. Můstek byl 2026-08-01 na Liborův pokyn zrušen — volal mrtvý port 3020 (relay je na 3080 od dubna) a nebyl naplánovaný v žádném cronu. Detail a co zbylo na disku: services/telegram/INDEX.md.

⚠️ /root/secrets/telegram/.env NEMAZAT — token @s60_sentinel_bot z něj čte Uptime Kuma pro monitoring alerty.

Text níž je ponechán jako historický popis toho, jak to fungovalo.

Přehled

Relay API zprávy pro Libora (fronta fess) se přeposílaly do Telegramu přes bota. Libor mohl odpovídat inline a odpovědi se routovaly zpět k původnímu odesílateli.

Komponenty (stav k zrušení)

Script Deklarovaný cron Skutečnost 2026-08-01
~~/root/scripts/relay-to-telegram.sh~~ */5 * * * * SMAZÁNO — v crontabu nebylo
~~/root/scripts/telegram-callbacks.sh~~ */1 * * * * SMAZÁNO — v crontabu taky nebylo

Credentials

  • Soubor: /root/secrets/telegram/.env
  • Proměnné: BOT_TOKEN, CHAT_ID
  • NIKDY nesdílet přes Relay API

Message map

  • Soubor: /root/secrets/telegram/message-map.json
  • Mapuje Telegram msg_id{from, subject, type}
  • Používá se pro routing odpovědí zpět k odesílateli

Inline keyboard (buttons)

Zprávy mohou obsahovat inline tlačítka:

{"body": "Text zprávy\n\n[BUTTONS:{\"inline_keyboard\":[[{\"text\":\"Ano\",\"callback_data\":\"approve\"},{\"text\":\"Ne\",\"callback_data\":\"reject\"}]]}]"}
  • telegram-callbacks.sh zpracovává callback_data
  • Odpověď se posílá zpět přes Relay API jako zpráva pro původního odesílatele

Diagnostika

# Logy relay-to-telegram
grep "relay-to-telegram" /var/log/syslog | tail -20

# Logy callbacks
grep "telegram-callbacks" /var/log/syslog | tail -20

# Test bota
source /root/secrets/telegram/.env
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getMe" | python3 -m json.tool

# Poslední zprávy bota
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates?limit=5" | python3 -m json.tool

# Message map (poslední záznamy)
tail -5 /root/secrets/telegram/message-map.json

# Cron aktivní?
crontab -l | grep telegram

Ruční odeslání Telegram zprávy

source /root/secrets/telegram/.env
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
  -d chat_id="${CHAT_ID}" \
  -d text="Test zpráva" \
  -d parse_mode="HTML"

Známé problémy

  • Relay API peek (GET /api/messages/) označuje zprávy jako read — proto relay-to-telegram.sh používá /api/history/ s filtrováním podle timestampu
  • Pokud message-map.json roste příliš → rotovat (archivovat staré záznamy)