tutorial channels

Construyendo un asistente de IA multicanal: Telegram + Discord + WhatsApp

ZeroClaws.io

ZeroClaws.io

@zeroclaws

February 25, 2026

7 min de lectura

Construyendo un asistente de IA multicanal: Telegram + Discord + WhatsApp

Aquí hay una situación que la mayoría reconoce: tu equipo de trabajo se comunica en Slack, tus amigos cercanos están en WhatsApp, tu comunidad de gaming vive en Discord, y tus contactos personales prefieren Telegram. Terminas con cuatro apps abiertas, cuatro flujos de notificaciones y cuatro contextos separados que gestionar.

Ahora imagina que tu asistente de IA funcionara en todos ellos simultáneamente —con memoria compartida, para que recuerde lo que le dijiste en Telegram cuando le preguntas sobre ello en Discord. Un asistente, en todas partes donde ya estás.

Eso es lo que hace posible la arquitectura multicanal de ZeroClaw, y la configuración es más sencilla de lo que podrías esperar.

Cómo funciona por dentro

El sistema de canales de ZeroClaw está construido sobre traits de Rust. Cada canal —Telegram, Discord, WhatsApp, Signal, Matrix, IRC— es un adaptador independiente que implementa la misma interfaz. Todos comparten una única conexión al proveedor de IA, una única base de datos de memoria, un único archivo de configuración y un único proceso corriendo como un binario.

La consecuencia práctica es que cuando le dices algo a tu bot en Telegram, lo recuerda cuando le preguntas en Discord. La memoria es independiente del canal.

Configurar Telegram

Manda un mensaje a @BotFather en Telegram para crear un nuevo bot y obtener tu token. Luego manda un mensaje a @userinfobot para obtener tu ID de usuario. Añade esto a tu configuración:

```toml [channels.telegram] token = "123456:ABCdefGHIjklMNO" allowed_users = [your_user_id] ```

Configurar Discord

Ve a discord.com/developers, crea una aplicación, añade un bot y copia el token. Habilita Message Content Intent en la configuración del bot.

```toml [channels.discord] token = "MTk4NjIz..." guild_ids = [your_server_id] allowed_roles = ["ai-users"] ```

Configurar WhatsApp

ZeroClaw usa un bridge de WhatsApp Web que funciona sin ningún acceso especial a la API:

```toml [channels.whatsapp] enabled = true allowed_numbers = ["+1234567890"] ```

En el primer arranque, ZeroClaw muestra un código QR en el terminal. Escánealo con WhatsApp en tu teléfono para emparejar.

Arrancar todo

```bash zeroclaw start ```

Un comando. Los tres canales se conectan simultáneamente:

```bash [INFO] Telegram channel connected [INFO] Discord channel connected (1 guild) [INFO] WhatsApp channel paired [INFO] ZeroClaw ready -- 3 channels active ```

Memoria compartida en la práctica

Envías un mensaje en Telegram: > "Recuerda que mi fecha límite del proyecto es el 15 de marzo" > "Entendido —tu fecha límite del proyecto es el 15 de marzo."

Más tarde, en Discord: > "¿Cuándo es mi fecha límite?" > "Tu fecha límite del proyecto es el 15 de marzo, como mencionaste antes."

El bot no necesitó que se lo dijeran de nuevo. La memoria se comparte en toda la instancia de ZeroClaw.

Ajustar el comportamiento por canal

ZeroClaw te permite ajustar el comportamiento por canal:

```toml [channels.discord] token = "..." system_prompt_append = "Estás en un servidor de Discord. Mantén las respuestas concisas. Usa formato markdown." max_response_length = 1500

[channels.telegram] token = "..." system_prompt_append = "Estás en un chat privado de Telegram. Sé conversacional y detallado." max_response_length = 4000

[channels.whatsapp] enabled = true system_prompt_append = "Estás en WhatsApp. Mantén las respuestas cortas —sin markdown, solo texto plano." max_response_length = 500 ```

Misma IA, misma memoria, diferente personalidad por plataforma.

Control de acceso

```toml [channels.telegram.permissions] tools = ["web_search", "file_read", "file_write"]

[channels.discord.permissions] tools = ["web_search"] # solo lectura en servidor público ```

Añadir más canales

```toml [channels.slack] token = "xoxb-..." channels = ["C01234567"]

[channels.signal] enabled = true phone_number = "+1234567890"

[channels.matrix] homeserver = "https://matrix.org" username = "@zeroclaw:matrix.org" password = "..." ```

Cada canal adicional añade aproximadamente 0,5 MB de RAM. Diez canales simultáneos siguen corriendo por debajo de 10 MB en total.

El panorama general

La configuración multicanal resuelve un problema real: tu vida no ocurre en una sola app, y tu asistente de IA tampoco debería. Un binario, un archivo de configuración, una base de datos de memoria, y tu asistente está presente en cada plataforma de conversación que usas —recordando el contexto en todas ellas, usando menos RAM que una sola pestaña del navegador.

Mantente al Día

Recibe actualizaciones sobre nuevos lanzamientos, integraciones e infraestructura de agentes en Rust. Sin spam, cancela cuando quieras.