grammY Integration (Telegram Bot API)
Warum grammY
- Der erste Bot-API-Client von TS mit eingebauten Long-Poll- und Webhook-Helfern, Middleware, Fehlerbehandlung und Ratenbegrenzer.
- Sauberere Media-Helfer als manuelles Fetch + FormData; unterstützt alle Bot API Methoden.
- Erweiterbar: Proxy-Unterstützung über benutzerdefiniertes Fetch, Session-Middleware (optional), typsicherer Kontext.
Was wir ausgeliefert haben
- Einzelner Client-Pfad: Fetch-basierte Implementierung entfernt; grammY ist nun der einzige Telegram-Client (Senden + Gateway) mit standardmäßig aktiviertem grammY-Throttler.
- Gateway:
MonitorTelegramProviderbaut einen grammYBotauf, verdrahtet mention/allowlist gating, Mediendownload viagetFile/download, und liefert Antworten mitsendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Unterstützt Long-Poll oder Webhook überwebhookCallback. - Proxy: optionaler
channels.telegram.proxyverwendetundici.ProxyAgentdurch grammY’sclient.baseFetch. - Webhook-Unterstützung:
webhook-set.tsumhülltsetWebhook/deleteWebhook;webhook.tshostet den Callback mit Health + Graceful Shutdown. Gateway aktiviert den Webhook-Modus, wennchannels.telegram.webhookUrlgesetzt ist (andernfalls long-pollt es). - Sitzungen: Direkte Chats kollabieren in der Hauptsitzung des Agenten (
agent:<agentId>:<mainKey>); Gruppen verwendenagent:<agentId>:telegram:group:<chatId>; Antworten leiten zurück zum selben Kanal. - Konfigurationsknöpfe:
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. - Entwurfsstreaming: optionaler
channels.telegram.streamModeverwendetsendMessageDraftin privaten Themen-Chats (Bot API 9.3+). Dies ist getrennt vom Kanalblock-Streaming. - Tests: grammy mocks decken DM + group mention gating und outbound send ab; weitere media/webhook fixtures sind willkommen.
Offene Fragen
- Optionale GrammY-Plugins (Throttler), wenn wir auf Bot-API 429s treffen.
- Hinzufügen weiterer strukturierter Medientests (Aufkleber, Sprachnotizen).
- Webhook-Listen-Port konfigurierbar machen (derzeit auf 8787 festgelegt, sofern nicht über das Gateway verkabelt).
Zuletzt aktualisiert am: