grammY-integratie (Telegram Bot API)
Waarom grammY
- TS-first Bot API-client met ingebouwde long-poll- en webhook-helpers, middleware, foutafhandeling en rate limiter.
- Schonere media-helpers dan zelf fetch + FormData samenstellen; ondersteunt alle Bot API-methoden.
- Uitbreidbaar: proxy-ondersteuning via aangepaste fetch, sessiemiddleware (optioneel), type-veilige context.
Wat we hebben geleverd
- Enkel clientpad: fetch-gebaseerde implementatie verwijderd; grammY is nu de enige Telegram-client (verzenden + Gateway) met de grammY-throttler standaard ingeschakeld.
- Gateway:
monitorTelegramProviderbouwt een grammYBot, koppelt mention-/allowlist-gating, mediownload viagetFile/download, en levert antwoorden metsendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Ondersteunt long-poll of webhook viawebhookCallback. - Proxy: optionele
channels.telegram.proxygebruiktundici.ProxyAgentvia grammY’sclient.baseFetch. - Webhook-ondersteuning:
webhook-set.tswikkeltsetWebhook/deleteWebhook;webhook.tshost de callback met healthchecks + graceful shutdown. De Gateway schakelt webhook-modus in wanneerchannels.telegram.webhookUrl+channels.telegram.webhookSecretzijn ingesteld (anders wordt long-poll gebruikt). - Sessies: directe chats worden samengevoegd tot de hoofdsessie van de agent (
agent:<agentId>:<mainKey>); groepen gebruikenagent:<agentId>:telegram:group:<chatId>; antwoorden worden teruggerouteerd naar hetzelfde kanaal. - Configuratieknoppen:
channels.telegram.botToken,channels.telegram.dmPolicy,channels.telegram.groups(allowlist + mention-standaarden),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 preview: optioneel
channels.telegram.streamModeverstuurt een tijdelijk bericht en werkt dit bij meteditMessageText. Dit staat los van kanaal-blokstreaming. - Tests: grammY-mocks dekken DM- en groeps-mention-gating en uitgaand verzenden; meer media-/webhook-fixtures zijn nog welkom.
- Optionele grammY-plugins (throttler) toevoegen als we Bot API 429’s tegenkomen.
- Meer gestructureerde mediatests toevoegen (stickers, spraaknotities).
- De webhook-luisterpoort configureerbaar maken (momenteel vast op 8787, tenzij via de Gateway aangesloten).