Docs / Monitor / Cómo funciona

Cómo funciona Monitor de Canales

Explicación detallada del flujo de Monitor de Canales, desde la detección en la fuente hasta la publicación.

Arquitectura

OmniGest corre dos procesos separados para Monitor de Canales:

  • bot-monitor — un container ligero con Telethon y tu cuenta secundaria. Hace scrape batch de los canales fuente activos una vez por hora.
  • bot-referidos — el proceso principal de OmniGest. Consume los candidatos que produce bot-monitor, genera previews por DM y maneja los taps de los botones para publicar.

Los dos procesos se comunican vía una tabla de BD (monitor_candidates) — sin acoplamiento directo. Si uno cae, el otro sigue funcionando.

Flujo de datos por chollo

Canal fuente publica → bot-monitor detecta en el siguiente scrape (≤1h) →
candidato guardado en BD → bot-referidos hace poll (cada 3s) y lo recoge →
URL convertida a afiliado → imagen oficial de producto + overlay →
DM enviado a ti con 4 botones →
Pulsas un destino → publicado allí con tu tag

Fuentes

Una fuente es un canal de Telegram que quieres vigilar. Tiene que ser público (puedes suscribirte con la cuenta secundaria si es requerido).

Filtros por fuente

Cada fuente tiene un filtro de marketplace:

Filtro Comportamiento
🛒 Solo AliExpress Los posts deben tener URL de AliExpress. URLs de Amazon en el mismo post se ignoran.
📦 Solo Amazon Los posts deben tener URL de Amazon. URLs de AliExpress en el mismo post se ignoran.
🔀 Ambos (por defecto) Cualquier URL convertible genera un candidato.

Si un post no tiene URL convertible tras filtrar, se descarta silenciosamente.

Primer scrape

Cuando añades una fuente nueva, el primer scrape no hace backfill del histórico. Registra el message id más reciente actual y solo emite candidatos del siguiente mensaje en adelante. Evita inundar tu DM con 100 posts antiguos.

Preview (DM)

Cuando un candidato está listo, recibes un DM con:

  • Imagen oficial del producto desde el marketplace (no la imagen del canal fuente). OmniGest la obtiene via la API de AliExpress o el og:image de Amazon. Se añade un sello discreto @OmniGest en la esquina inferior derecha.
  • Caption[Fuente: @canal] + el texto original con la URL reemplazada por tu enlace de afiliado.
  • 4 botones inline:
  • [📢 Destino 1] — publica en tu destino Slot 1.
  • [👥 Destino 2] — publica en tu destino Slot 2 (si está configurado).
  • [✏️ Editar] — reescribe el caption antes de publicar (5 min timeout).
  • [🗑 Ignorar] — descarta el candidato.

Destinos (slots)

Un destino es un canal o grupo fijo donde OmniGest publica cuando pulsas el botón de un slot.

  • 2 slots en tier Free. Los usuarios free pueden elegir dos destinos — típicamente un canal público + un grupo privado de revisión.
  • Cada slot se configura vía /monitor_dest 1 o /monitor_dest 2 reenviando un mensaje de ese chat.
  • El bot tiene que ser miembro de cada destino (se valida al configurar).
  • Si pulsas los dos slots en el mismo preview, el chollo se publica en ambos (secuencialmente).

Contenido publicado

Al publicar, el caption se limpia: el prefijo [Fuente: @canal] se elimina. Solo va fuera el texto del chollo + tu URL de afiliado + la imagen con marca.

Flujo manual, por diseño

Monitor de Canales es completamente manual. OmniGest nunca publica sin que pulses un botón. Es deliberado:

  • Evita publicar chollos de baja calidad, off-topic, o errores.
  • Te deja curar para tu audiencia (saltar chollos aburridos, empujar los buenos).
  • Mantiene tu cuenta de afiliado con buena reputación.

Si quieres autopublicación por reglas, está en la roadmap — todavía no desplegado.

Límites y ritmo

  • Latencia: hasta 60 minutos desde la publicación en la fuente hasta tu DM. Aceptable para chollos; cambiamos tiempo real por menor riesgo en la cuenta de scraping.
  • Límite de scrape: 100 mensajes por fuente por ciclo. Si una fuente publica más de 100 en 1 hora, recibes una alerta "backlog saturado" y algunos posts pueden saltarse.
  • TTL de candidato: 24 horas. Si no pulsas ningún botón en 24h, el preview expira automáticamente (editado a "⏰ Expirado").

Aislamiento multi-tenant

Cada admin que usa Monitor de Canales ve solo sus propias fuentes, destinos y candidatos. Dos usuarios con el mismo canal fuente (@chollometro) reciben cada uno su propio DM independiente con su propia URL de afiliado. Cero fuga cruzada en ningún nivel (consultas de BD, validación de callbacks, middleware).