Skip to content
BotServBotServ
MatterbridgeBotBridgeCross-PlatformTelegramDiscordMatrixIRCSelf-Hosting

Bot-Crossing: Conectar bots entre plataformas

Conecta bots de IA y mensajes entre Telegram, Discord, Matrix, IRC y más con Matterbridge.

S

schutzgeist

5 min read
Bot-Crossing: Conectar bots entre plataformas

Bot-Crossing: Conectar bots entre plataformas (Matterbridge)

Qué cubre este artículo

  • Qué es «Bot-Crossing»: crear puentes de mensajes y bots de IA entre plataformas de chat.
  • Matterbridge como herramienta estándar y qué plataformas conecta.
  • Instalación con Docker y ejemplo de configuración.
  • Caso de uso: un backend de IA, múltiples frontends de chat.
  • Limitaciones y escollos de las conexiones entre plataformas.

Introducción

¿Tu comunidad está en Discord, tu familia en Telegram, tu asociación en Matrix y tu bot de IA debe responder en todas partes? Eso es Bot-Crossing: una conexión entre plataformas que sincroniza mensajes y hace que tu bot sea accesible en cualquier lado.

La herramienta estándar es Matterbridge, un relay de código abierto que conecta más de 20 plataformas: IRC, Discord, Telegram, Matrix, Slack, Mattermost, Rocket.Chat, XMPP, WhatsApp y muchas más. Es un programa Node.js con configuración TOML simple, sin necesidad de programar.

Casos de uso típicos

  • Bot de IA en todas partes: un backend Ollama, usuarios preguntan por Discord, Telegram o Matrix, la conexión enruta.
  • Fusión de comunidades: una comunidad Discord y un grupo Telegram comparten un canal.
  • Migración: llevar una comunidad IRC antigua a Matrix sin abandonar a los usuarios de IRC.
  • Canal de respaldo: alertas importantes en dos plataformas simultáneamente.
  • Sincronización de mensajes: reflejar mensajes del chat «antiguo» en el nuevo.

Cómo funciona Matterbridge

Discord ──┐
          │
Telegram ─┼── Matterbridge (Relay) ──► otro lado
          │
Matrix ───┘

Matterbridge conecta «gateways»: defines qué canales en qué plataformas están vinculados. Un mensaje en el canal A se refleja en los canales conectados en las otras plataformas, con nombre del bot e indicación de la fuente.

Instalación: Docker

services:
  matterbridge:
    image: 42wim/matterbridge:latest
    volumes:
      - ./matterbridge.toml:/etc/matterbridge/matterbridge.toml
      - ./data:/data
    restart: always

matterbridge.toml: ejemplo conectando Telegram ↔ Discord ↔ IRC:

[discord.mybot]
Token = "dein-discord-bot-token"
Server = "DEIN_DISCORD_SERVER_ID"
AutoWebhooks = true

[telegram.mybot]
Token = "dein-telegram-bot-token"

[irc.mybot]
Server = "irc.libera.chat:6697"
Nick = "crossbot"
UseTLS = true
SkipTLSVerify = false

[[gateway]]
name = "mein-gateway"
enable = true

[[gateway.inout]]
account = "discord.mybot"
channel = "general"

[[gateway.inout]]
account = "telegram.mybot"
channel = "-1001234567890"

[[gateway.inout]]
account = "irc.mybot"
channel = "#mein-kanal"

Inicio: docker compose up -d: los mensajes fluyen entre los tres canales.

El caso de uso Bot-Crossing: un backend Ollama

La característica más potente: el bot en una plataforma responde, la conexión distribuye la respuesta a todas.

Usuario en Telegram: „!ki ¿qué es Ollama?"
    │
    ▼
Matterbridge refleja a Discord
    │
    ▼
Bot Discord (con Ollama) ve „!ki ..." → responde
    │
    ▼
La respuesta se refleja nuevamente en Telegram

Alternativa: integrar el código de IA directamente en el bucle de conexión. Matterbridge puede usarse como librería, o escribes tu propio servicio relay que intercepte mensajes, los envíe a Ollama y publique la respuesta en todas las plataformas conectadas:

