Integration grammY (API Telegram Bot)
Pourquoi grammY
- Client d’API Bot « TS-first » avec helpers integres pour long-poll + webhook, middleware, gestion des erreurs, limiteur de debit.
- Helpers media plus propres que l’assemblage manuel fetch + FormData ; prend en charge toutes les methodes de l’API Bot.
- Extensible : prise en charge des proxys via fetch personnalise, middleware de session (optionnel), contexte type-safe.
Ce que nous avons livre
- Chemin client unique : l’implementation basee sur fetch a ete supprimee ; grammY est desormais l’unique client Telegram (envoi + gateway) avec le limiteur grammY active par defaut.
- Gateway (passerelle) :
monitorTelegramProviderconstruit unBotgrammY, raccorde le filtrage par mention/liste d’autorisation, le telechargement de media viagetFile/download, et delivre les reponses avecsendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Prend en charge le long-poll ou le webhook viawebhookCallback. - Proxy : l’option
channels.telegram.proxyutiliseundici.ProxyAgentvia leclient.baseFetchde grammY. - Prise en charge des webhooks :
webhook-set.tsencapsulesetWebhook/deleteWebhook;webhook.tsheberge le callback avec sante + arret gracieux. La Gateway active le mode webhook lorsquechannels.telegram.webhookUrl+channels.telegram.webhookSecretsont definis (sinon, elle utilise le long-poll). - Sessions : les discussions directes sont fusionnees dans la session principale de l’agent (
agent:<agentId>:<mainKey>) ; les groupes utilisentagent:<agentId>:telegram:group:<chatId>; les reponses reviennent vers le meme canal. - Parametres de configuration :
channels.telegram.botToken,channels.telegram.dmPolicy,channels.telegram.groups(liste d’autorisation + valeurs par defaut des mentions),channels.telegram.allowFrom,channels.telegram.groupAllowFrom,channels.telegram.groupPolicy,channels.telegram.mediaMaxMb,channels.telegram.linkPreview,channels.telegram.proxy,channels.telegram.webhookSecret,channels.telegram.webhookUrl. - Aperçu du flux en direct : optionnel
channels.telegram.streamModeenvoie un message temporaire et le met à jour aveceditMessageText. Ceci est distinct du streaming de blocs de canaux. - Tests : les mocks grammY couvrent le filtrage DM + mentions de groupe et l’envoi sortant ; d’autres fixtures media/webhook sont encore bienvenues.
- Plugins grammY optionnels (limiteur) si nous rencontrons des 429 de l’API Bot.
- Ajouter davantage de tests media structures (stickers, messages vocaux).
- Rendre le port d’ecoute du webhook configurable (actuellement fixe a 8787 sauf s’il est raccorde via la gateway).