Curso GRATIS de Creación de un BOT en TELEGRAM desde Cero

Aprende a crear bots de Telegram con Python y Telepot en una hora. ¡Esto es, mucho más fácil de lo que crees!

En este curso aprenderás a crear tu propio bot de Telegram usando Python y la librería Telepot, aunque nunca hayas hecho antes nada con bots.

Creación de Bot en Telegram con Python y Telepot

Partiremos desde cero absoluto: qué es Telegram, qué es un bot, cómo crear uno con BotFather, cómo hablar con él desde Python, cómo leer y contestar mensajes, cómo usar Requests para conectar con APIs en internet y cómo enviar mensajes, imágenes y datos generados de forma automática.

Unidad 1: Cómo entender qué es un bot de Telegram y preparar tu entorno

1.1. Qué es Telegram y qué es un bot

  1. Telegram es una aplicación de mensajería (como WhatsApp) que permite enviar mensajes, fotos, vídeos y archivos.
  2. Un bot de Telegram es una “cuenta especial” manejada por un programa, no por una persona.
  3. Tu bot puede:
    • Leer mensajes que le envían los usuarios.
    • Responder automáticamente con texto, imágenes o archivos.
    • Conectarse a otras webs o APIs para traer información (clima, noticias, datos falsos, etc.).
  4. El objetivo de este curso es que tú seas quien controla ese programa que está “detrás” del bot.

1.2. Qué necesitas antes de empezar

Aunque se va a explicar todo paso a paso, es importante que tengas:

  • Python instalado (versión 3.x).
  • Un editor de texto o IDE:
    • Opción sencilla: Visual Studio Code.
    • Opción alternativa: PyCharm, Thonny o incluso IDLE (el que viene con Python).
  • Una cuenta de Telegram en tu móvil o PC.
  • Conocimientos básicos de Python:
    • Saber qué es una variable.
    • Saber usar if, else.
    • Saber usar bucles for o while.
    • Saber crear funciones con def.

Si algo de esto suena raro, no pasa nada: en cada uso concreto se indicará qué hace cada línea.

1.3. Instalando Python paso a paso (si no lo tienes)

  1. Entra en la web oficial de Python (python.org) y descarga la versión 3 para tu sistema operativo (Windows, macOS o Linux).
  2. Durante la instalación en Windows, marca la casilla “Add Python to PATH”.
  3. Cuando termine, abre una terminal o consola:
    • En Windows: “Símbolo del sistema” o “PowerShell”.
    • En macOS: app “Terminal”.
    • En Linux: tu terminal habitual.
  4. Escribe:
    • python --version o python3 --version.
    • Si aparece un número tipo Python 3.10.x, está instalado correctamente.

Unidad 2: Cómo crear tu primer bot con BotFather

2.1. Presentación de BotFather

  1. BotFather es el bot oficial de Telegram que sirve para crear otros bots.
  2. Con él podrás:
    • Crear un nuevo bot.
    • Ponerle nombre y usuario.
    • Obtener el token, una cadena de texto que funcionará como “contraseña” que usará tu programa para controlar el bot.

2.2. Creando tu bot paso a paso

  1. Abre Telegram en tu móvil o PC.
  2. En la barra de búsqueda escribe: BotFather.
  3. Asegúrate de seleccionar el bot verificado (normalmente con un check azul).
  4. Pulsa “Start” o escribe /start.
  5. Escribe el comando: /newbot
  6. BotFather te pedirá:
    • Nombre del bot: es el nombre visible (por ejemplo, “Bot Curso Telegram”).
    • Username del bot: debe acabar en “bot” (por ejemplo, CursoTelegramBot o MiBotDePruebas_bot).
  7. Cuando hayas enviado ambos, BotFather responderá con un mensaje que incluye:
    • Un texto que indica que el bot ha sido creado.
    • Un token parecido a: 123456789:ABCdefGhIJKLmNoPqRSTuvWxYz12345678.

Muy importante:
– Guarda ese token en un lugar seguro (un archivo de texto o un gestor de contraseñas).
– Nunca lo publiques en internet.

2.3. Probando que tu bot existe

  1. Haz clic en el enlace al bot que te da BotFather o búscalo por su username.
  2. Abre el chat del bot y pulsa “Start”.
  3. De momento no responderá, porque aún no hay ningún programa conectado, pero ya existe y está listo para que Python lo controle.

Unidad 3: Cómo preparar Python y Telepot para hablar con Telegram

3.1. Qué es Telepot

  1. Telepot es una librería de Python que simplifica el uso de la API de Telegram.
  2. Gracias a Telepot no necesitas construir tú mismo todas las peticiones HTTP a Telegram; la librería ya lo hace por ti.

3.2. Instalando Telepot paso a paso

  1. Abre una terminal o consola.
  2. Escribe:
    • pip install telepot
      o, si tu sistema usa pip3:
    • pip3 install telepot
  3. Espera a que termine la instalación. Si sale algún error, revisa que Python y pip estén bien instalados.

3.3. Estructurando tu primer proyecto

  1. Crea una carpeta para tu bot, por ejemplo: bot_telegram_curso.
  2. Dentro de esa carpeta, crea un archivo llamado bot.py.
  3. Crea también un archivo config.py (opcional, pero recomendable) para guardar el token:
    • Dentro de config.py, escribe algo como:
      • TOKEN = "AQUÍ_VA_TU_TOKEN_DE_BOTFATHER"
  4. De esta forma, si compartes tu código, no necesitas subir tu token a internet: solo compartes bot.py y mantienes config.py privado.

Unidad 4: Cómo leer y responder mensajes básicos con Telepot

4.1. Entender cómo se comunica el bot

  1. Tu bot y Telegram se comunican por internet mediante una API.
  2. Tu programa en Python:
    • Pregunta a Telegram: “¿Hay mensajes nuevos para mi bot?”.
    • Lee los mensajes.
    • Decide qué respuesta enviar.
    • Envía la respuesta.

4.2. Código mínimo para probar el bot

En esta unidad, la idea es que entiendas la estructura, no solo copiar y pegar. A nivel conceptual, tu código tendrá:

  1. Importar telepot y tu token:
    • import telepot
    • from config import TOKEN
  2. Crear un objeto bot con ese token:
    • bot = telepot.Bot(TOKEN)
  3. Definir una función que se ejecuta cuando llega un mensaje:
    • Esta función recibe los datos del mensaje.
    • Extrae el texto que ha escrito el usuario.
    • Manda una respuesta.
  4. Hacer que el bot “escuche” continuamente:
    • Telepot ofrece mecanismos para escuchar actualizaciones (por ejemplo, bot.message_loop).

4.3. Probando interacciones simples

  1. Envía un mensaje sencillo al bot, como “Hola”.
  2. Haz que el bot responda algo fijo: por ejemplo, “Hola, soy tu primer bot de Telegram.”
  3. Luego puedes mejorar la lógica:
    • Si el usuario escribe “/start”, responde con un mensaje de bienvenida largo.
    • Si escribe “ayuda”, muestra las opciones disponibles.

Unidad 5: Cómo usar Requests para conectarte a APIs en internet

5.1. Qué es una API

  1. Una API es una puerta de entrada para que un programa pida información a otro servicio en internet.
  2. Por ejemplo:
    • Una API de clima te devuelve la temperatura.
    • Una API de datos falsos te devuelve nombres, emails o direcciones inventadas.

5.2. Instalando y probando Requests

  1. Abre una terminal.
  2. Escribe:
    • pip install requests
  3. En un archivo de pruebas (por ejemplo, prueba_requests.py):
    • Importa la librería: import requests.
    • Haz una petición GET a una URL de ejemplo.
    • Imprime el código de respuesta y el contenido.

5.3. Entendiendo la respuesta: JSON y diccionarios

  1. Muchas APIs devuelven los datos en formato JSON, que en Python se maneja como diccionarios y listas.
  2. Aprenderás a:
    • Convertir la respuesta de la API en un diccionario de Python.
    • Acceder a sus claves.
    • “Desglosar” un super diccionario (uno muy grande con muchos niveles) para encontrar los datos que te interesan (por ejemplo, datos["nombre"]["primero"]).

Unidad 6: Cómo crear un bot que genere datos falsos desde internet

6.1. Elegir una API de datos falsos

  1. Buscaremos un servicio (por ejemplo, una API de datos aleatorios o “random user”) que entregue:
    • Nombres
    • Emails
    • Direcciones
    • Fotos de perfil, etc.
  2. El bot se conectará a esa API cada vez que el usuario lo pida.

6.2. Conectando tu bot con la API

  1. En tu función que maneja mensajes, detecta un comando, por ejemplo /falso.
  2. Cuando el usuario escriba ese comando:
    • Tu bot llamará a la API usando requests.get(...).
    • Convertirá la respuesta en un diccionario.
    • Extraerá el nombre, email, dirección u otros campos.
    • Construirá un mensaje de texto con esos datos falsos.
    • Enviará ese texto de vuelta al usuario en Telegram.

6.3. Desglosando un super diccionario paso a paso

  1. Empieza imprimiendo toda la respuesta (ojo: puede ser muy grande).
  2. Identifica las claves principales, por ejemplo:
    • results, info, etc.
  3. Dentro de results, a lo mejor hay una lista (por ejemplo results[0]).
  4. Dentro de ese elemento, habrá más diccionarios:
    • name, location, email, picture, etc.
  5. Ve accediendo paso a paso:
    • Primero datos["results"].
    • Luego datos["results"][0].
    • Después datos["results"][0]["name"].
    • Y así hasta llegar al dato que quieres.

