Volver

03. Configuración de canales en OpenClaw: Comenzando con Telegram

Este artículo usa Telegram como ejemplo para detallar el proceso completo de configuración de canales en OpenClaw. Cubre la creación del Bot, configuración de autenticación, políticas de seguridad, configuración de grupos, y los métodos de configuración para WhatsApp, Discord y otros canales. Te ayuda a conversar con tu asistente de IA a través de tus aplicaciones de mensajería favoritas.

Aplica a OpenClaw v2026.2 | Este artículo asume que ya completaste la instalación de OpenClaw y tienes un Bot Token de Telegram disponible (obtención gratuita).

TL;DR: Telegram es el canal más sencillo de configurar: crea un Bot (@BotFather), obtén el Token, configúralo en ~/.openclaw/openclaw.json, inicia el Gateway. La protección de emparejamiento DM está habilitada por defecto; en grupos se requiere @mención para responder. También se cubre WhatsApp (inicio de sesión con código QR), Discord (Bot Token) y configuración de Slack.

¿Por qué empezar con Telegram?

Comparación de canales

Característica Telegram WhatsApp Discord Slack iMessage
Dificultad de configuración ⭐ Sencillo ⭐⭐ Medio ⭐⭐ Medio ⭐⭐ Medio ⭐⭐⭐ Complejo
Uso gratuito
Bot API ✅ Completa ⚠️ Limitada ✅ Completa ✅ Completa ⚠️ Limitada
Soporte de grupos ⚠️
Soporte de archivos ✅ 2GB ✅ 100MB ✅ 25MB ✅ 1GB
Disponible en China ⚠️ Requiere proxy ⚠️ Requiere proxy ⚠️ Requiere proxy
Índice de recomendación ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐

Razones para elegir Telegram

  1. La configuración más sencilla: Solo necesitas crear un Bot y obtener el Token
  2. La documentación más completa: Telegram Bot API es un referente en la industria
  3. Las funciones más ricas: Soporta comandos, botones, consultas inline, etc.
  4. La comunidad más activa: Es fácil encontrar soluciones a problemas

Creación del Bot de Telegram

Paso 1: Encontrar BotFather

  1. Abre la aplicación Telegram
  2. Busca @BotFather (herramienta oficial de gestión de Bots)
  3. Haz clic para entrar a la conversación
sequenceDiagram
    participant U as Tú
    participant BF as BotFather
    participant TG as Telegram
    
    U->>BF: /newbot
    BF->>U: Introduce el nombre visible del Bot
    U->>BF: My OpenClaw Assistant
    BF->>U: Introduce el nombre de usuario del Bot (debe terminar en bot)
    U->>BF: myclaw_bot
    BF->>TG: Crear Bot
    TG-->>BF: Bot creado exitosamente
    BF->>U: Devuelve el API Token

Paso 2: Crear un nuevo Bot

Envía el comando en BotFather:

/newbot

Sigue las instrucciones:

  1. Nombre visible del Bot: Por ejemplo My OpenClaw (puede tener espacios)
  2. Nombre de usuario del Bot: Por ejemplo myclaw_bot (debe terminar en bot)

Al crearse exitosamente, BotFather devuelve:

Done! Congratulations on your new bot...

Use this token to access the HTTP API:
7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keep your token secure...

⚠️ Importante: Guarda bien el API Token, tiene control completo sobre tu Bot.

Paso 3: Configurar información del Bot (opcional)

# Establecer avatar del Bot en BotFather
/setuserpic
# Selecciona tu Bot, sube una imagen

# Establecer descripción del Bot
/setdescription
# Selecciona tu Bot, introduce el texto de descripción

# Establecer información del Bot
/setabouttext
# Selecciona tu Bot, introduce el texto del perfil

# Establecer comandos del Bot
/setcommands
# Introduce la lista de comandos, por ejemplo:
# start - Comenzar a usar
# help - Obtener ayuda
# status - Ver estado

Configurar OpenClaw

Método A: Variables de entorno (prueba rápida)

# Establecer variable de entorno
export TELEGRAM_BOT_TOKEN="7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Iniciar Gateway
openclaw gateway

Método B: Archivo de configuración (recomendado para producción)

