Cómo crear un bot de Telegram
Cómo hacer un bot de Telegram con @BotFather: el comando /newbot, el nombre y un nombre de usuario que termina en bot, el token y cómo protegerlo, comandos, botones y dónde ejecutar el código del bot.
Un bot de Telegram se crea en un chat con el bot oficial @BotFather: envíale /newbot, ponle un nombre al bot y elige un nombre de usuario que termine en bot. BotFather responde con un token: la clave que tu programa usa para controlar el bot. Crear un bot no cuesta nada: Telegram no cobra a los usuarios ni a los desarrolladores por la plataforma de bots. Pero BotFather solo registra el bot. Para que responda a alguien, necesitas un programa que se ejecute en tu computadora o en un servidor.
Cómo crear un bot en BotFather
- Abre @BotFather y toca Iniciar.
- Envía el comando
/newbot. - Escribe el nombre del bot: su nombre visible.
- Escribe el nombre de usuario: la dirección del bot, como
@my_shop_bot. Debe tener de 5 a 32 caracteres, solo letras latinas, dígitos y guiones bajos, y terminar enbot. - BotFather te envía el token. El bot ya existe.
El nombre se puede cambiar más adelante con /setname, pero según la documentación de Telegram el nombre de usuario no se puede cambiar tras la creación: elígelo con cuidado.
El token: qué es y cómo mantenerlo seguro
Un token parece una serie de dígitos y letras separados por dos puntos. Quien lo tiene controla el bot por completo, así que Telegram aconseja guardarlo en un lugar seguro y compartirlo solo con las personas que necesiten acceso directo.
- Nunca pongas el token en código público, en GitHub ni en chats.
- Si se filtra, la documentación de Telegram menciona el comando
/tokenen BotFather para generar uno nuevo. Después actualízalo en todos los sitios donde lo use tu programa. - El token es solo para bots.
api_idyapi_hashson otras claves, para programas que inician sesión como usuario.
Qué configurar en BotFather
/mybots abre un menú interactivo de ajustes de tus bots; lo mismo está disponible en la Mini App de BotFather. El aspecto del bot también se puede definir con comandos independientes:
/setname: el nombre del bot./setdescription: la descripción del bot, un texto breve de hasta 512 caracteres./setabouttext: la información «Acerca de», un texto más corto de hasta 120 caracteres./setuserpic: la imagen de perfil del bot./setcommands: la lista de comandos; Telegram los sugiere cuando alguien escribe/./setjoingroups: si el bot se puede añadir a grupos./setprivacy: qué mensajes recibe el bot en los grupos./deletebot: eliminar el bot y liberar su nombre de usuario.
Cómo hacer que el bot responda
Un bot es un programa que habla con Telegram a través de la Bot API. Cada solicitud va a https://api.telegram.org/bot<token>/METHOD. Hay dos formas de recibir mensajes, y son mutuamente excluyentes:
- getUpdates (long polling): tu programa pide a Telegram los mensajes nuevos. Es el comienzo más fácil: no necesitas una dirección pública.
- Webhook: Telegram envía los mensajes a tu servidor. Requiere HTTPS y uno de los puertos 443, 80, 88 u 8443.
Puedes escribir el código en cualquier lenguaje que pueda hacer solicitudes HTTP. Entre las bibliotecas populares están aiogram y python-telegram-bot para Python, y grammY y Telegraf para JavaScript. El tutorial oficial recorre un bot en Java: de BotFather a «Hello World». Puedes ejecutar el bot en tu propia computadora mientras esté encendida, o en un VPS para que funcione las 24 horas.
Botones y comandos en un bot
- Los comandos son palabras como
/startque el bot procesa; la lista de sugerencias se define con/setcommands. - Los botones en línea bajo un mensaje no envían texto al chat: le envían al bot una pulsación o abren un enlace.
- Los teclados de respuesta muestran respuestas preparadas en lugar del teclado habitual.
- Las Mini Apps son interfaces completas que se abren dentro de Telegram.
Pagos en un bot
Los bienes y servicios digitales en los bots se pagan con Telegram Stars: la factura usa la moneda XTR y no hace falta ningún proveedor de pagos. Las estrellas que el bot haya recibido se retiran a través de Fragment: cómo retirar estrellas de un bot.
¿Necesitas que tu programa compre estrellas o Premium para sus usuarios? El bot Shiba Bank tiene una API para ello: documentación de la API.
Preguntas frecuentes
¿Cómo creo un bot de Telegram sin programar?
Puedes registrar un bot en un minuto con @BotFather, pero para que haga algo necesitas código. El propio Telegram señala que crear un bot requiere al menos algunos conocimientos de programación.
¿Cuánto cuesta crear un bot de Telegram?
Nada: Telegram no cobra a los usuarios ni a los desarrolladores por la plataforma de bots. Solo pagas tu propio servidor si alojas el bot en él.
¿Qué es BotFather?
El bot oficial de Telegram para crear bots y gestionarlos: nombre, descripción, imagen, comandos y token.
¿Cómo obtengo un token de BotFather?
El token llega justo después de /newbot. Si se filtra, el comando /token en BotFather emite uno nuevo.
¿Qué nombre de usuario puede tener un bot?
De 5 a 32 caracteres: letras latinas, dígitos y guiones bajos, y debe terminar en bot, por ejemplo my_shop_bot.
¿Cómo añado botones a un bot de Telegram?
Los botones se definen en el código del bot: botones en línea bajo un mensaje y teclados de respuesta. La lista de comandos del menú / se define en BotFather con /setcommands.


