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
RemoteNickFormatpara que los mensajes de otras plataformas sean identificables (ej.[TG] Max: Hola). - Mapeo de nicks:
PreserveMessageIds,IgnoreUserspara 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
- IRC-Coding.de: tutoriales de programación sobre arquitecturas de bots y diseño multi-plataforma.
- Telegram-Bots: un extremo de la conexión.
- Discord-Bot: el otro extremo.
- Matrix-Bots: el lado Matrix.
- IRC-Bots: el clásico.
- Comparativa de plataformas: qué plataformas existen.
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?
¿Qué plataformas soporta Matterbridge?
¿Bot de IA en múltiples plataformas?
¿Cuál es el riesgo de bucle?
IgnoreUsers/IgnoreNicks en cuentas de bots y usa solo una conexión por par de canales.¿Se pierden características?
¿Matterbridge o backend propio?
Fuentes y lecturas adicionales
- Matterbridge: GitHub.
- Matterbridge Wiki: configuración.
- IRC-Coding.de: tutoriales de programación.


