Cómo obtener el token de un bot de Telegram (y qué hacer si se filtra)
El token de un bot de Telegram es la clave de acceso que te entrega @BotFather al crear el bot. Para obtener el token de un bot nuevo, envía /newbot a @BotFather; si el bot ya existe, ve a /mybots → tu bot → API Token. Aquí también verás cómo comprobarlo, revocarlo si se filtró y guardarlo de forma segura.
Qué es el token del bot y qué formato tiene
El token identifica a tu bot ante la Bot API y, a la vez, funciona como su contraseña. Tiene dos partes separadas por dos puntos:
123456789: el id numérico del bot. No es tu chat id.AAEexampleTokenReplaceWithYours: la parte secreta, la que nunca debes compartir.
En cada petición el token va en la URL, precedido de la palabra bot: https://api.telegram.org/bot<token>/getMe. Quien tenga tu token tiene control total del bot: puede leer lo que le escriben y enviar mensajes en su nombre.
Cómo obtener el token de un bot nuevo
- Abre @BotFather y envía
/newbot. - Escribe el nombre visible del bot.
- Escribe un username de 5 a 32 caracteres (letras latinas, números y guion bajo) que termine en
bot, por ejemploavisos_tienda_bot. - BotFather responde con un mensaje que incluye el token. Cópialo completo, sin espacios ni saltos de línea.
Si es tu primer bot, la guía cómo crear un bot en Telegram cubre el proceso completo, hasta el primer mensaje.
Dónde encontrar el token de un bot que ya existe
- Abre @BotFather y envía
/mybots. - Elige el bot en la lista.
- Pulsa API Token: BotFather te muestra el token actual sin cambiarlo.
BotFather solo muestra los bots de tu propia cuenta. Si el bot lo creó otra persona, necesitas que te pase el token o que te transfiera la propiedad desde /mybots. Evita otros comandos para “recuperar” el token: lo que buscas es ver el actual, no generar uno nuevo que rompa tus integraciones.
Comprobar el token con getMe
La forma más rápida de saber si un token es válido es llamar a getMe:
curl "https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/getMe"
Un token válido devuelve "ok": true con los datos del bot (id, is_bot, username…). Uno inválido devuelve:
{"ok": false, "error_code": 401, "description": "Unauthorized"}
Un 401 Unauthorized casi siempre significa que el token está incompleto, tiene espacios o comillas de más, o fue revocado. Si recibes 404 Not Found, revisa la URL: probablemente falta el prefijo bot. También puedes pegar el token en Bot API Tester y ejecutar getMe desde el navegador: el token se guarda solo en el localStorage de tu navegador y las peticiones van directo a api.telegram.org.
Cómo revocar un token filtrado
Si publicaste el token en GitHub, en una captura de pantalla o en un chat, revócalo de inmediato:
- Envía
/revokea @BotFather y elige el bot, o ve a/mybots→ bot → API Token → Revoke current token. - BotFather genera un token nuevo. El anterior deja de funcionar y cualquier petición con él recibe
401. - Actualiza el token en todos los lugares donde lo usas: servidor, variables de entorno, n8n, asistentes de IA.
- Con el token nuevo, revisa con
getWebhookInfoque no haya un webhook que no reconozcas.
Borrar el commit no basta: alguien pudo copiar el token antes. Revocar es la única forma de invalidarlo.
Cómo guardar el token de forma segura
- Guárdalo en una variable de entorno o en un gestor de secretos, no en el código.
- Agrega tu archivo
.enva.gitignore. - Nunca lo pongas en código del cliente: el JavaScript de una web o de una Mini App, una app móvil o una extensión. Cualquiera podría extraerlo.
- Usa un bot para pruebas y otro para producción.
export TELEGRAM_BOT_TOKEN="123456789:AAEexampleTokenReplaceWithYours"
import os
import requests
token = os.environ["TELEGRAM_BOT_TOKEN"]
r = requests.get(f"https://api.telegram.org/bot{token}/getMe", timeout=10)
print(r.json()["ok"]) # True si el token es válido
Token y chat id en n8n y asistentes de IA
Las herramientas de automatización como n8n y los asistentes de IA que se conectan a Telegram (por ejemplo, OpenClaw) suelen pedirte dos datos: el token del bot, para actuar como tu bot, y un chat id, para saber a quién escribir. El token lo obtienes como se explica arriba; para el chat id sigue la guía cómo obtener el chat id de Telegram.
Dos consejos prácticos:
- Crea un bot dedicado para cada integración. Así puedes revocar un token sin romper las demás.
- No uses el mismo token en dos programas que reciben actualizaciones a la vez. Si una herramienta configura un webhook y otra llama a
getUpdates, la segunda recibirá409 Conflict.
Para confirmar que el token y el chat id funcionan juntos, envía un mensaje de prueba con sendMessage, como se explica en cómo enviar mensajes con la API de Telegram.
Preguntas frecuentes
¿Dónde veo el token de mi bot de Telegram?
En @BotFather: envía /mybots, elige el bot y pulsa API Token. Solo funciona desde la cuenta de Telegram propietaria del bot.
¿El token de un bot de Telegram caduca?
No. Sigue siendo válido hasta que lo revoques con /revoke o elimines el bot con /deletebot.
¿Qué significa el error 401 Unauthorized?
Que la Bot API no reconoce el token: está mal copiado, incompleto o fue revocado. Compruébalo con getMe y, si hace falta, cópialo de nuevo desde /mybots.
¿Qué pasa con mis integraciones si revoco el token?
Todo lo que use el token anterior empezará a recibir 401 Unauthorized. Tendrás que poner el token nuevo en tu servidor, en n8n o en cualquier otra herramienta conectada.
¿Puedo compartir el token con otra persona?
Solo con quien deba controlar el bot: cualquiera que tenga el token tiene control total sobre él. Si otra persona va a administrarlo de forma definitiva, puedes transferirle la propiedad desde /mybots.
¿Cómo es un token de bot de Telegram? ¿Hay un ejemplo?
Tiene la forma 123456789:AAEexampleTokenReplaceWithYours: el id numérico del bot, dos puntos y una parte secreta. La documentación oficial usa como ejemplo 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.
Guías relacionadas
Cómo crear un bot en Telegram paso a paso: de BotFather a tu primer mensaje
Aprende a crear un bot de Telegram: /newbot en @BotFather, token, prueba con getMe y tu primer mensaje con curl y Python. Gratis y sin servidor.
Cómo enviar mensajes con la API de Telegram: sendMessage paso a paso
Envía mensajes con la Bot API de Telegram: sendMessage con curl, Python y JavaScript, formato HTML y MarkdownV2, botones inline y errores 400, 403 y 429.
Webhook de Telegram: cómo configurar setWebhook para tu bot (Python y n8n)
Configura el webhook de tu bot de Telegram: requisitos HTTPS, setWebhook con secret_token, getWebhookInfo, handler en Python y errores típicos en n8n.
Cómo obtener el chat id de Telegram: usuarios, grupos, canales y temas
Obtén el chat id de Telegram para tu bot con getUpdates: usuarios, grupos, supergrupos (-100…), canales y temas, y qué hacer si result viene vacío.