Editar ~/.openclaw/openclaw.json:

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "channels": {
    "telegram": {
      "botToken": "7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  }
}

Método C: Usar CLI para configurar

# Configuración interactiva
openclaw config set channels.telegram.botToken "7123456789:AAH..."

# O a través del asistente onboard
openclaw onboard

Verificar la configuración

# Verificar configuración
openclaw config get channels.telegram.botToken

# Ejecutar diagnóstico
openclaw doctor

# Iniciar Gateway (modo depuración)
openclaw gateway --verbose

Al iniciar exitosamente, deberías ver logs similares a:

[INFO] Gateway starting on port 18789
[INFO] Telegram channel connected
[INFO] Bot: @myclaw_bot
[INFO] Waiting for messages...

Configuración de seguridad

Mecanismo de emparejamiento DM

Por defecto, OpenClaw habilita el mecanismo de emparejamiento DM (dmPolicy: "pairing"), para evitar que desconocidos abusen de tu Bot.

sequenceDiagram
    participant S as Desconocido
    participant B as Bot
    participant G as Gateway
    participant O as Tú
    
    S->>B: Envía mensaje "Hola"
    B->>G: Mensaje llega
    G->>G: Verificar estado de emparejamiento
    G-->>B: No emparejado, devolver código
    B-->>S: "Por favor empareja: código ABC123"
    S->>O: Te dice el código de emparejamiento
    O->>G: openclaw pairing approve telegram ABC123
    G->>G: Añadir a la lista blanca
    G-->>S: Emparejamiento exitoso, puede conversar

Configurar política DM

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "pairing",
      "allowFrom": []
    }
  }
}
Política Descripción Nivel de riesgo
pairing Nuevos usuarios necesitan código de emparejamiento ⭐ Seguro (por defecto)
open Cualquiera puede enviar mensajes ⭐⭐⭐ Peligroso

Gestionar solicitudes de emparejamiento

# Ver lista de emparejamiento pendiente
openclaw pairing list

# Salida ejemplo:
# Channel    Code     User        Created
# telegram   ABC123   @stranger   2026-02-26 10:30:00

# Aprobar emparejamiento
openclaw pairing approve telegram ABC123

# Rechazar emparejamiento
openclaw pairing reject telegram ABC123

# Ver usuarios emparejados
openclaw pairing show telegram

Modo lista blanca

Solo permitir mensajes de usuarios específicos:

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "open",
      "allowFrom": [123456789, 987654321]
    }
  }
}

💡 Obtener ID de usuario de Telegram: Envía cualquier mensaje a @userinfobot, te devolverá tu ID numérico.

Configuración de grupos

Configuración básica de grupos

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}
Opción Descripción
"*" Coincidir con todos los grupos
requireMention En grupos se necesita @mencionar al Bot para responder

Configuración diferenciada multi-grupo

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "-100123456789": {
          "requireMention": false,
          "name": "Grupo de trabajo"
        },
        "-100987654321": {
          "requireMention": true,
          "name": "Grupo de chat"
        },
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

💡 Obtener ID del grupo: Después de añadir el Bot al grupo, envía cualquier mensaje en el grupo y revisa los logs del Gateway para ver el ID del grupo.

Añadir Bot al grupo

  1. En la configuración del grupo, haz clic en “Añadir miembros”
  2. Busca el nombre de usuario de tu Bot (por ejemplo @myclaw_bot)
  3. Selecciona añadir
  4. (Opcional) Establecer el Bot como administrador para obtener más permisos

Configuración de WhatsApp

Método: Inicio de sesión con código QR

WhatsApp usa el protocolo Web, necesita escanear código QR para vincular:

# Iniciar flujo de inicio de sesión
openclaw channels login whatsapp

# El terminal muestra un código QR
# Escanea con WhatsApp del teléfono:
# Ajustes > Dispositivos vinculados > Vincular dispositivo > Escanear código QR
sequenceDiagram
    participant U as Usuario
    participant C as CLI
    participant W as WhatsApp
    participant G as Gateway
    
    U->>C: openclaw channels login whatsapp
    C->>W: Solicitar código QR
    W-->>C: Devolver código QR
    C->>U: Mostrar código QR
    U->>W: Escanear con teléfono
    W-->>C: Autenticación exitosa
    C->>G: Guardar información de autenticación
    G-->>U: WhatsApp conectado

