Integracja grammY (Telegram Bot API)
Dlaczego grammY
- Klient Bot API zorientowany na TypeScript, z wbudowaną obsługą long-pollingu i webhooków, middleware, obsługą błędów oraz ogranicznikiem szybkości.
- Czytelniejsze pomocniki do mediów niż ręczne użycie fetch + FormData; obsługuje wszystkie metody Bot API.
- Rozszerzalny: obsługa proxy przez niestandardowy fetch, middleware sesji (opcjonalne), kontekst typowany.
Co dostarczyliśmy
- Pojedyncza ścieżka klienta: usunięto implementację opartą na fetch; grammY jest teraz jedynym klientem Telegrama (wysyłanie + gateway) z domyślnie włączonym ogranicznikiem grammY.
- Gateway:
monitorTelegramProvidertworzy grammYBot, podłącza bramkowanie wzmianek/listy dozwolonych, pobieranie mediów przezgetFile/downloadoraz dostarcza odpowiedzi z użyciemsendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Obsługuje long-polling lub webhook przezwebhookCallback. - Proxy: opcjonalny
channels.telegram.proxyużywaundici.ProxyAgentpoprzezclient.baseFetchw grammY. - Obsługa webhooków:
webhook-set.tsopakowujesetWebhook/deleteWebhook;webhook.tshostuje callback z kontrolą zdrowia i łagodnym zamykaniem. Gateway włącza tryb webhook, gdy ustawione sąchannels.telegram.webhookUrl+channels.telegram.webhookSecret(w przeciwnym razie używa long-pollingu). - Sesje: czaty bezpośrednie są scalane do głównej sesji agenta (
agent:<agentId>:<mainKey>); grupy używająagent:<agentId>:telegram:group:<chatId>; odpowiedzi wracają do tego samego kanału. - Pokrętła konfiguracyjne:
channels.telegram.botToken,channels.telegram.dmPolicy,channels.telegram.groups(domyślne ustawienia listy dozwolonych + wzmianek),channels.telegram.allowFrom,channels.telegram.groupAllowFrom,channels.telegram.groupPolicy,channels.telegram.mediaMaxMb,channels.telegram.linkPreview,channels.telegram.proxy,channels.telegram.webhookSecret,channels.telegram.webhookUrl. - Podgląd transmisji na żywo: opcjonalne
channels.telegram.streamModewysyła tymczasową wiadomość i aktualizuje ją za pomocąeditMessageText. Jest to niezależne od strumieniowania blokowego kanału. - Testy: mocki grammY obejmują bramkowanie DM-ów + wzmianek w grupach oraz wysyłanie wychodzące; mile widziane są kolejne fixtury dla mediów/webhooków.
- Opcjonalne wtyczki grammY (ogranicznik) w przypadku napotkania 429 z Bot API.
- Dodanie bardziej ustrukturyzowanych testów mediów (naklejki, notatki głosowe).
- Umożliwienie konfiguracji portu nasłuchu webhooka (obecnie na sztywno 8787, o ile nie jest poprowadzony przez gateway).