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 | 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
- La configuración más sencilla: Solo necesitas crear un Bot y obtener el Token
- La documentación más completa: Telegram Bot API es un referente en la industria
- Las funciones más ricas: Soporta comandos, botones, consultas inline, etc.
- La comunidad más activa: Es fácil encontrar soluciones a problemas
Creación del Bot de Telegram
Paso 1: Encontrar BotFather
- Abre la aplicación Telegram
- Busca
@BotFather(herramienta oficial de gestión de Bots) - 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:
- Nombre visible del Bot: Por ejemplo
My OpenClaw(puede tener espacios) - Nombre de usuario del Bot: Por ejemplo
myclaw_bot(debe terminar enbot)
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
- En la configuración del grupo, haz clic en “Añadir miembros”
- Busca el nombre de usuario de tu Bot (por ejemplo
@myclaw_bot) - Selecciona añadir
- (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
- Visita Discord Developer Portal
- Haz clic en “New Application”
- Introduce el nombre, por ejemplo
OpenClaw Assistant - Ve a la página “Bot”, haz clic en “Add Bot”
- Copia el Token (no el Application ID)
Configurar permisos OAuth2
- Ve a “OAuth2” > “URL Generator”
- 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 |
- Copia el enlace de invitación generado
- 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
- Visita Slack API
- Haz clic en “Create New App”
- Selecciona “From scratch”
- 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
- Haz clic en “Install to Workspace”
- Autoriza los permisos
- Copia el Bot User OAuth Token (comienza con
xoxb-)
Ejemplo de configuración
{
"channels": {
"slack": {
"botToken": "xoxb-...",
"appToken": "xapp-...",
"signingSecret": "..."
}
}
}
Habilitar Socket Mode (recomendado)
- Habilita en la página “Socket Mode”
- Genera un App-Level Token
- 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:
- Verificar permisos del rol del Bot
- Confirmar que el Bot ha sido invitado al servidor
- 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:
- Probar la conversación → Enviar mensajes en el canal configurado
- Instalar Skills → Ampliar las capacidades de la IA
- 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:
- ← Anterior: Configuración del entorno y primera ejecución
- → Siguiente: Análisis de conceptos centrales del Gateway