Ejemplo de configuración

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+8613800138000"],
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

Limitaciones de WhatsApp

Limitación Descripción
Teléfono en línea Se necesita el teléfono con WhatsApp en línea para mantener la conexión
Retraso de mensajes Puede haber retrasos de segundos a minutos
Tamaño de archivos Máximo 100MB
Riesgo del número El uso frecuente puede provocar restricciones del número

Configuración de Discord

Crear Bot de Discord

  1. Visita Discord Developer Portal
  2. Haz clic en “New Application”
  3. Introduce el nombre, por ejemplo OpenClaw Assistant
  4. Ve a la página “Bot”, haz clic en “Add Bot”
  5. Copia el Token (no el Application ID)

Configurar permisos OAuth2

  1. Ve a “OAuth2” > “URL Generator”
  2. Marca los siguientes permisos:
Categoría de permisos Permisos específicos
Bot Permissions
General Read Messages/View Channels
General Send Messages
General Send Messages in Threads
General Manage Messages
General Embed Links
General Attach Files
General Read Message History
Text Add Reactions
Text Use Slash Commands
  1. Copia el enlace de invitación generado
  2. Abre el enlace en el navegador, invita al Bot al servidor

Ejemplo de configuración

{
  "channels": {
    "discord": {
      "token": "MTk4NjIyNDgzNDc...",
      "guilds": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

Configuración de características de Discord

{
  "channels": {
    "discord": {
      "token": "your_token",
      "commands": {
        "native": true,
        "text": true
      },
      "mediaMaxMb": 25
    }
  }
}
Opción Descripción
commands.native Habilitar comandos slash nativos de Discord
commands.text Habilitar comandos de texto (como /help)
mediaMaxMb Límite de tamaño de archivos multimedia

Configuración de Slack

Crear App de Slack

  1. Visita Slack API
  2. Haz clic en “Create New App”
  3. Selecciona “From scratch”
  4. Introduce el nombre de la App, selecciona el workspace

Configurar permisos OAuth

En la página “OAuth & Permissions” añade los siguientes Bot Token Scopes:

app_mentions:read
channels:history
channels:read
chat:write
files:read
files:write
groups:history
groups:read
im:history
im:read
im:write
mpim:history
mpim:read
mpim:write
reactions:read
reactions:write
users:read

Instalar en el workspace

  1. Haz clic en “Install to Workspace”
  2. Autoriza los permisos
  3. Copia el Bot User OAuth Token (comienza con xoxb-)

Ejemplo de configuración

{
  "channels": {
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "signingSecret": "..."
    }
  }
}

Habilitar Socket Mode (recomendado)

  1. Habilita en la página “Socket Mode”
  2. Genera un App-Level Token
  3. Configura en OpenClaw:
{
  "channels": {
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "socketMode": true
    }
  }
}

Habilitar múltiples canales simultáneamente

Ejemplo de configuración completa

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "gateway": {
    "port": 18789,
    "bind": "loopback"
  },
  "channels": {
    "telegram": {
      "botToken": "telegram_bot_token",
      "dmPolicy": "pairing",
      "groups": {
        "*": { "requireMention": true }
      }
    },
    "whatsapp": {
      "allowFrom": ["+8613800138000"]
    },
    "discord": {
      "token": "discord_token",
      "guilds": {
        "*": { "requireMention": true }
      }
    },
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-..."
    }
  }
}

Diagrama de enrutamiento de mensajes

flowchart TB
    subgraph Users["Usuarios"]
        WA[Usuario WhatsApp]
        TG[Usuario Telegram]
        DC[Usuario Discord]
        SL[Usuario Slack]
    end
    
    subgraph Gateway["Gateway"]
        MR[Enrutador de Mensajes]
        SM[Gestor de Sesiones]
    end
    
    subgraph Agent["Pi Agent"]
        AI[Núcleo IA]
        CTX[Contexto compartido]
    end
    
    WA --> MR
    TG --> MR
    DC --> MR
    SL --> MR
    MR --> SM
    SM --> AI
    AI --> CTX

Todos los canales comparten el mismo Agent, el contexto se gestiona de forma unificada. Esto significa:

  • Las preguntas hechas en Telegram se pueden continuar discutiendo en WhatsApp
  • Los usuarios de diferentes canales pueden compartir la misma memoria
  • Cada canal puede tener una estrategia de aislamiento de sesión independiente

