Cómo crear un bot de Telegram desde cero: Guía para principiantes
Crear un bot de Telegram empieza con BotFather y un token de API, no con decidir un framework. Aquí tienes el camino para principiantes, desde el primer token hasta un bot que se mantiene en línea.
Michael ChenEl dueño de una pequeña tienda recibe las mismas tres preguntas en los mensajes directos de Telegram todos los días: tiempos de envío, política de devoluciones, fechas de reposición. Responderlas a mano le consume una hora antes del almuerzo. Un amigo le sugiere crear un bot para que se encargue de eso. El dueño nunca ha escrito una línea de código.
La buena noticia: la primera versión de un bot de Telegram no necesita mucho código, y nada de eso requiere tocar los servidores de Telegram directamente. Todo se canaliza a través de una herramienta oficial creada exactamente para esto.
Empieza con BotFather, no con un framework
Todo bot de Telegram comienza de la misma manera, a través de una conversación con @BotFather, el propio bot de Telegram para crear bots. Abre un chat con él, envía /newbot, elige un nombre para mostrar y luego un nombre de usuario que termine en "bot". BotFather te entrega un token de API de inmediato. Ese token es la contraseña del bot para los servidores de Telegram, y cualquiera que lo tenga puede controlar el bot, así que trátalo como tratarías las credenciales de administrador de un sitio web, no como algo para pegar en un grupo público o subir a un repositorio de código público.
En este punto, técnicamente tienes un bot funcional. Todavía no hace nada porque no hay ningún código escuchando los mensajes que se le envían.
Elige un lenguaje antes de elegir un tutorial
La mayoría de las guías para principiantes usan Python por defecto porque las bibliotecas de la comunidad son maduras y la sintaxis se lee casi como inglés sencillo. Node.js es adecuado para personas que ya se sienten cómodas con JavaScript, especialmente si un bot necesita comunicarse con una aplicación web que ya estés ejecutando. Los equipos más grandes a veces recurren a Java o Go cuando un bot tiene que manejar tráfico pesado, pero rara vez es el punto de partida para un primer proyecto.
| Lenguaje | Tiempo de configuración típico (ilustrativo) | Mejor para |
|---|---|---|
| Python | 30-60 minutos para un bot de respuestas básico | Primer bot, prototipos rápidos |
| Node.js / JavaScript | 30-60 minutos | Equipos que ya usan un backend en JS |
| Java o Go | Medio día o más para una configuración mínima | Bots de alto tráfico o empresariales |
Nota: los tiempos de configuración varían mucho según la experiencia del desarrollador; las cifras anteriores son estimaciones ilustrativas, no puntos de referencia medidos.
Qué debería hacer una primera versión
Resiste la tentación de crear todas las funciones antes de probar nada. Una primera versión funcional suele cubrir tres comportamientos: responder al comando /start con un saludo, responder a un puñado de palabras clave fijas y reenviar cualquier cosa que no reconozca a un humano. Esta última parte es más importante de lo que parece. Los bots que se quedan en silencio ante entradas inesperadas frustran mucho más a los usuarios que los bots con un conjunto de funciones más pequeño.
- Responde a
/starty/helpcon un menú breve de lo que puede hacer el bot. - Reconoce un pequeño conjunto de palabras clave relacionadas con tus preguntas repetitivas reales, no una lista inventada.
- Ofrece como alternativa "un humano se pondrá en contacto" en lugar de silencio cuando no haya coincidencias.
Una vez que ese ciclo funcione de manera confiable, añadir publicaciones programadas, comandos de gestión de grupos o una consulta a una base de datos se convierte en un paso más pequeño, no en una reconstrucción.
Dónde debe alojarse el bot
El código que está en tu portátil deja de responder en cuanto cierras la tapa. Un bot que debe funcionar de forma continua necesita un servidor que permanezca encendido: un VPS pequeño, una plataforma de contenedores o una función serverless que se active con los mensajes entrantes. Ninguna de estas opciones tiene que ser cara para un bot de bajo tráfico.
| Opción de alojamiento | Costo mensual (referencia) | Mejor para |
|---|---|---|
| Función serverless en capa gratuita | $0 para tráfico ligero | Bots de respuestas simples, pruebas |
| VPS pequeño | $4-$10 | Bots que también necesitan ejecutar otras tareas en segundo plano |
| Plataforma de contenedores gestionada | $5-$20 | Equipos que quieren menos mantenimiento del servidor |
Nota: los precios son rangos ilustrativos aproximados que varían según el proveedor y la región, no cotizaciones fijas.
Si tu bot necesita parecer consistente desde un país específico, ya sea para pruebas regionales o porque tu audiencia está geográficamente concentrada, una conexión residencial a través del mercado de proxy es una opción que la gente usa junto con su configuración de alojamiento, separada del código del bot en sí. Sea cual sea el servidor que elijas, la documentación oficial de la API de Bots de Telegram es la referencia que vale la pena marcar una vez que superes los comandos para principiantes.
Una lista de verificación breve antes de salir en vivo
Seguir estos pasos antes de anunciar un bot públicamente evita la mayoría de los dolores de cabeza del soporte inicial.
- Guarda el token de API en una variable de entorno, nunca directamente en el código que puedas compartir o subir.
- Prueba
/start, tus tres respuestas principales de palabras clave y el mensaje de respaldo desde una segunda cuenta. - Confirma que el bot sigue en línea después de cerrar tu portátil, verificándolo desde un dispositivo diferente una hora después.
- Establece una descripción y una foto de perfil del bot a través de BotFather para que parezca intencional, no abandonado a medio construir.
- Anota a quién se le notifica cuando se active el mensaje de respaldo, para que las preguntas no coincidentes no desaparezcan en un vacío.
Muchos proveedores del mercado también venden cuentas de administrador verificadas o números verificados por SMS para probar bots en listados de cuentas de Telegram o verificación SMS, útil si prefieres no vincular un número personal a un bot que aún estás probando. Compara algunas ofertas por precio y velocidad de entrega antes de comprometerte, de la misma manera que compararías proveedores de alojamiento.
