Aprende a Crear un Bot de Telegram en Python con API y Webhooks

Aprende a Crear un Bot de Telegram en Python con API y Webhooks

Tutorial bot Telegram Python: Aprende paso a paso a crear tu bot desde cero

Si eres desarrollador principiante o intermedio y quieres aprender cómo crear un bot para Telegram usando Python, estás en el lugar indicado. En este tutorial bot Telegram Python te llevaré de la mano para que configures tu entorno, registres tu bot con BotFather, uses la API de Telegram para enviar y recibir mensajes, implementes comandos básicos y finalmente despliegues tu bot de forma sencilla. ¡Vamos allá!


¿Qué es un bot de Telegram y por qué usar Python?

Un bot de Telegram es un programa que puede interactuar con usuarios a través de chats, enviar respuestas automáticas, procesar comandos, y ofrecer funcionalidades variadas. Python es uno de los lenguajes más populares para el desarrollo bots Python, gracias a su sencillez y librerías especializadas como python-telegram-bot.


1. Configuración del entorno para crear bot Telegram

a) Requisitos previos

  • Tener Python instalado (recomendado 3.7 o superior)
  • Editor de código (VSCode, PyCharm, etc.)
  • Acceso a Telegram y una cuenta activa

b) Crear un entorno virtual (opcional pero recomendable)

c) Instalar la librería necesaria

La más utilizada es python-telegram-bot. Instálala usando pip:


2. Registro del bot con BotFather

Para crear un bot debes registrarlo en Telegram con BotFather, el bot oficial para gestionar nuevos bots.

Pasos:

  1. Abre Telegram y busca el usuario @BotFather.
  2. Inicia un chat y escribe /newbot.
  3. Sigue las instrucciones para darle un nombre y un username único terminado en “bot”.
  4. Una vez creado, BotFather te enviará un token que usarás para conectar tu código.

Importante: Guarda ese token con cuidado, es la clave para usar la API Telegram Python.


3. Primer bot: Código básico para recibir y enviar mensajes

Vamos a crear un bot simple que responda “Hola, mundo!” cuando recibe el comando /start.

Cómo probarlo

  1. Guarda el script como bot.py.
  2. Ejecuta python bot.py.
  3. Abre Telegram, busca tu bot por username y envía /start.
  4. Deberías recibir la respuesta “Hola, mundo! Soy tu bot de Telegram 😀”.

4. Manejo de comandos básicos y respuestas

Puedes ampliar el bot agregando más comandos y lógica sencilla.

Con este código, el bot responde a:

  • /help mostrando los comandos
  • /saludo con un mensaje personalizado
  • Cualquier texto por fuera de comandos con un “echo” de lo que escribiste

5. Manejo de actualizaciones: Long Polling vs Webhooks

Long Polling (lo que usamos hasta ahora)

  • El bot pregunta periódicamente a Telegram si hay nuevos mensajes.
  • Fácil de implementar y suficiente para bots pequeños.

Webhooks

  • Telegram envía las actualizaciones directamente a una URL de tu servidor.
  • Requiere un servidor con HTTPS público.
  • Más eficiente para bots con mucho tráfico.

Ejemplo simple de webhook (avanzado, requiere servidor y HTTPS):

Para la mayoría de principiantes es recomendable empezar con long polling.


6. Despliegue sencillo del bot

Una vez tu bot esté listo, puedes desplegarlo en un servidor para que esté siempre activo. Algunas opciones gratuitas o económicas son:

  • Heroku: Popular para principiantes, gratuito con limitaciones.
  • PythonAnywhere: Hosting Python sencillo.
  • VPS (DigitalOcean, AWS, etc.): Para control total.

Desplegar en Heroku (resumen rápido)

  1. Crea un archivo requirements.txt con:

(si usas webhook)

  1. Crea un Procfile con:

  1. Inicializa git, sube a Heroku y configura las variables de entorno (TOKEN).

  2. Ejecuta el bot con el comando heroku ps:scale worker=1.

Consulta la documentación de Heroku para más detalle


Buenas prácticas para desarrollo bots Python Telegram

  • Nunca compartas tu token públicamente.
  • Maneja excepciones para evitar que el bot crashee.
  • Usa variables de entorno para datos sensibles.
  • Realiza pruebas en un chat privado o grupo de prueba.
  • Documenta tu código para facilitar mantenimiento.
  • Actualiza la librería regularmente.

Conclusión

¡Felicidades! Ahora sabes cómo crear un bot Telegram usando Python desde cero: configuraste el entorno, registraste el bot, programaste sus comandos básicos, entendiste la diferencia entre polling y webhooks y aprendiste ideas para desplegarlo en producción.

No dudes en experimentar creando comandos más sofisticados, integrando APIs externas o agregando automatizaciones que hagan tu bot único.

¿Qué esperas? ¡Empieza a crear tu bot ahora mismo! Comparte este tutorial con amigos desarrolladores y comentar abajo qué proyecto de bot te gustaría construir.