grammY-Integration (Telegram Bot API)
Warum grammY
- TS-first Bot-API-Client mit integrierten Long-Poll- und Webhook-Helfern, Middleware, Fehlerbehandlung und Rate-Limiter.
- Sauberere Media-Helfer als selbstgebautes fetch + FormData; unterstützt alle Bot-API-Methoden.
- Erweiterbar: Proxy-Unterstützung über benutzerdefiniertes fetch, Sitzungs-Middleware (optional), typsicherer Kontext.
Was wir ausgeliefert haben
- Einzelner Client-Pfad: Fetch-basierte Implementierung entfernt; grammY ist jetzt der einzige Telegram-Client (Senden + Gateway) mit standardmäßig aktiviertem grammY-Throttler.
- Gateway:
monitorTelegramProvidererstellt ein grammYBot, verdrahtet Mention-/Allowlist-Gating, Medien-Download übergetFile/downloadund liefert Antworten mitsendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Unterstützt Long-Poll oder Webhook überwebhookCallback. - Proxy: Optionales
channels.telegram.proxynutztundici.ProxyAgentüber grammYsclient.baseFetch. - Webhook-Unterstützung:
webhook-set.tskapseltsetWebhook/deleteWebhook;webhook.tshostet den Callback mit Health-Check + Graceful Shutdown. Das Gateway aktiviert den Webhook-Modus, wennchannels.telegram.webhookUrl+channels.telegram.webhookSecretgesetzt sind (ansonsten wird Long-Polling verwendet). - Sitzungen: Direktchats werden in die Hauptsitzung des Agenten zusammengeführt (
agent:<agentId>:<mainKey>); Gruppen verwendenagent:<agentId>:telegram:group:<chatId>; Antworten werden in denselben Kanal zurückgeleitet. - Konfigurationsoptionen:
channels.telegram.botToken,channels.telegram.dmPolicy,channels.telegram.groups(Allowlist- + Mention-Defaults),channels.telegram.allowFrom,channels.telegram.groupAllowFrom,channels.telegram.groupPolicy,channels.telegram.mediaMaxMb,channels.telegram.linkPreview,channels.telegram.proxy,channels.telegram.webhookSecret,channels.telegram.webhookUrl. - Live-Stream-Vorschau: Optionales
channels.telegram.streamModesendet eine temporäre Nachricht und aktualisiert sie miteditMessageText. Dies ist getrennt vom Channel-Block-Streaming. - Tests: grammY-Mocks decken Direktnachrichten + Gruppen-Mention-Gating sowie ausgehendes Senden ab; weitere Media-/Webhook-Fixtures sind weiterhin willkommen.
- Optionale grammY-Plugins (Throttler), falls wir Bot-API-429s erreichen.
- Weitere strukturierte Media-Tests hinzufügen (Sticker, Sprachnotizen).
- Webhook-Listen-Port konfigurierbar machen (derzeit fest auf 8787, sofern nicht über das Gateway verdrahtet).