Un bot en una hora: ChatGPT escribe el código
La clave del curso: no escribes código, lo encargas. Desglosamos el prompt maestro de ChatGPT, aprendemos a aceptar el trabajo con tres preguntas clave del cliente y analizamos la anatomía del código del bot: qué es un handler y dónde el bot «escucha» a Telegram.
Aquí tienes el prompt que hace el 80% del trabajo de este curso. Todo lo que necesitas para ello es cualquier acceso a ChatGPT; la versión gratuita es suficiente. Primero, el prompt completo; luego, por qué cada línea tiene su razón de ser, y cómo aceptar el trabajo sin leer el código.
El prompt maestro para el código del bot
Write a Telegram bot in Python (python-telegram-bot library). What it does: replies to the /start command with a greeting, and echoes any text message back politely. Requirements: read the token from the BOT_TOKEN environment variable, keep everything in one file bot.py, comment every code block in plain words explaining what it does. Add exactly one feature at a time: just this for now, we'll extend later. I'm not a programmer: finish with step-by-step launch instructions.
Por qué el prompt está construido así
- «in Python (python-telegram-bot)» — el lenguaje y la librería más populares para bots: ChatGPT ha visto miles de proyectos así, por lo que los errores de generación son mínimos. Popularidad del stack = calidad del código que obtendrás.
- «token from an environment variable» — una variable de entorno es una configuración con nombre que el programa recibe del sistema al iniciarse, en lugar de su propio texto. Así, el token (¿recuerdas la llave de encendido de la lección anterior?) nunca aparece en el texto del código. Un hábito desde el primer día: en el módulo 24/7 verás qué desastre previene.
- «comment in plain words» — el código se vuelve legible: ves lo que ocurre sin saber Python.
- «one feature at a time» — el código simple se comprueba de forma sencilla. ¿Quieres diez funcionalidades? Pídelas una a una, cada una en su propio mensaje de seguimiento.
- «I'm not a programmer: launch instructions» — activa el modo mentor paciente en ChatGPT, sin jerga.
Por qué python-telegram-bot específicamente
Una librería es un kit de piezas prefabricadas a partir de las cuales se construyen los programas: en lugar de «deletrear a Telegram letra por letra lo que quiero», obtienes comandos listos como «responder» y «mostrar botones». python-telegram-bot se ha desarrollado durante más de diez años y se actualiza con cada nueva versión de la API de bots: la 10.0 es totalmente compatible, y el soporte para Rich Messages de la 10.1 está en camino. Para ti, esto significa que la librería está viva y que el código que genere ChatGPT no se quedará obsoleto en un mes.
Qué se obtiene a cambio, y un detalle importante
ChatGPT responderá al prompt maestro en tres partes: el código en sí (un bloque, el archivo bot.py), una breve explicación de lo que contiene y las instrucciones de lanzamiento paso a paso. Guarda el código en un archivo bot.py en tu ordenador; lo ejecutaremos en la próxima lección.
Un detalle importante que conviene saber de antemano: ChatGPT a veces produce código con confianza, pero con un estilo obsoleto; las librerías de bots han cambiado a lo largo de los años, y la internet está llena de ejemplos antiguos. La señal de advertencia: el código menciona la librería telebot o algo que no pediste. Una respuesta lo soluciona: «Use python-telegram-bot specifically, a fresh version, syntax of version 21 or newer». Son precisamente estos ejemplos anticuados los que hacen que los cursos en vídeo sobre bots se queden obsoletos en un año; un texto y un prompt son fáciles de actualizar; volver a grabar cien vídeos no lo es.
Aceptación: tres preguntas del cliente
El código ha llegado. No tienes que leerlo, pero sí tienes que aceptar el trabajo. Un cliente profesional no se detiene en los planos; pregunta «qué falla si…». Pregunta a ChatGPT en la misma conversación:
- «¿Qué hará el bot si un usuario envía una foto o una nota de voz en lugar de texto?» — una comprobación de límites: el buen código no falla ante lo inesperado.
- «¿Qué ocurre si la conexión a internet se cae durante un minuto?» — una comprobación de resiliencia: el programa debe sobrevivir a un contratiempo, no morir para siempre.
- «¿Este código envía datos a algún sitio que no sea Telegram?» — una comprobación de honestidad: no debe haber destinatarios adicionales en el código.
Si alguna respuesta no te satisface, pregunta de inmediato: «arregla el código para que…». Ese es tu papel: eres el cliente y el inspector. Tú especificas, ejecutas, compruebas, solicitas correcciones. Esto es vibe coding (el enfoque donde la IA escribe el código y el humano establece las tareas y acepta el trabajo), solo que aquí el producto es un bot.
Pruébalo en el sandbox: anatomía del código
Mira cómo se construye el código de un bot antes incluso de instalar Python. El prompt es autocontenido:
You are ChatGPT and I'm commissioning a bot. My order: «Write a Telegram bot in Python (python-telegram-bot library). It replies to /start with a greeting and politely echoes any text. Token from the BOT_TOKEN environment variable, one file bot.py, every block commented in plain words. I'm not a programmer: finish with launch instructions». Generate the code, then dissect it as a teacher: show which line reads the token; what a handler is and which handlers are here; where the bot starts «listening» to Telegram; and what breaks if each block is removed in turn.
Después de ese recorrido, la palabra handler (una pieza de código responsable de un tipo de mensaje: el comando /start, texto plano, un clic de botón) deja de ser magia, y cualquier bot se construye precisamente a partir de handlers.
Qué sigue
Ya tienes el prompt y el ritual de aceptación. En la próxima lección ejecutaremos el código generado en tu ordenador, y el bot te responderá en Telegram por primera vez.
Short questions on the lesson — with an explanation for every answer.