Cómo crear un bot de Telegram: paso a paso, con o sin código
Registra un bot en @BotFather en un minuto y haz que responda: un servicio listo, tu código en Python con ejemplo o IA. Perfil, alojamiento, grupos, errores.
¿Vas a lanzar un canal? Empieza por el bot
Conectar un botEn corto. Un bot de Telegram es una cuenta más un programa que responde por ella. La cuenta se crea en un minuto: abre @BotFather, envía
/newbot, elige un nombre y un nombre de usuario que termine enbot, y recibes un token. El programa es un paso aparte: conecta el bot a un servicio listo, ejecuta tu propio código (abajo tienes un ejemplo corto en Python) o pídele a un asistente de IA que lo escriba. Mientras el programa no esté en marcha, el bot no dice nada.
Casi todas las guías de «cómo crear un bot de Telegram» terminan en el token de BotFather. En ese punto el bot todavía no sabe hacer nada. Telegram describe los bots justo así: cuentas especiales conectadas al servidor de su dueño, que es el que procesa los mensajes. Aquí está el camino completo, desde el registro hasta un bot que responde, con el perfil, el alojamiento y los errores en los que más gente se atasca.
Paso 1. Registra el bot en @BotFather
- Abre @BotFather, el bot oficial de Telegram para crear bots, y pulsa Iniciar (Start). Funciona igual en el móvil que en el ordenador.
- Envía
/newbot. - Envía un nombre. Aparece en los chats y en los contactos, y se puede cambiar en cualquier momento.
- Envía un nombre de usuario: de 5 a 32 caracteres entre letras latinas, dígitos y guiones bajos, terminado en
bot(tetris_bot,TetrisBot). Las mayúsculas y minúsculas dan igual, y el nombre de usuario no se puede cambiar después. Si está ocupado, BotFather te pide otro; antes puedes comprobar si ya está ocupado en el comprobador de nombres de usuario. - BotFather responde con el token, una cadena como
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.
El token es una llave: quien lo conoce controla el bot. No lo publiques ni lo escribas en código que subas a internet. Cómo encontrar el token más adelante, comprobarlo y revocar uno filtrado lo explica la guía del token del bot.
La Mini App de BotFather también hace todo esto, con botones en lugar de comandos.
Paso 2. Configura el perfil del bot
Quien abre el bot por primera vez ve su nombre, su imagen y su descripción antes del primer mensaje. Todo eso se configura en @BotFather —con los comandos de abajo o desde /mybots → tu bot—, y una parte se puede editar directamente en la página de perfil del bot.
| Comando | Qué configura | Dónde se ve |
|---|---|---|
/setuserpic | la foto de perfil | en la lista de chats y en el perfil |
/setdescription | una descripción de hasta 512 caracteres | en el chat vacío con el bot, hasta que la persona le escribe |
/setabouttext | un texto corto de hasta 120 caracteres | en el perfil del bot y junto al enlace cuando alguien comparte el bot |
/setcommands | la lista de comandos con sus descripciones | como sugerencias cuando la persona escribe / |
/setname | el nombre | en todos los sitios donde aparece el bot |
La descripción y el texto corto se pueden configurar en varios idiomas —con los métodos de la Bot API setMyDescription y setMyShortDescription y un language_code—, y cada persona ve la versión en el idioma de su Telegram.
Paso 3. Enseña al bot a responder
Aquí es donde se quedan casi todas las guías. Telegram solo le entrega los mensajes al bot; quien los responde es el programa al que le diste el token. Hay tres formas de conseguir ese programa:
| Servicio listo | Código propio | Código con un asistente de IA | |
|---|---|---|---|
| Hay que programar | no | sí | un poco: ejecutarlo y comprobarlo |
| Dónde funciona el programa | en el servicio | en tu ordenador o servidor | en tu ordenador o servidor |
| Quién lo arregla si el bot se cae | el servicio | tú | tú |
| Qué puede hacer el bot | lo que sepa hacer el servicio | todo lo que escribas | todo lo que escribas y compruebes |
Un servicio listo
Son constructores de conversaciones y plataformas donde el trabajo del bot —una tienda, un canal de pago, la atención al cliente— ya está hecho. Tú conectas el bot, y el programa y el servidor se quedan del lado del servicio. Cuál encaja con cada tarea lo explica crear un bot sin programar.
Si el bot es para un canal, AdminHub puede crearlo directamente desde la app. Telegram permite que un bot cree otros, los llamados bots gestionados, así que tú solo eliges un nombre y un nombre de usuario en una ventana de Telegram, y la app recibe el token del propio Telegram, sin que tengas que copiarlo. Si la entrega no se completa o el bot ya existe, pegas el token a mano. Las dos rutas aparecen en la guía para crear un bot para tu canal.
Código propio: un bot en Python
El ejemplo usa aiogram 3, una de las bibliotecas para la Bot API que aparecen en la página de ejemplos de código de Telegram. El bot te saluda con /start y te devuelve tus mensajes.
- Instala Python 3.10–3.14 (aiogram todavía no es compatible con 3.15). En una terminal, crea un entorno virtual e instala la biblioteca:
python3 -m venv .venv
source .venv/bin/activate
pip install aiogram
En Windows: python -m venv .venv, después .venv\Scripts\activate y después pip install aiogram.
- Guarda el código como
bot.py:
import asyncio
import os
from aiogram import Bot, Dispatcher
from aiogram.filters import CommandStart
from aiogram.types import Message
dp = Dispatcher()
@dp.message(CommandStart())
async def start(message: Message) -> None:
await message.answer(f"¡Hola, {message.from_user.first_name}! Envíame cualquier mensaje y te lo repetiré.")
@dp.message()
async def echo(message: Message) -> None:
await message.copy_to(message.chat.id)
async def main() -> None:
bot = Bot(token=os.environ["BOT_TOKEN"])
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
- En la misma ventana de la terminal, pasa el token en una variable de entorno en lugar de escribirlo en el código (el tutorial de Telegram aconseja lo mismo) y ejecuta el programa:
export BOT_TOKEN="token de BotFather"
python bot.py
En Windows, en lugar de export: set BOT_TOKEN=tu_token en el Símbolo del sistema o $env:BOT_TOKEN="tu_token" en PowerShell.
Abre el bot en Telegram y pulsa Iniciar: te responde. Detén el programa (Ctrl+C) y el bot deja de responder. Prueba el código con un bot aparte: un bot que ya está conectado a un servicio tiene un webhook configurado, y el polling no funcionará con él. Otras bibliotecas populares de esa misma lista son python-telegram-bot para Python, y grammY y Telegraf para JavaScript.
Código con un asistente de IA
Telegram dice abiertamente que su documentación de bots está escrita pensando también en la IA: si tienes poca experiencia programando, puedes pedirle a un asistente de IA que la lea y te ayude a empezar. Describe qué debe hacer el bot, pide código para una biblioteca concreta y ejecútalo igual que el ejemplo de arriba. Dos cosas siguen siendo cosa tuya: no pegues el token en el chat con el asistente —deja que el código lo lea de una variable de entorno— y prueba el bot tú mismo antes de invitar a nadie.
Paso 4. Decide dónde funcionará el bot
Mientras el programa funcione en tu ordenador, el bot solo responde cuando el ordenador está encendido. El tutorial de Telegram lo dice sin rodeos y propone un servidor (un VPS) o un servicio parecido para que funcione todo el tiempo. Si elegiste un servicio listo, de eso se encarga él.
El programa puede recibir los mensajes de dos maneras, y no funcionan a la vez:
- getUpdates (long polling). El propio programa le pide a Telegram los mensajes nuevos. Así funciona el ejemplo de arriba: sirve cualquier ordenador y no hace falta ninguna dirección en internet.
- Un webhook. Telegram envía cada mensaje a tu dirección HTTPS, en el puerto 443, 80, 88 u 8443. Lo necesitas cuando el código funciona en una nube que se pone en marcha bajo demanda.
Mientras haya un webhook configurado, getUpdates no funciona. Los mensajes que el bot todavía no ha recogido, Telegram los guarda hasta 24 horas.
Paso 5. Invita a las primeras personas
Un bot no puede escribirle primero a una persona: la persona tiene que abrir el bot y pulsar Iniciar, o añadirlo a un grupo. Así que comparte el enlace t.me/usuario_de_tu_bot; la gente también puede encontrar el bot por su nombre de usuario en la búsqueda de Telegram.
Límites de envío que conviene conocer de antemano (según el Bots FAQ de Telegram):
- en un mismo chat: no más de un mensaje por segundo, aproximadamente;
- en un grupo: no más de 20 mensajes por minuto;
- en una difusión: unos 30 mensajes por segundo. Más rápido solo se puede con las difusiones de pago: hasta 1.000 mensajes por segundo, a 0,1 estrellas por cada mensaje por encima de los 30 por segundo gratuitos. Se pueden activar cuando el bot tiene al menos 100.000 estrellas en su saldo y al menos 100.000 usuarios activos al mes.
Un bot en un grupo o un canal
- Un grupo. Añade el bot como miembro. Por defecto funciona en modo de privacidad (privacy mode): ve los comandos dirigidos a él, las respuestas a sus propios mensajes y los mensajes de servicio, pero no toda la conversación. Un bot administrador ve todos los mensajes, y el modo se puede desactivar con
/setprivacy; después hay que volver a añadir el bot al grupo. Más detalles en cómo añadir un bot a un grupo. - Un canal. Un bot solo puede publicar en un canal si es uno de sus administradores con permiso para publicar mensajes.
Para que el bot escriba en el chat correcto, necesita su chat ID. Todos los tipos de chat se explican en la guía del chat ID.
Por qué el bot no responde
- El programa no está en marcha, o se ha caído. El propio Telegram no responde por el bot.
- Hay un webhook configurado y el código lee getUpdates, o al revés.
- Hay dos copias del programa en marcha con el mismo token, y se estorban al recoger las actualizaciones.
- En un grupo el bot no ve los mensajes: es el modo de privacidad, mira arriba.
- El bot no puede escribirle a una persona: esa persona todavía no ha pulsado Iniciar, o ha bloqueado el bot.
- El token se sustituyó en BotFather: el antiguo dejó de funcionar y el programa recibe Unauthorized. Pon el nuevo.
Cuánto cuesta
Registrar un bot con @BotFather y enviar mensajes dentro de los límites normales es gratis. El dinero se va en lo que funciona detrás del bot: un servidor para tu propio código o el plan de un servicio. Las estrellas se cobran por las difusiones de pago, que hacen falta para enviar más de unos 30 mensajes por segundo y solo están disponibles para bots grandes.
Fuentes, comprobadas en octubre de 2026: Telegram Bots — cómo funcionan los bots, un bot no inicia la conversación por su cuenta; Bot features — BotFather (/newbot, reglas del nombre de usuario, perfil, comandos de edición, la Mini App de BotFather), Privacy Mode, Managed Bots, la documentación pensada para la IA; Bots FAQ — qué ve un bot, long polling y webhooks, límites y difusiones de pago; Telegram Bot API — getUpdates y setWebhook (puertos, actualizaciones guardadas 24 horas), setMyDescription y setMyShortDescription; Bot tutorial — el token fuera del código, el alojamiento; Bot API Library Examples — bibliotecas para la Bot API.
Lo que la gente suele preguntar
- ¿Puedo crear un bot de Telegram gratis?
- Registrar un bot con @BotFather no cuesta nada, y el envío normal de mensajes a través de la Bot API tampoco. Lo que se paga es lo que funciona detrás del bot: tu propio servidor si escribes código, o un servicio que gestiona el bot por ti. Para enviar más rápido que unos 30 mensajes por segundo hacen falta las difusiones de pago, que cuestan estrellas y solo están disponibles para bots grandes.
- ¿Puedo crear un bot de Telegram desde el móvil?
- Sí. @BotFather es un chat normal, y /newbot, /mybots y los demás comandos funcionan en la app móvil exactamente igual que en el ordenador; BotFather también tiene una Mini App con botones en lugar de comandos. Lo único incómodo en el móvil es ejecutar tu propio código, que necesita un ordenador o un servidor.
- ¿Hay que saber programar para crear un bot?
- Para registrarlo, no: son unos pocos mensajes a @BotFather. Para que el bot haga algo, tiene que responder por él un programa: puedes escribirlo tú, pedirle a un asistente de IA que lo escriba o conectar el bot a un servicio listo donde ese trabajo ya está hecho.
- ¿Por qué mi bot no responde?
- Casi siempre porque el programa del bot no está en marcha: Telegram solo entrega los mensajes, y quien responde es tu código o tu servicio. También pasa que el bot tiene un webhook configurado mientras el código lee las actualizaciones con getUpdates, y las dos cosas no funcionan a la vez. En un grupo donde no es administrador, un bot por defecto solo ve los comandos dirigidos a él, las respuestas a sus mensajes y los mensajes de servicio.
- ¿Puedo cambiar el nombre de usuario de mi bot?
- No. El nombre se cambia con /setname cuando quieras, pero el nombre de usuario que termina en bot no se puede cambiar después de crearlo (encima se puede añadir un nombre de usuario coleccionable comprado en Fragment). Si no te sirve, crea un bot nuevo; el antiguo se puede eliminar con /deletebot, lo que libera su nombre de usuario, pero un bot eliminado no se puede recuperar.
- ¿Cómo hago un chatbot con IA en Telegram?
- Crea el bot en @BotFather y conéctalo a un programa o servicio que pase las preguntas a un modelo de lenguaje y devuelva las respuestas. Ese programa puedes escribirlo tú, y el propio Telegram propone leer su documentación junto con un asistente de IA, o puedes conectar el bot a un servicio que ya trae respuestas con IA.