Neurocourse

Een bot in een uur: ChatGPT schrijft de code

De kern van deze cursus: je schrijft geen code — je bestelt het. We ontleden de ChatGPT master prompt, leren hoe je het werk accepteert met drie klantvragen, en bekijken de anatomie van de botcode — wat een handler is en waar de bot „luistert” naar Telegram.

Dit is de prompt die 80% van het werk in deze cursus doet. Het enige wat je nodig hebt, is toegang tot ChatGPT — de gratis versie is voldoende. Eerst de hele prompt, dan waarom elke regel zijn plek verdient — en hoe je het werk accepteert zonder de code te lezen.

De master prompt voor botcode

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.

Waarom de prompt zo is opgebouwd

  • „in Python (python-telegram-bot)” — de populairste taal en bibliotheek voor bots: ChatGPT heeft duizenden van zulke projecten gezien, dus generatiefouten zijn het minst. Populariteit van de stack = de kwaliteit van de code die je krijgt.
  • „token uit een omgevingsvariabele” — een omgevingsvariabele is een benoemde instelling die het programma bij de start van het systeem ontvangt, in plaats van uit zijn eigen tekst. Zo komt de token (weet je nog, de contactsleutel van de vorige les?) nooit in de codetekst terecht. Een gewoonte vanaf dag één: in de 24/7 module zie je welke ramp het voorkomt.
  • „commentaar in gewone taal” — de code wordt leesbaar: je ziet wat er gebeurt zonder Python te kennen.
  • „één functie tegelijk” — eenvoudige code controleert eenvoudig. Wil je tien functies? Bestel ze één voor één, elk in een eigen vervolgbericht.
  • „Ik ben geen programmeur: startinstructies” — schakelt ChatGPT over naar de geduldige-mentor-modus, geen jargon.

Waarom specifiek python-telegram-bot

Een bibliotheek is een set kant-en-klare onderdelen waaruit programma's worden gebouwd: in plaats van „spreek letter voor letter uit naar Telegram wat ik wil” krijg je kant-en-klare commando's zoals „antwoord” en „toon knoppen”. python-telegram-bot is al meer dan tien jaar in ontwikkeling en volgt elke nieuwe Bot API-versie: 10.0 wordt volledig ondersteund, Rich Messages-ondersteuning vanaf 10.1 is onderweg. Voor jou betekent dit dat de bibliotheek leeft, en de code die ChatGPT genereert niet binnen een maand verouderd zal zijn.

Wat er terugkomt — en één valkuil

ChatGPT zal de master prompt in drie delen beantwoorden: de code zelf (één blok, het bot.py-bestand), een korte uitleg van wat erin zit, en stap-voor-stap startinstructies. Sla de code op in een bot.py-bestand op je computer — we zullen het in de volgende les uitvoeren.

Eén valkuil die je vooraf moet weten: ChatGPT produceert soms vol vertrouwen code in een verouderde stijl — botbibliotheken zijn in de loop der jaren veranderd, en het internet staat vol met oude voorbeelden. Het waarschuwingssignaal: de code vermeldt de telebot-bibliotheek of iets wat je niet hebt besteld. Eén antwoord verhelpt het: „Gebruik specifiek python-telegram-bot, een recente versie, syntax van versie 21 of nieuwer”. Het zijn precies deze verouderde voorbeelden die videocursussen over bots binnen een jaar laten verrotten — een tekst en een prompt zijn gemakkelijk te updaten, honderd video's opnieuw opnemen niet.

Acceptatie: drie klantvragen

De code is aangekomen. Je hoeft het niet te lezen — maar je moet het werk wel accepteren. Een professionele klant bestudeert geen blauwdrukken; die vraagt „wat gaat er kapot als…”. Vraag ChatGPT direct in hetzelfde gesprek:

  1. „Wat doet de bot als een gebruiker een foto of een spraakbericht stuurt in plaats van tekst?” — een grenscontrole: goede code crasht niet bij het onverwachte.
  2. „Wat gebeurt er als het internet een minuut wegvalt?” — een veerkrachtcontrole: het programma moet een hik overleven, niet voorgoed sterven.
  3. „Verstuurt deze code gegevens ergens anders naartoe dan naar Telegram?” — een eerlijkheidscontrole: er mogen geen extra ontvangers in de code staan.

Als een antwoord je niet bevalt, vraag dan meteen: „pas de code aan zodat…”. Dat is jouw rol: jij bent de klant en de inspecteur. Je specificeert, voert uit, controleert, vraagt om fixes. Dit is vibe coding (de aanpak waarbij AI de code schrijft en de mens taken stelt en het werk accepteert) — behalve dat het product hier een bot is.

Probeer het in de sandbox: code-anatomie

Zie hoe botcode is opgebouwd voordat je Python zelfs maar installeert. De prompt is op zichzelf staand:

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.

Na die uitleg houdt het woord handler (een stukje code verantwoordelijk voor één type bericht: het /start-commando, platte tekst, een knopdruk) op magisch te zijn — en elke bot is precies opgebouwd uit handlers.

Wat nu?

Je hebt de prompt en het acceptatieritueel. In de volgende les draaien we de gegenereerde code op je computer — en de bot antwoordt je voor het eerst in Telegram.

Practice · 5 задач

Short questions on the lesson — with an explanation for every answer.