Un bot en une heure : ChatGPT écrit le code
L'approche fondamentale du cours : vous n'écrivez pas de code – vous le commandez. Nous décortiquons le prompt maître de ChatGPT, apprenons à valider le travail avec trois questions client, et examinons l'anatomie du code du bot – ce qu'est un handler et où le bot « écoute » Telegram.
Voici le prompt qui fait 80 % du travail de ce cours. Tout ce dont vous avez besoin est un accès à ChatGPT – la version gratuite suffit. D'abord l'ensemble, puis pourquoi chaque ligne a sa place – et comment valider le travail sans lire le code.
Le prompt maître pour le code de 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.
Pourquoi ce prompt est construit ainsi
- « in Python (python-telegram-bot) » – le langage et la bibliothèque les plus populaires pour les bots : ChatGPT a vu des milliers de projets similaires, donc les erreurs de génération sont les moins nombreuses. Popularité de la stack = qualité du code que vous obtiendrez.
- « token from an environment variable » – une variable d'environnement est un paramètre nommé que le programme reçoit du système au lancement plutôt que de son propre texte. Ainsi, le token (vous vous souvenez de la clé de contact de la leçon précédente ?) n'atterrit jamais dans le texte du code. Une habitude dès le premier jour : dans le module 24/7, vous verrez le désastre qu'elle prévient.
- « comment in plain words » – le code devient lisible : vous voyez ce qui se passe où sans connaître Python.
- « one feature at a time » – un code simple se vérifie simplement. Vous voulez dix fonctionnalités ? Commandez-les une par une, chacune dans son propre message de suivi.
- « I'm not a programmer: launch instructions » – fait passer ChatGPT en mode mentor patient, sans jargon technique.
Pourquoi python-telegram-bot spécifiquement
Une bibliothèque est un kit de pièces prêtes à l'emploi à partir desquelles les programmes sont construits : au lieu d'« épeler à Telegram lettre par lettre ce que je veux », vous obtenez des commandes prêtes comme « répondre » et « afficher les boutons ». python-telegram-bot est développé depuis plus de dix ans et se met à jour avec chaque nouvelle version de l'API Bot : la 10.0 est entièrement prise en charge, le support des Rich Messages de la version 10.1 est en route. Pour vous, cela signifie que la bibliothèque est vivante, et le code généré par ChatGPT ne s'effondrera pas de vieillesse en un mois.
Ce qui revient – et un piège
ChatGPT répondra au prompt maître en trois parties : le code lui-même (un bloc, le fichier bot.py), une courte explication de ce qu'il contient, et des instructions de lancement étape par étape. Enregistrez le code dans un fichier bot.py sur votre ordinateur – nous l'exécuterons dans la prochaine leçon.
Un piège à connaître à l'avance : ChatGPT produit parfois avec assurance du code dans un style obsolète – les bibliothèques de bots ont changé au fil des ans, et internet est plein d'anciens exemples. Le signe avant-coureur : le code mentionne la bibliothèque telebot ou quelque chose que vous n'avez pas demandé. Une seule réponse y remédie : « Use python-telegram-bot specifically, a fresh version, syntax of version 21 or newer ». Ce sont exactement ces exemples obsolètes qui font que les cours vidéo sur les bots pourrissent en un an – un texte et un prompt sont faciles à mettre à jour, réenregistrer une centaine de vidéos ne l'est pas.
Validation : trois questions client
Le code est arrivé. Vous n'avez pas à le lire – mais vous devez valider le travail. Un client professionnel ne se penche pas sur les plans ; il demande « qu'est-ce qui casse si… ». Demandez à ChatGPT directement dans la même conversation :
- « Que fera le bot si un utilisateur envoie une photo ou une note vocale au lieu de texte ? » – une vérification des limites : un bon code ne plante pas face à l'inattendu.
- « Que se passe-t-il si internet tombe pendant une minute ? » – une vérification de la résilience : le programme doit survivre à un accroc, pas mourir définitivement.
- « Ce code envoie-t-il des données ailleurs qu'à Telegram ? » – une vérification d'honnêteté : il ne doit pas y avoir de destinataires supplémentaires dans le code.
Si une réponse ne vous satisfait pas, demandez immédiatement : « corrigez le code pour que… ». C'est votre rôle : vous êtes le client et l'inspecteur. Vous énoncez, exécutez, vérifiez, demandez des corrections. C'est le vibe coding (l'approche où l'IA écrit le code et l'humain définit les tâches et valide le travail) – sauf qu'ici le produit est un bot.
Essayez dans le bac à sable : anatomie du code
Voyez comment le code d'un bot est construit avant même d'installer Python. Le prompt est autonome :
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.
Après cette explication détaillée, le mot handler (un morceau de code responsable d'un type de message : la commande /start, un texte simple, un appui sur un bouton) cesse d'être magique – et tout bot est construit précisément à partir de handlers.
Quelle est la suite
Vous avez le prompt et le rituel de validation. Dans la prochaine leçon, nous exécuterons le code généré sur votre ordinateur – et le bot vous répondra dans Telegram pour la première fois.
Short questions on the lesson — with an explanation for every answer.