¿Cómo usar BotFather para crear un bot en Telegram?

Introducción: ¿Qué es BotFather y por qué lo necesitas?
Si alguna vez has querido automatizar tareas en Telegram, recibir notificaciones personalizadas o interactuar con tus usuarios de forma programática, has llegado al lugar indicado. El primer paso para todo ello es crear un bot, y la herramienta oficial para hacerlo es BotFather. En este artículo te explicamos cómo usar BotFather para crear un bot en Telegram, desde el registro inicial hasta la configuración avanzada, con ejemplos prácticos y diferencias entre plataformas.
Posicionamiento y evolución de BotFather
BotFather es el bot oficial de Telegram para gestionar otros bots. Desde su lanzamiento, ha sido la puerta de entrada para desarrolladores y entusiastas de la automatización, y su relevancia no ha hecho más que crecer. A lo largo de los años, se han añadido comandos como /setinline, /setjoingroups y /setdomain, que permiten un control más granular sobre el comportamiento del bot. A día de hoy (septiembre de 2026), sigue siendo la única forma de registrar un bot en la plataforma, y su interfaz por comandos se ha mantenido estable, con mejoras en la gestión de tokens y la posibilidad de configurar múltiples bots desde un mismo chat.
Límites y compatibilidad
BotFather no tiene límites de bots por cuenta, aunque la documentación oficial recomienda no superar un número razonable para evitar confusiones de gestión. Todos los bots creados funcionan en cualquier cliente de Telegram (Android, iOS, Desktop), pero algunos comandos avanzados solo están disponibles desde la interfaz de chat con BotFather, no desde aplicaciones de terceros. Además, el token generado es exclusivo para el Bot API, y su seguridad es responsabilidad directa del desarrollador; si se expone, cualquiera podría tomar el control del bot.
Cómo crear tu primer bot paso a paso
El proceso es idéntico en todas las plataformas, ya que se realiza mediante comandos de texto. Asegúrate de tener una cuenta de Telegram activa antes de empezar.
Paso 1: Iniciar conversación con BotFather
Abre Telegram y busca el contacto oficial @BotFather (el que tiene el check azul). Inicia el chat y pulsa el botón Start. Recibirás una lista de comandos disponibles. En dispositivos móviles (Android/iOS) puedes acceder directamente desde la búsqueda, mientras que en Desktop es similar: busca en la barra superior y selecciona el contacto verificado para empezar.
Paso 2: Usar el comando /newbot
Escribe /newbot y envía el mensaje. BotFather te pedirá dos datos:
- Nombre para mostrar: es el nombre visible en los chats (ej. “Mi Bot Asistente”).
- Nombre de usuario: debe terminar en
bot(ej.MiAsistenteBot). Es único, así que si está ocupado tendrás que probar con otro.
Si todo va bien, recibirás un mensaje con el token de acceso. Guárdalo de inmediato, ya que solo se muestra una vez. Por ejemplo, un token típico se ve así: 1234567890:ABCdefGHIjklmNOPqrStuVWXyz. No compartas este token bajo ninguna circunstancia, pues cualquiera que lo tenga podría controlar tu bot.
Paso 3: Configuración básica del bot
Una vez creado, puedes personalizarlo con los siguientes comandos:
/setdescription– Define la descripción breve que aparece al buscar el bot (máximo 512 caracteres)./setabout– Texto informativo que se muestra en el perfil del bot (hasta 120 caracteres)./setuserpic– Sube una foto de perfil para el bot (debe tener al menos 512×512 píxeles)./setcommands– Lista de comandos que el bot entiende, lo que ayuda a los usuarios a descubrir su funcionalidad.
Por ejemplo, si tu bot responde a /start y /precio, puedes registrar estos comandos con una descripción breve: “/start – Inicia la conversación” y “/precio – Muestra el precio actual”. Esto mejora la experiencia de usuario y facilita la adopción del bot.
Integración con tu servidor: Webhooks vs. Polling
Una vez creado el bot, necesitas que tu código reciba los mensajes que los usuarios le envían. Telegram Bot API ofrece dos métodos: webhooks y long polling. La elección depende de tu infraestructura y del tipo de aplicación que estés construyendo.
Webhooks
Telegram envía las actualizaciones a una URL pública que tú configures. Es más eficiente y se recomienda para bots en producción, ya que evita consultas innecesarias. Puedes configurarlo con el método setWebhook de la API. Necesitarás un servidor con HTTPS (puedes usar Let’s Encrypt gratis para obtener un certificado válido).
Long polling
Tu servidor consulta periódicamente el endpoint getUpdates para ver si hay nuevos mensajes. Es más sencillo de probar localmente o cuando no tienes un dominio público. Sin embargo, consume más recursos y puede generar latencia adicional, por lo que es menos adecuado para bots con alto tráfico.
Advertencia: No combines webhook y polling al mismo tiempo. Si configuras un webhook, los mensajes se entregarán allí y no los recibirás porgetUpdates. Para deshabilitarlo, usadeleteWebhooky luego podrás volver al polling.
Comandos avanzados de BotFather
Más allá de la creación y configuración básica, BotFather permite ajustar aspectos clave del comportamiento del bot, dándote un control más fino sobre cómo interactúa con los usuarios.
/setinline
Activa el modo inline: el bot puede ser usado desde cualquier chat escribiendo @nombredeusuariobot seguido de una consulta. Es útil para bots de búsqueda, stickers o información rápida. BotFather te pedirá un placeholder de ejemplo que aparecerá en el campo de entrada.
/setjoingroups
Permite que el bot sea añadido a grupos. Por defecto, solo puede unirse a grupos si tiene esta opción activada. Es necesario si tu bot interactúa con grupos, por ejemplo para moderar o enviar notificaciones colectivas.
/setprivacy
Controla si el bot ve todos los mensajes del grupo o solo aquellos que lo mencionan explícitamente. Si está en modo privado (predeterminado), solo recibe mensajes que comiencen con / o que incluyan @nombredeusuariobot. Desactivar el modo de privacidad permite procesar todos los mensajes, pero requiere permisos de administrador en el grupo.
/setdomain
Asocia un dominio personalizado a tu bot para que los usuarios no vean el prefijo t.me/ en el enlace de invitación. Solo está disponible para bots verificados o con cierto volumen de uso, y debes demostrar la propiedad del dominio mediante un registro TXT en el DNS.
Gestión de tokens y seguridad
Con el tiempo, quizás necesites revocar o cambiar el token de tu bot. BotFather ofrece estos comandos para mantener la seguridad de tu proyecto:
/token– Muestra el token actual del bot seleccionado./revoke– Revoca el token anterior y genera uno nuevo. ¡Cuidado! Cualquier servicio que usara el token anterior dejará de funcionar inmediatamente./setname– Cambia el nombre para mostrar./setusername– Cambia el nombre de usuario (debe terminar enbot)./delete– Elimina el bot permanentemente, sin posibilidad de recuperación.
Es buena práctica revocar el token si sospechas que ha sido comprometido, o si estás migrando de servidor y quieres invalidar el anterior. Además, rota el token periódicamente si el bot maneja datos sensibles.
Solución de problemas comunes
A continuación, abordamos algunos problemas típicos que puedes encontrar al trabajar con bots en Telegram y cómo resolverlos paso a paso.
El token no funciona
Asegúrate de haber copiado exactamente el token, incluyendo los dos puntos y la parte final. Si sigue sin funcionar, usa /token en BotFather para obtenerlo de nuevo o revocar el anterior. Además, verifica que tu código esté usando el endpoint correcto: https://api.telegram.org/bot<token>/...; un error tipográfico en la URL puede invalidar la autenticación.
El webhook no responde
Causas posibles: certificado SSL inválido, URL incorrecta o el puerto no está abierto. Puedes probar con una herramienta como curl: curl -X POST "https://api.telegram.org/bot<token>/setWebhook?url=https://tudominio.com/ruta". Si el webhook está configurado correctamente, al llamar getWebhookInfo deberías ver el estado ok y una URL coincidente.
El bot no responde en grupos
Verifica que /setjoingroups esté activado. Además, si el bot está en modo privado, solo responderá a comandos o menciones. Si tu bot necesita leer todos los mensajes, desactiva el modo privado con /setprivacy (requiere que el bot sea administrador del grupo).
Mejores prácticas para tu bot
Crear un bot es solo el comienzo. Aquí algunas recomendaciones basadas en la experiencia comunitaria y la documentación oficial para que tu proyecto sea robusto y seguro.
- Nunca expongas el token en código cliente, repositorios públicos o mensajes. Úsalo solo en el servidor y considera usar variables de entorno para almacenarlo.
- Implementa rate limiting para evitar abusos. La API de Telegram tiene límites (30 mensajes por segundo por chat aproximadamente), pero es buena práctica controlar el flujo también desde tu lado.
- Maneja errores adecuadamente: captura excepciones de red, reintenta en fallos temporales y registra logs para depuración.
- Actualiza regularmente tu configuración en BotFather si cambian los comandos o la descripción, así los usuarios siempre tendrán información precisa.
- Prueba en entorno sandbox antes de desplegar en producción. Puedes crear varios bots de prueba para experimentar sin afectar al bot principal.
Escenarios aplicables y no aplicables
BotFather es adecuado si necesitas un bot para tu proyecto personal, una comunidad pequeña o una automatización interna. También es ideal para probar ideas antes de escalar a algo más grande. Sin embargo, no está diseñado para bots que requieran autenticación de terceros o páginas web complejas integradas; para eso necesitarás el Bot API directamente y posiblemente un framework adicional. Tampoco es un sustituto de una plataforma de bots comerciales si buscas monetización avanzada o funcionalidades fuera del ecosistema de Telegram.
Preguntas frecuentes
¿Puedo cambiar el nombre de usuario de mi bot después de crearlo?
Sí. Usa el comando /setusername en BotFather, selecciona el bot y escribe el nuevo nombre de usuario (debe terminar en bot). Los usuarios que ya lo tengan en sus contactos no perderán el acceso, pero el enlace t.me/nuevonombre será el nuevo a partir del cambio.
¿Cuántos bots puedo crear con una sola cuenta de Telegram?
No hay un límite oficial documentado. En la práctica, puedes crear varios, pero cada uno debe tener un nombre de usuario único. Si gestionas muchos, te recomendamos llevar un registro de sus tokens y configuraciones para evitar confusiones.
¿Puedo usar BotFather para eliminar un bot que ya no uso?
Sí, con el comando /delete. Al seleccionar el bot, se eliminará permanentemente y su token dejará de ser válido. No hay forma de recuperarlo después, así que asegúrate de que ya no lo necesitas.
¿Es necesario tener conocimientos de programación para crear un bot con BotFather?
Solo para la parte de configuración básica (creación, comandos) no se requiere programación. Pero para que el bot responda a interacciones, debes escribir código que consuma la Bot API, ya sea con Python, Node.js, PHP o cualquier lenguaje que soporte HTTP. Si no tienes experiencia, puedes comenzar con ejemplos simples de la documentación oficial.
Conclusión
Crear un bot en Telegram con BotFather es un proceso sencillo que abre las puertas a la automatización y la interacción con usuarios de forma programática. Desde la generación del token hasta la configuración de webhooks y comandos inline, cada paso está bien documentado y es accesible incluso para principiantes. Recuerda proteger tu token, probar en entornos seguros y mantener actualizada la configuración. Ahora que sabes cómo hacerlo, ¡es hora de dar vida a tu idea y explorar todo lo que los bots pueden ofrecer!