En bot på en timme: ChatGPT skriver koden
Kursens kärna: du skriver inte kod — du beställer den. Vi plockar isär ChatGPT:s master prompt, lär oss att acceptera arbetet med tre klientfrågor och tittar på botkodens anatomi — vad en handler är och var boten «lyssnar» på Telegram.
Här är prompten som gör 80% av det här kursarbetet. Allt du behöver för den är tillgång till ChatGPT — gratisversionen räcker. Först hela prompten, sedan varför varje rad har sin plats — och hur du accepterar arbetet utan att läsa koden.
Master prompten för botkod
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.
Varför prompten är byggd på det här sättet
- «i Python (python-telegram-bot)» — det mest populära språket och biblioteket för botar: ChatGPT har sett tusentals sådana projekt, så genereringsfelen är som minst. Stackpopularitet = kvaliteten på koden du får.
- «token från en miljövariabel» — en miljövariabel är en namngiven inställning som programmet får från systemet vid start snarare än från sin egen text. På så sätt hamnar token (minns tändningsnyckeln från förra lektionen?) aldrig i kodtexten. En vana från dag ett: i 24/7-modulen kommer du att se vilken katastrof den förhindrar.
- «kommentera i klarspråk» — koden blir läsbar: du ser vad som händer var utan att kunna Python.
- «en funktion i taget» — enkel kod kontrolleras enkelt. Vill du ha tio funktioner? Beställ dem en efter en, var och en i sitt eget uppföljningsmeddelande.
- «Jag är ingen programmerare: startinstruktioner» — växlar ChatGPT till tålmodig-mentor-läge, inga jargongdumpar.
Varför just python-telegram-bot
Ett bibliotek är en uppsättning färdiga delar som program byggs av: istället för att «stava ut till Telegram bokstav för bokstav vad jag vill» får du färdiga kommandon som «svara» och «visa knappar». python-telegram-bot har utvecklats i över tio år och håller jämna steg med varje ny Bot API-version: 10.0 stöds fullt ut, Rich Messages-stöd från 10.1 är på väg. För dig betyder detta att biblioteket lever, och koden ChatGPT genererar kommer inte att falla sönder av ålder om en månad.
Vad som kommer tillbaka — och en fallgrop
ChatGPT kommer att svara på master prompten i tre delar: själva koden (ett block, filen bot.py), en kort förklaring av vad som finns inuti, och steg-för-steg-startinstruktioner. Spara koden i en bot.py-fil på din dator — vi kör den i nästa lektion.
En fallgrop värd att känna till i förväg: ChatGPT producerar ibland med säkerhet kod i en föråldrad stil — botbibliotek har förändrats genom åren, och internet är fullt av gamla exempel. Varningssignalen: koden nämner telebot-biblioteket eller något du inte beställde. Ett svar åtgärdar det: «Använd specifikt python-telegram-bot, en färsk version, syntax av version 21 eller nyare». Det är just dessa föråldrade exempel som gör att videokurser om botar "ruttnar" inom ett år — en text och en prompt är lätta att uppdatera, att spela in hundra videor igen är det inte.
Acceptans: tre klientfrågor
Koden har kommit. Du behöver inte läsa den — men du måste acceptera arbetet. En professionell klient granskar inte ritningar; de frågar «vad går sönder om…». Fråga ChatGPT direkt i samma konversation:
- «Vad gör boten om en användare skickar ett foto eller ett röstmeddelande istället för text?» — en gränskontroll: bra kod kraschar inte på det oväntade.
- «Vad händer om internet försvinner en minut?» — en motståndskontroll: programmet ska överleva ett "hickup", inte dö för alltid.
- «Skickar den här koden data någon annanstans än till Telegram?» — en ärlighetskontroll: det får inte finnas några extra mottagare i koden.
Om något svar inte tillfredsställer dig, fråga direkt: «fixa koden så att…». Det är din roll: du är klienten och inspektören. Du specificerar, kör, kontrollerar, begär fixar. Detta är "vibe coding" (metoden där AI skriver koden och människan sätter uppgifter och accepterar arbetet) — förutom att produkten här är en bot.
Testa i sandlådan: kodens anatomi
Se hur botkod är byggd innan du ens installerar Python. Prompten är fristående:
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.
Efter den genomgången slutar ordet handler (en kodbit som ansvarar för en typ av meddelande: /start-kommandot, vanlig text, ett knapptryck) att vara magi — och varje bot är byggd just av handlers.
Vad händer nu
Du har prompten och acceptansritualen. I nästa lektion kör vi den genererade koden på din dator — och boten svarar dig i Telegram för första gången.
Short questions on the lesson — with an explanation for every answer.