Saltar al contenido principal
beginnerPart 3

Agregar un canal de Telegram a OpenClaw

· 7 min de lectura
Rafael Fernandes
Ingeniero de PLN y Redactor Técnico en WiLine
Share:
OpenClaw+
0/6
🎯 Skill path0/6 earned
Self-hosting OpenClaw

Has desplegado OpenClaw y lo has asegurado detrás de HTTPS. Ahora hazlo utilizable — habla con tu agente desde tu teléfono a través de Telegram. Creamos un bot, lo conectamos, limpiamos la puerta de emparejamiento de OpenClaw y obtenemos una respuesta real. Cada comando y detalle a continuación proviene de una ejecución real.

Reproducibilidad

Continúa desde las Partes 1–2 en la misma Instancia WEC — OpenClaw 2026.6.8. Telegram usa polling (la puerta de enlace consulta la API de Telegram), por lo que no se requiere un webhook o dominio público — esto funciona en una caja privada.


Lo que construirás

Tu teléfono habla con un bot de Telegram; la puerta de enlace de OpenClaw consulta Telegram para mensajes, los procesa a través de tu modelo y responde — no se necesitan puertos de entrada.


Requisitos previos

  • Parte 1 + Parte 2 completadas — OpenClaw ejecutándose en ~/openclaw
  • Una cuenta de Telegram y un cliente de Telegram conectado — la aplicación de teléfono/escritorio, o web.telegram.org. (No puedes crear un bot desde la página web pública t.me; consulta Solución de problemas.)

Paso 1 — Crear un bot de Telegram

En la aplicación de Telegram, toca buscar y escribe BotFather, luego abre la cuenta oficial — la que tiene el check azul.

Buscando a BotFather en Telegram

Toca Iniciar — BotFather responde con los comandos que entiende (verás opciones como /newbot, /mybots, /token, y más). Envía /newbot, luego sigue sus dos indicaciones:

  1. Nombre — un nombre para mostrar, por ejemplo, Mi Agente OpenClaw
  2. Nombre de usuario — debe ser único y terminar en bot, por ejemplo, wiline_openclaw_bot

BotFather confirma con "¡Listo! Felicitaciones por tu nuevo bot" y te da el token — la línea después de Usa este token para acceder a la API HTTP:, como 1234567890:AA....

BotFather emitiendo el token del bot

El token del bot es una credencial

Cualquiera que lo tenga controla tu bot. Difumínalo en la captura de pantalla anterior, y /revoke en BotFather si alguna vez se filtra.


Paso 2 — Conectar el bot a OpenClaw

En la VM, en ~/openclaw, registra el canal con tu token:

docker compose run --rm openclaw-cli channels add --channel telegram --token "<tu-token-de-bot>"
# Cuenta de Telegram "default" añadida.

añadiendo el canal con éxito


Paso 3 — Activar y verificar

Reinicia la puerta de enlace para que reconozca el canal, luego verifica el estado:

docker compose restart openclaw-gateway
docker compose run --rm openclaw-cli channels status
# - Telegram default: habilitado, configurado, en ejecución, modo:polling, token:config

modo:polling significa que la puerta de enlace está consultando activamente Telegram — no se requiere puerto de entrada o webhook.

estado de los canales mostrando Telegram funcionando en modo polling


Paso 4 — Mensaje al bot (puerta de emparejamiento)

Abre tu bot (t.me/<tu-nombre-de-bot>), toca Iniciar, y envía un mensaje.

OpenClaw trata a los remitentes desconocidos como no confiables — así que en lugar de responder, el bot devuelve un código de emparejamiento y tu id de usuario de Telegram. Este es el mismo patrón de seguridad que el emparejamiento de dispositivos en la Parte 2.

Bot respondiendo con el código de emparejamiento


Paso 5 — Aprobar el emparejamiento

En la VM, aprueba el código del mensaje del bot:

docker compose run --rm openclaw-cli pairing approve telegram <código-de-emparejamiento>
# Remitente de telegram aprobado <id>.
# Propietario del comando configurado telegram:<id> (commands.ownerAllowFrom estaba vacío).
nota

Aprobar al primer usuario como propietario del comando cambia la configuración que requiere un reinicio de la puerta de enlace — OpenClaw lo hace automáticamente (verás cambio de configuración requiere reinicio de la puerta de enlace luego el reinicio del proveedor de Telegram en los registros). Espera unos segundos para que vuelva antes de enviar otro mensaje.

Aprobando el emparejamiento en la VM — &quot;Remitente de telegram aprobado …&quot;


Paso 6 — Chatea con tu agente

De vuelta en Telegram, simplemente habla con él — no se necesita configuración adicional; OpenClaw con tu modelo responde de manera conversacional desde el principio. Prueba algo como:

En una oración, ¿cuál es el objetivo de poner un proxy inverso frente a mi agente?

Responde con una respuesta real — la cadena completa está activa: tu teléfono → Telegram → puerta de enlace → OpenAI → respuesta. Tu agente autoalojado ahora está en tu bolsillo. (Proporcionarle herramientas y habilidades vendrá en guías posteriores; el chat conversacional funciona de inmediato.)

El agente respondiendo de manera conversacional a través de Telegram

Habilidad desbloqueada 🏅

Tu agente ahora está en tu bolsillo — una línea privada de Telegram a tu propia IA, sin necesidad de un webhook público.


Solución de problemas (errores reales)

1. BotFather "Iniciar" no hace nada en un navegador

Abrir t.me/BotFather en un navegador web simple muestra un botón de Iniciar que no hace nada — esa página es solo la tarjeta pública del bot y necesita un cliente de Telegram conectado para poder transferir. Usa la aplicación de escritorio/teléfono, o inicia sesión en web.telegram.org (vincula un dispositivo de escritorio escaneando el QR desde tu teléfono: Configuración → Dispositivos → Vincular dispositivo de escritorio), luego envía un mensaje a BotFather allí.

2. El bot devuelve un código de emparejamiento en lugar de responder

No es un error — es la puerta de emparejamiento. Los remitentes desconocidos deben ser aprobados primero (Paso 5). Después de la aprobación, el bot chatea normalmente.

3. Proxy headers detected from untrusted address

Si seguiste la Parte 2, la puerta de enlace registra esto porque Caddy está delante de ella. Es una advertencia, no un fallo. Para silenciarlo y restaurar la detección correcta del cliente, configura gateway.trustedProxies a la red de tu proxy.


Notas de seguridad y dimensionamiento

  • El emparejamiento es la puerta — solo los usuarios de Telegram aprobados llegan al agente; el primer usuario aprobado se convierte en el propietario del comando.
  • Polling, no webhooks — no se abre ningún puerto de entrada, lo que mantiene la protección de la Parte 2 intacta.
  • Dimensionamiento — en una caja de 2 vCPU, la puerta de enlace registró event loop degraded bajo carga. Para un bot ocupado, dale más CPU/RAM.

Finished this tutorial?
Mark it complete to earn Chat from Telegram on your skill path.

¿Qué sigue?

Has terminado Parte 3 de la serie Autoalojamiento de OpenClaw. A continuación:

Luego comienza la serie Autoalojamiento de HermesAutoalojar el Agente Hermes con memoria persistente — para un agente cuyo contexto sobrevive a los reinicios.

Los archivos complementarios para la serie se encuentran en el repositorio de manifiestos de WiLine (enlace que vendrá con el repositorio).


Desmantelamiento

Elimina el canal de Telegram (mantiene el resto de OpenClaw en funcionamiento):

docker compose run --rm openclaw-cli channels remove --channel telegram
docker compose restart openclaw-gateway

Y /revoke el token del bot en BotFather si has terminado con él.

Comments & questions

Hit an error, spotted a typo, or have a question? Leave a note below.