Canal Telegram de OpenClaw
Conecta OpenClaw a Telegram usando el framework grammY Bot API. Crea un bot de Telegram a través de @BotFather, obtén el token, y tu asistente de IA estará activo en Telegram en minutos. Usa long-polling por defecto con modo Webhook opcional. Uno de los canales más fáciles de configurar, con funciones ricas como botones inline, stickers, reacciones y soporte de grupos.
Telegram Funciones compatibles
Mensajes de texto
Compatible
Medios y archivos
Compatible
Reacciones
Compatible
Hilos
Compatible
Mensajes de voz
Compatible
Chat grupal
Compatible
Telegram Requisitos previos
- Una cuenta de Telegram
- Un Token de Bot de @BotFather (envía /newbot a @BotFather)
- OpenClaw Gateway en funcionamiento y configurado
- Node.js 18+ instalado en tu servidor
Telegram Configuración rápida
Crear un bot con @BotFather
Abre Telegram, busca @BotFather y envía /newbot. Sigue las indicaciones para nombrar tu bot y obtener el token de API. Guarda este token — lo necesitarás para la configuración.
Agregar configuración del canal Telegram
Agrega la configuración del canal Telegram en ~/.openclaw/openclaw.json. Pega el token del bot de @BotFather en el campo botToken. Configura el dmPolicy (pairing, allowlist u open) para controlar quién puede comunicarse con tu asistente.
Iniciar Gateway y probar
Inicia el proceso Gateway. Busca tu bot en Telegram y envíale un mensaje. Si usas la política pairing por defecto, aprueba al remitente con 'openclaw pairing approve telegram <code>'. OpenClaw debería responder a través del asistente de IA.
Telegram Ejemplo de configuración
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "YOUR_BOT_TOKEN_FROM_BOTFATHER",
"dmPolicy": "pairing"
}
}
}Telegram Documentación Detallada
Descripción de la arquitectura
Crear tu bot con @BotFather
Políticas de DM
{
"channels": {
"telegram": {
"dmPolicy": "pairing",
"allowFrom": [123456789, 987654321]
}
}
}Gestión de grupos
{
"channels": {
"telegram": {
"groupPolicy": "open",
"requireMention": false,
"groups": ["-1001234567890"]
}
}
}Formato y streaming de mensajes
{
"channels": {
"telegram": {
"streamMode": "partial",
"chunkMode": "newline"
}
}
}Botones inline
{
"channels": {
"telegram": {
"capabilities": {
"inlineButtons": "all"
}
}
}
}Stickers y medios
Reacciones
{
"channels": {
"telegram": {
"reactionNotifications": "own",
"reactionLevel": "ack"
}
}
}Comandos y herramientas
Modo Webhook
{
"channels": {
"telegram": {
"webhookUrl": "https://your-domain.com/telegram/webhook",
"webhookSecret": "your-random-secret-string"
}
}
}Telegram Referencia de Configuración
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Activar o desactivar el canal Telegram |
| botToken | string | "" | Token Bot API de @BotFather. También soporta variable env TELEGRAM_BOT_TOKEN |
| dmPolicy | string | "pairing" | Control de acceso DM. Opciones: pairing, allowlist, open |
| allowFrom | number[] | [] | IDs de usuario Telegram permitidos (cuando dmPolicy es allowlist) |
| groupPolicy | string | "disabled" | Política de grupo. Opciones: disabled, open, allowlist |
| groups | string[] | [] | Lista de IDs de grupos permitidos |
| requireMention | boolean | true | Requerir @mención en grupos |
| streamMode | string | "partial" | Modo streaming. Opciones: partial, block |
| chunkMode | string | "split" | División de respuestas largas. Opciones: split, newline |
| webhookUrl | string | "" | URL HTTPS para modo Webhook |
| webhookSecret | string | "" | Token secreto para verificación Webhook |
| reactionNotifications | string | "off" | Notificaciones de reacciones. Opciones: off, own, all |
| reactionLevel | string | "ack" | Capacidad de reacción del bot. Opciones: off, ack, minimal, extensive |
| capabilities.inlineButtons | string | "off" | Modo botones inline. Opciones: off, dm, group, all, allowlist |
| configWrites | boolean | true | Migración auto de IDs al actualizar a supergrupo |
Activar o desactivar el canal Telegram
Token Bot API de @BotFather. También soporta variable env TELEGRAM_BOT_TOKEN
Control de acceso DM. Opciones: pairing, allowlist, open
IDs de usuario Telegram permitidos (cuando dmPolicy es allowlist)
Política de grupo. Opciones: disabled, open, allowlist
Lista de IDs de grupos permitidos
Requerir @mención en grupos
Modo streaming. Opciones: partial, block
División de respuestas largas. Opciones: split, newline
URL HTTPS para modo Webhook
Token secreto para verificación Webhook
Notificaciones de reacciones. Opciones: off, own, all
Capacidad de reacción del bot. Opciones: off, ack, minimal, extensive
Modo botones inline. Opciones: off, dm, group, all, allowlist
Migración auto de IDs al actualizar a supergrupo
Telegram Preguntas Frecuentes
Telegram Solución de Problemas
El modo privacidad está activado por defecto. El bot solo recibe @menciones y comandos slash.
Token incorrecto, Gateway no iniciado, o problema de red.
URL Webhook inaccesible, certificado SSL inválido, o Webhook mal registrado.
Telegram tiene límite de 4,096 caracteres. Las respuestas largas se dividen automáticamente.