# Concepto: mensaje de cualquier plataforma → Ollama → respuesta en todas partes
def on_message(platform, user, text):
    if text.startswith("!ki"):
        answer = ollama.chat(prompt=text[3:])
        broadcast_to_all_platforms(answer)   # via Matterbridge-API o clientes propios

Consejos de configuración importantes

  • Nombres de bot: configura RemoteNickFormat para que los mensajes de otras plataformas sean identificables (ej. [TG] Max: Hola).
  • Mapeo de nicks: PreserveMessageIds, IgnoreUsers para bots, sino hay riesgo de bucles.
  • Webhook vs. bot: Discord puede hacer conexiones más bonitas con webhooks (AutoWebhooks=true).
  • Solo canales específicos: usa [[gateway.in]] vs [[gateway.out]] para conexiones unidireccionales (alertas solo salientes, no entrantes).

Limitaciones y escollos

  • Pérdida de características: hilos, reacciones, ediciones y archivos adjuntos no se traducen perfectamente entre plataformas. El texto plano es seguro, el resto es «mejor esfuerzo».
  • Riesgo de bucles: dos conexiones que se reflejan mutuamente = bucle infinito. Configura IgnoreNicks/IgnoreUsers.
  • Rate limits: Telegram y Discord tienen límites de API, con tráfico cruzado activo pueden limitar la velocidad.
  • Moderación: el spam en una plataforma llega a todas: necesitas moderar en todas partes.
  • Ambigüedad: los usuarios no siempre saben en qué plataforma escribe la otra persona, los prefijos de nombre ayudan.

Alternativas y complementos

  • Mautrix-Bridges: especializadas en Matrix↔WhatsApp/Telegram/Signal (puppets, E2EE), ver Matrix-Bots.
  • n8n: para flujos de trabajo multi-plataforma (no chat en vivo, sino basado en eventos), ver n8n.
  • Solución propia: para bots de IA suele ser más sensato un backend central con adaptadores de plataforma que una conexión genérica.

Enlaces relacionados

Puntos clave:

  • Bot-Crossing = crear puentes de mensajes entre plataformas de chat, Matterbridge es la herramienta estándar.
  • Configuración TOML sin programación necesaria, compatible con aproximadamente 20 plataformas.
  • Caso de uso de IA: un backend Ollama, todos los frontends de chat accesibles a través de la conexión.
  • Ten en cuenta la pérdida de características en hilos y archivos, riesgo de bucles y rate limits.
  • Para bots de IA reales, un backend multi-adaptador propio es más limpio que una conexión genérica.

FAQ

¿Qué es Bot-Crossing?

Reflejar mensajes entre plataformas de chat (Telegram↔Discord↔IRC…) o hacer que un bot de IA sea accesible en varias plataformas simultáneamente. Matterbridge es la herramienta clásica para esto.

¿Qué plataformas soporta Matterbridge?

IRC, Discord, Telegram, Matrix, Slack, Mattermost, Rocket.Chat, XMPP, WhatsApp, Zulip, MS Teams y más, más de 20 protocolos. La lista completa está en el repositorio de GitHub.

¿Bot de IA en múltiples plataformas?

Sí, un backend Ollama, Matterbridge como transporte. Los mensajes con prefijo !ki se reflejan, el bot responde y la conexión distribuye la respuesta. Para control más limpio: un backend multi-adaptador propio.

¿Cuál es el riesgo de bucle?

Cuando dos conexiones se reflejan mutuamente o un bot ve su propio mensaje → bucle infinito. Configura IgnoreUsers/IgnoreNicks en cuentas de bots y usa solo una conexión por par de canales.

¿Se pierden características?

Sí: hilos, reacciones, ediciones, embeds y archivos adjuntos se traducen solo parcialmente. El texto plano e imágenes funcionan bien, para características complejas escribe tu propio código.

¿Matterbridge o backend propio?

Matterbridge para conexiones de chat rápidas sin código. Un backend multi-adaptador propio si necesitas lógica de IA, gestión de contexto y características específicas de plataforma, más trabajo pero control total.

Fuentes y lecturas adicionales

Volver al blog
Share:

Entradas relacionadas