Tutorial Completo para Crear un Bot de Telegram con Python y la Biblioteca python-telegram-bot

Tutorial Completo para Crear un Bot de Telegram con Python y la Biblioteca python-telegram-bot

Tutorial bot Telegram Python: Crea tu propio bot paso a paso con python-telegram-bot

Si quieres aprender a programar un bot en Telegram con Python, este tutorial es perfecto para ti. Aquí te guiaremos de manera clara y detallada en el desarrollo de un bot Telegram paso a paso, usando la biblioteca python-telegram-bot. Este tutorial está dirigido a desarrolladores principiantes e intermedios que desean iniciarse en la automatización y creación de bots.


Índice


¿Qué es un bot en Telegram y para qué sirve?

Un bot en Telegram es una aplicación automatizada que interactúa con usuarios a través de mensajes y comandos, permitiendo brindar servicios, responder preguntas, enviar notificaciones, gestionar grupos y mucho más.

Los bots se pueden programar para funciones simples o complejas y pueden integrarse en canales, grupos o conversaciones privadas.


Paso 1: Crear y configurar tu bot en Telegram

1.1 Interactúa con el BotFather

El primer paso para crear un bot Telegram python-telegram-bot es registrar tu bot mediante el BotFather, que es el bot oficial de Telegram que permite administrar otros bots.

  1. Abre Telegram y busca @BotFather.
  2. Inicia una conversación y envía el comando /newbot.
  3. Sigue las indicaciones para asignar un nombre y un nombre de usuario único para tu bot (el username debe terminar en “bot”, por ejemplo, “miprimerobot”).

1.2 Obtén tu token de acceso

Una vez creado, BotFather te proporcionará un token de API que será necesario para que tu aplicación en Python se comunique con el bot.

Guarda este token, es la “llave” para controlar tu bot.


Paso 2: Preparar el entorno de desarrollo en Python

2.1 Instalar Python

Si aún no tienes Python instalado, descarga e instala la versión 3.7 o superior desde python.org.

Puedes verificar que Python está instalado correctamente abriendo una consola y ejecutando:

2.2 Crear un entorno virtual (opcional pero recomendado)

Para mantener organizadas las dependencias, crea un entorno virtual:

Actívalo:

  • En Windows:

  • En macOS/Linux:

2.3 Instalar la biblioteca python-telegram-bot

Esta es la librería oficial para interactuar con la API de Telegram.

Instálala con pip:


Paso 3: Implementar comandos básicos y manejo de mensajes

Vamos a crear un bot básico que responda al comando /start y maneje mensajes simples.

3.1 Esqueleto básico del bot

Crea un archivo bot.py y agrega el siguiente código:

3.2 Explicación paso a paso

  • Importamos las clases necesarias: Update, ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, y filters.
  • Definimos el token que obtuviste en el paso 1.
  • Función start: Responde al comando /start con un mensaje de bienvenida.
  • Función echo: Responde repitiendo el texto enviado por el usuario, útil para pruebas iniciales.
  • Configuramos el ApplicationBuilder que maneja la conexión con Telegram.
  • Registramos los manejadores: uno para el comando /start y otro para manejar mensajes de texto que no sean comandos.
  • Ejecutamos el bot con app.run_polling(), que inicia la escucha continua de actualizaciones.

3.3 Ejecutar el bot

En la terminal, ejecuta:

Abre Telegram, busca tu bot por su username y envíale el comando /start. Deberías recibir la respuesta programada. También intenta enviar cualquier texto para ver cómo repite tu mensaje.


Paso 4: Gestión de actualizaciones y eventos

Más allá de responder mensajes simples, puedes gestionar eventos y actualizar el bot para que responda a distintos comandos y situaciones.

4.1 Añadir más comandos

Agrega un comando /help que explique las funcionalidades del bot:

4.2 Manejar diferentes tipos de mensajes

Por ejemplo, detectar fotos enviadas y responder:

4.3 Uso de filtros avanzados

Puedes filtrar sobre comandos, usuarios, grupos, o incluso palabras clave para personalizar la respuesta.


Paso 5: Desplegar el bot en un servidor local o en la nube

Para que tu bot esté activo incluso cuando cierres tu máquina, necesitarás desplegarlo en permanente.

5.1 Ejecución local permanente

  • Puedes usar herramientas como screen o tmux en Linux/macOS para ejecutar el bot en segundo plano.

Para salir sin detener el proceso, presiona Ctrl + A luego D.

5.2 Despliegue en la nube

Algunas opciones populares para desplegar bots son:

  • Heroku (fácil y gratuito para proyectos pequeños)
  • AWS EC2 (más flexible y complejo)
  • Google Cloud Run
  • PythonAnywhere

Desplegar en Heroku (resumen rápido)

  1. Crea una cuenta gratuita en heroku.com.
  2. Instala la CLI de Heroku.
  3. Prepara un archivo requirements.txt con las dependencias:

  1. Crea un archivo Procfile con:

  1. Inicializa un repositorio git en tu proyecto.
  2. Sube e implementa en Heroku usando comandos git y heroku CLI.

Esta opción permite que tu bot se ejecute 24/7 sin depender de tu PC.

5.3 Variables de entorno

Nunca expongas tu token directamente. Al desplegar en producción, utiliza variables de entorno para guardar el token.

Ejemplo para obtener token en Python:


Conclusión y buenas prácticas para el desarrollo de bots Telegram

En este tutorial has aprendido cómo crear un bot Telegram python-telegram-bot desde cero, incluyendo:

  • Registro y configuración en Telegram.
  • Preparación del entorno Python.
  • Implementación de comandos básicos y manejo de mensajes.
  • Gestión de eventos y filtros avanzados.
  • Despliegue local y en la nube para ejecución continua.

Buenas prácticas:

  • Usa entornos virtuales para aislar dependencias.
  • No compartas tu token públicamente, guárdalo en variables de entorno.
  • Maneja errores para evitar que el bot se caiga con interacciones inesperadas.
  • Documenta tu código y usa nombres claros para facilitar mantenimiento.
  • Escucha feedback de usuarios para mejorar funcionalidades.

Finalmente, te invitamos a que experimentes con nuevas características: conexión con APIs externas, bases de datos, teclados inline, y más. El mundo de los bots Telegram programados en Python es muy amplio y potente.

¡Empieza hoy mismo tu proyecto y automatiza tus tareas con tu propio bot!


¿Te gustó el tutorial? Comparte y comenta tu experiencia programando bots Telegram con Python. Para más tutoriales y guías, sigue nuestro blog.