Creando Bots de Telegram con Pyrogram y Python

Creando Bots de Telegram con Pyrogram y Python

Telegram es una plataforma de mensajería instantánea que permite crear bots para automatizar tareas o proporcionar información. En este tutorial, aprenderemos a crear un bot de Telegram con Pyrogram, una biblioteca de Python para interactuar con la API de Telegram.

Requisitos

  • Python 3.6 o superior
  • Pyrogram

Instalación

Para instalar Pyrogram, ejecuta el siguiente comando en la terminal:

pip install pyrogram

Creación del bot

Para crear un bot de Telegram, primero debemos crear un bot con BotFather. BotFather es un bot de Telegram que nos permite crear y administrar bots.

Abre Telegram y busca el bot @BotFather. Abre una conversación con el bot y sigue los siguientes pasos:

  1. Envía el comando /newbot para crear un nuevo bot.
  2. Ingresa el nombre y el nombre de usuario de tu bot.
  3. Copia el token de tu bot.

Configuración del bot

Una vez que hayas creado tu bot, debes configurarlo para que interactúe con Pyrogram. Para ello, crea un archivo Python llamado bot.py y agrega el siguiente código:

Python
import pyrogram

# Importa el token de tu bot
token = "tu_token"

# Crea un cliente Pyrogram
client = pyrogram.Client(token=token)

# Define un manejador de mensajes
@client.on_message()
async def handle_message(client, message):
    # Comprueba si el mensaje es un comando
    if message.text.startswith("/start"):
        # Envía un mensaje de bienvenida
        await message.reply("Hola, soy tu bot!")

# Inicia el bot
client.start()

Este código define un manejador de mensajes que se activa cuando el bot recibe un mensaje. El manejador comprueba si el mensaje es un comando. Si es así, envía un mensaje de bienvenida al usuario.

Ejecución del bot

Para ejecutar el bot, guarda el archivo bot.py y ejecuta el siguiente comando en la terminal:

python bot.py

Deploy del bot

Para que tu bot esté disponible para todos los usuarios, debes desplegarlo en un servidor. Para ello, puedes utilizar un servicio de alojamiento web o un servidor local.

Si utilizas un servicio de alojamiento web, debes crear un archivo Procfile en la raíz de tu proyecto y agregar la siguiente línea:

web: python bot.py

A continuación, debes crear una aplicación en el servicio de alojamiento web y asociarla al archivo Procfile.

Si utilizas un servidor local, puedes utilizar un servidor web como Ngrok para exponer tu bot a Internet. Para ello, ejecuta el siguiente comando en la terminal:

ngrok http 8080

A continuación, debes actualizar la configuración de tu bot para que apunte al servidor Ngrok. Para ello, cambia la línea client = pyrogram.Client(token=token) del archivo bot.py por la siguiente línea:

Python
client = pyrogram.Client(
    token=token,
    api_id=123456789,
    api_hash="0123456789abcdef0123456789abcdef",
    webhook_url="https://<tu_dominio>/bot.py",
)

Reemplaza <tu_dominio> por el dominio de tu servidor Ngrok.

Ejercicios

Ahora que sabes cómo crear un bot de Telegram con Pyrogram y Python, puedes empezar a experimentar con diferentes funcionalidades. Aquí tienes algunos ejercicios que puedes probar:

  • Crea un bot que envíe un mensaje de bienvenida a los usuarios que se unan a un grupo.
  • Crea un bot que responda a comandos específicos.
  • Crea un bot que proporcione información sobre un tema determinado.

Conclusión

Crear bots de Telegram con Pyrogram y Python es una forma sencilla de automatizar tareas o proporcionar información. Con un poco de esfuerzo, puedes crear bots que sean útiles y entretenidos.