grammY
Integración de grammY (API de Bot de Telegram)
Sección titulada «Integración de grammY (API de Bot de Telegram)»Por qué grammY
Sección titulada «Por qué grammY»- Cliente de la API de Bot con prioridad en TS y con asistentes de sondeo largo (long-poll) + webhook integrados, middleware, manejo de errores, limitador de velocidad.
- Asistentes de medios más limpios que crear manualmente fetch + FormData; admite todos los métodos de la API de Bot.
- Extensible: soporte de proxy mediante fetch personalizado, middleware de sesión (opcional), contexto con seguridad de tipos.
Lo que hemos enviado
Sección titulada «Lo que hemos enviado»- Ruta de cliente único: se eliminó la implementación basada en fetch; grammY es ahora el único cliente de Telegram (envío + puerta de enlace) con el limitador de grammY habilitado de forma predeterminada.
- Puerta de enlace:
monitorTelegramProviderconstruye unBotde grammY, conecta el filtrado de menciones/listas permitidas, descarga de medios mediantegetFile/downloady entrega respuestas consendMessage/sendPhoto/sendVideo/sendAudio/sendDocument. Admite sondeo largo o webhook mediantewebhookCallback. - Proxy:
channels.telegram.proxyopcional usaundici.ProxyAgenta través delclient.baseFetchde grammY. - Soporte de webhook:
webhook-set.tsenvuelvesetWebhook/deleteWebhook;webhook.tsaloja la devolución de llamada con verificación de estado + apagado elegante. La puerta de enlace habilita el modo webhook cuando se establecenchannels.telegram.webhookUrl+channels.telegram.webhookSecret(de lo contrario, realiza sondeo largo). - Sesiones: los chats directos se integran en la sesión principal del agente (
agent:<agentId>:<mainKey>); los grupos usanagent:<agentId>:telegram:group:<chatId>; las respuestas se enrutan de vuelta al mismo canal. - Perillas de configuración:
channels.telegram.botToken,channels.telegram.dmPolicy,channels.telegram.groups(valores predeterminados de lista permitida + mención),channels.telegram.allowFrom,channels.telegram.groupAllowFrom,channels.telegram.groupPolicy,channels.telegram.mediaMaxMb,channels.telegram.linkPreview,channels.telegram.proxy,channels.telegram.webhookSecret,channels.telegram.webhookUrl. - Transmisión de borradores:
channels.telegram.streamModeopcional usasendMessageDraften chats de temas privados (Bot API 9.3+). Esto es independiente de la transmisión de bloques del canal. - Pruebas: los mocks de grammy cubren la restricción de menciones en MD y grupos, y el envío saliente; se agradecen más fixtures de medios/webhooks.
Preguntas abiertas
- Plugins opcionales de grammY (throttler) si encontramos errores 429 de la Bot API.
- Añadir más pruebas de medios estructurados (pegatinas, notas de voz).
- Hacer configurable el puerto de escucha del webhook (actualmente fijado a 8787 a menos que se conecte a través de la puerta de enlace).