Comandos de gestión de sesiones

Comandos universales para todos los canales (enviar en el chat):

Comando Función Ejemplo
/status Ver estado de la sesión Muestra modelo, uso de tokens
/new o /reset Reiniciar sesión Borrar contexto, iniciar nueva conversación
/compact Comprimir contexto Resumir historial, liberar tokens
/think <level> Establecer nivel de pensamiento /think high
/verbose on/off Activar/desactivar salida detallada /verbose on
/usage off/tokens/full Modo de visualización de uso /usage full

Resolución de problemas

Bot de Telegram no responde

Síntoma: No hay respuesta después de enviar mensajes

Pasos de diagnóstico:

# 1. Verificar si el Gateway está ejecutándose
curl http://127.0.0.1:18789/health

# 2. Verificar Bot Token
openclaw config get channels.telegram.botToken

# 3. Ver logs detallados
openclaw gateway --verbose

# 4. Usar doctor para diagnóstico
openclaw doctor

Causas comunes:

Mensaje de error Causa Solución
401 Unauthorized Token inválido Obtener nuevo Token
409 Conflict Conflicto de Webhook Eliminar Webhook antiguo
403 Forbidden Bot bloqueado Contactar soporte de Telegram
Connection refused Gateway no ejecutándose Iniciar Gateway

Fallo al escanear código QR de WhatsApp

Síntoma: Muestra fallo después de escanear

Solución:

# Regenerar código QR
openclaw channels logout whatsapp
openclaw channels login whatsapp

# Verificar red
ping web.whatsapp.com

# Limpiar caché de credenciales
rm -rf ~/.openclaw/credentials/whatsapp*

Bot de Discord sin permisos

Síntoma: Bot no responde o sin permisos en el servidor

Solución:

  1. Verificar permisos del rol del Bot
  2. Confirmar que el Bot ha sido invitado al servidor
  3. Re-invitar al Bot (usando la URL OAuth correcta)
# Ver errores de permisos en los logs
openclaw gateway --verbose 2>&1 | grep -i permission

Configuración no tiene efecto

Síntoma: El comportamiento no cambia después de modificar la configuración

Solución:

# 1. Reiniciar Gateway
openclaw gateway --restart

# 2. Limpiar caché
rm -rf ~/.openclaw/cache/*

# 3. Verificar sintaxis del archivo de configuración
cat ~/.openclaw/openclaw.json | jq .

# 4. Verificar prioridad de configuración
openclaw config list

Mejores prácticas de seguridad

1. Seguridad del Token

# No subas el Token al control de versiones
echo ".openclaw/" >> .gitignore

# Usa variables de entorno para almacenar información sensible
export TELEGRAM_BOT_TOKEN="your_token"

# Rota el Token periódicamente (en BotFather)
# El comando /revoke puede regenerar el Token

2. Control de acceso

{
  "channels": {
    "telegram": {
      "dmPolicy": "pairing",
      "allowFrom": [],
      "groups": {
        "*": { "requireMention": true }
      }
    }
  },
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main"
      }
    }
  }
}

3. Auditoría de logs

# Habilitar logs detallados
openclaw gateway --verbose

# Ver historial de sesiones
openclaw sessions list
openclaw sessions show <session-id>

# Auditar ejecución de comandos
grep "bash" ~/.openclaw/logs/gateway.log

Próximos pasos

¡Felicitaciones! Has completado la configuración del primer canal. Ahora puedes:

  1. Probar la conversación → Enviar mensajes en el canal configurado
  2. Instalar Skills → Ampliar las capacidades de la IA
  3. Configurar múltiples canales → Añadir más canales

Resumen de este artículo:

  • Dominaste la creación y configuración de un Bot de Telegram
  • Entendiste el emparejamiento DM y la configuración de grupos
  • Aprendiste los métodos de configuración de WhatsApp, Discord y Slack
  • Conociste cómo habilitar múltiples canales simultáneamente
  • Dominaste la resolución de problemas comunes

Historial de actualizaciones:

  • 2026-02-26: Versión inicial publicada, basada en OpenClaw v2026.2

Navegación de la serie: