Documentar notificación silenciosa, hilos y adjunto de log en Telegram
Actualiza la sección de Notificaciones: formato con íconos por tipo de evento, log completo adjunto como documento, nivel "info" silencioso (disable_notification), y respuestas en hilo cuando un recurso accionado se recupera solo -- con la limitación conocida de que un desbloqueo manual (borrando la entrada de state.json) pierde el message_id y no queda threadeado. Validado en vivo con el canario.
This commit is contained in:
1 parent
e493f7d39e
commit
7c6f3d9c27
1 file changed
+22
@@ -197,6 +197,28 @@ de un usuario es el mismo across bots, pero Telegram igual devuelve
|
|||||||
persona. Se resolvió confirmando el `chat_id` real vía `getUpdates` del
|
persona. Se resolvió confirmando el `chat_id` real vía `getUpdates` del
|
||||||
bot correcto.
|
bot correcto.
|
||||||
|
|
||||||
|
**Formato:** cada notificación lleva un ícono según su naturaleza
|
||||||
|
(✅ acción ok, 🛑 acción falló/rechazada, 🚨 alerta de seguridad,
|
||||||
|
❌ error operativo, 👀 solo diagnóstico) y el log completo de esa
|
||||||
|
corrida va adjunto como documento (`sendDocument`), no solo como ruta —
|
||||||
|
útil para revisar desde el celular sin acceso a shell.
|
||||||
|
|
||||||
|
**Notificación silenciosa y respuestas en hilo (2026-08-26):** el nivel
|
||||||
|
`info` (nada elegible, todo diagnóstico rutinario) se manda con
|
||||||
|
`disable_notification=true` — no interrumpe; acciones, fallas y alertas
|
||||||
|
de seguridad sí suenan. Cuando se ejecuta una acción correctiva, el
|
||||||
|
`message_id` de Telegram queda guardado por recurso en `state.json`
|
||||||
|
(`telegram_message_id`); si ese recurso se recupera solo en una corrida
|
||||||
|
posterior, se manda un aviso silencioso como **respuesta** (hilo) al
|
||||||
|
mensaje original antes de limpiar el estado — agrupa visualmente todo
|
||||||
|
un incidente. Limitación conocida: si un humano desbloquea el recurso a
|
||||||
|
mano borrando su entrada de `state.json` (ver más abajo), el
|
||||||
|
`message_id` se pierde con esa entrada, así que ese caso puntual no
|
||||||
|
queda threadeado — solo el "se recuperó solo" está cubierto hoy.
|
||||||
|
Validado en vivo con el canario: acción real → `message_id` capturado →
|
||||||
|
canario parcheado a una imagen sana → reply en hilo confirmado,
|
||||||
|
silencioso, al recuperarse.
|
||||||
|
|
||||||
## Horario activo y costo
|
## Horario activo y costo
|
||||||
|
|
||||||
**Pausa nocturna (`ACTIVE_HOURS_START`/`END`, hora local del host):**
|
**Pausa nocturna (`ACTIVE_HOURS_START`/`END`, hora local del host):**
|
||||||
|
|||||||
Reference in new issue
Block a user