tcef-notifications/docs
vjrj d1fc6798dc Fase 1c: canal Telegram (telegram-worker) — codigo migrado, inerte
Envio de alertas Telegram desde el servicio (docs/legacy-telegram.md): por alerta,
texto Markdown (content + firelink i18n) + ubicacion, como node-red.

- types: canal 'telegram', notif.type 'telegram', campo telegramNotified
- telegram/message.ts: buildTelegramMessages (firelink es/en/gl + location)
- telegram/client.ts: cliente Bot API (fetch), interpretResponse (429 retry_after,
  403 blocked)
- telegram/rate.ts: throttle por chat (1 msg/s) + computeWaitMs puro
- handlers.processTelegramJob: idempotencia (notification_sends canal telegram),
  modos dry-run/shadow/canary/full, throttle, 429->retry, bloqueo->sub inactiva
- poller/queue/index: canal telegram integrado; worker con rate limiter global
  BullMQ (25/s por bot); cliente por idioma (es/gl->ES, en->EN)
- config: bloque telegram (tokens es/en, server, globalPerSec, perChatMinMs)

85 tests en verde, typecheck y build OK. Sin TELEGRAM_TOKEN_* configurados el
worker no se activa (todo inerte). Falta: extraer tokens de bot de flows_cred +
rollout con el usuario. Los flujos conversacionales de los bots siguen en node-red.
2026-07-13 18:49:52 +02:00
..
legacy-behavior.md Fase 1a: driver mongodb v3.7 (produccion es MongoDB 3.2) 2026-07-13 00:58:27 +02:00
legacy-matching.md Fase 1b: nucleo del matcher geoespacial (caracterizado + testeado) 2026-07-13 17:58:43 +02:00
legacy-telegram.md Fase 1c: canal Telegram (telegram-worker) — codigo migrado, inerte 2026-07-13 18:49:52 +02:00
rollout.md Fase 1b: cableado del matcher (ingesta polling, runner shadow/full, comparador) 2026-07-13 18:07:06 +02:00