Este proceso de “explorar” el diccionario es clave para usar cualquier API.


Unidad 7: Cómo enviar imágenes y usar funciones especiales del bot

7.1. Formas de enviar imágenes desde un bot de Telegram

Hay varias maneras:

  1. Enviar una imagen que ya tengas en tu ordenador (como archivo local).
  2. Enviar una imagen desde una URL (de internet).
  3. Enviar imágenes que la API de datos falsos te devuelva (por ejemplo, fotos de perfil).

7.2. Enviar una imagen paso a paso

  1. En tu función de manejo de mensajes, detecta un comando, por ejemplo /foto.
  2. Decide de dónde saldrá la imagen:
    • De una carpeta local.
    • De una URL incluida en los datos de la API.
  3. Usa la función específica de Telepot para enviar fotos:
    • Algo tipo bot.sendPhoto(chat_id, ...) con el recurso adecuado (archivo o URL).
  4. Verifica que:
    • El chat_id es el correcto (el mismo que usas para enviar textos).
    • La ruta o la URL de la imagen es válida.

7.3. Combinar texto e imagen

  1. Tu bot puede primero enviar un texto explicando qué es la imagen.
  2. Inmediatamente después, enviar la imagen.
  3. O bien incluir un texto como “caption” junto con la imagen (según cómo lo implementes).

Unidad 8: Cómo organizar tu código y crear un “servidor” de bot estable

8.1. Qué significa “servidor de mensajes”

  1. Hasta ahora has ejecutado tu bot desde tu ordenador.
  2. Un servidor no es más que un ordenador (o máquina en la nube) que:
    • Está encendido todo el tiempo.
    • Ejecuta el script de tu bot.
    • Está preparado para recibir mensajes de Telegram las 24 horas.

8.2. Mantener el bot escuchando

  1. En local:
    • Ejecutas python bot.py.
    • Dejas la consola abierta.
    • Mientras tanto, el bot seguirá respondiendo.
  2. En un servidor remoto (por ejemplo, un VPS o un servicio en la nube):
    • Subes tus archivos (bot.py, config.py).
    • Instalás Python, Telepot y Requests.
    • Ejecutas tu script con algún mecanismo para que siga corriendo aunque cierres la sesión (por ejemplo, screen, tmux o un servicio del sistema).

8.3. Organización del proyecto

Para que tu código sea más limpio, puedes separar:

  • Archivo config.py: token y otros datos de configuración.
  • Archivo bot.py: lógica principal.
  • Módulos auxiliares:
    • Uno para la parte de conexión con APIs.
    • Otro para funciones específicas (por ejemplo, formato de datos o generación de mensajes).

Unidad 9: Cómo pensar como emprendedor: automatizar tu mensajería con bots

9.1. Usos típicos para emprendedores

Con lo que has aprendido, ya estás en condiciones de:

  • Automatizar respuestas frecuentes:
    • Horarios.
    • Precios.
    • Información básica de productos o servicios.
  • Crear menús interactivos (con comandos o botones) para guiar a los usuarios.
  • Integrar tu bot con otras APIs:
    • Enviar notificaciones cuando haya ventas.
    • Consultar stock.
    • Mostrar información personalizada.

9.2. Buenas prácticas básicas

  1. Siempre valida lo que envía el usuario:
    • No asumas que siempre escribirá lo que esperas.
  2. Maneja errores:
    • Rodea tus peticiones a APIs con bloques que detecten fallos (por ejemplo, conexión caída).
  3. No compartas el token del bot:
    • Trátalo como una contraseña.
  4. Empieza simple:
    • Primero un bot que responde “Hola”.
    • Luego añade un comando.
    • Después conecta con una API.
    • Más tarde, añade envío de imágenes.

Unidad 10: Cómo seguir aprendiendo y ampliar tu bot

10.1. Mejoras posibles

Una vez tengas tu bot básico funcionando, puedes:

  • Añadir teclados personalizados y botones.
  • Manejar distintos tipos de mensajes:
    • Audio.
    • Documentos.
    • Ubicaciones.
  • Guardar datos de usuarios en una base de datos para ofrecer respuestas más personalizadas.

10.2. Recomendación de práctica

Para consolidar lo aprendido, puedes plantearte:

  1. Crear un bot que:
    • Tenga un comando /start con un mensaje de bienvenida.
    • Responda /falso con datos falsos obtenidos de una API.
    • Responda /foto enviando una imagen relacionada con esos datos falsos.
  2. Poco a poco, añadir más comandos y funcionalidades.