Коротко: бот — перший проєкт, яким користується хтось, крім автора: він живе окремо від комп'ютера дитини й відповідає друзям без її участі. Складність нижча за гру — до першої робочої відповіді приблизно 30–40 рядків коду. У програмі курсу «Ігри та боти» ботам відведено дві теми з тринадцяти: основи й логіка станів.
Батьки чують «Telegram-бот» і уявляють щось складне. Підлітки чують те саме й уявляють спам-розсилку. Обидва образи мимо.
Що всередині бота
Три частини, і кожна знайома дитині з попередніх тем. Перша — з'єднання з Telegram через API: бібліотека робить це кількома рядками, а сам ключ доступу видає службовий бот платформи. Друга — обробники: функція, яка спрацьовує на команду. Третя — стани: бот пам'ятає, на якому кроці розмови зупинився користувач.
Ось чому бот стоїть у програмі після теми про API: до нього дитина вже розуміє, що таке запит і відповідь. Без цього довелося б пояснювати два поняття одночасно.
Коли саме тема настає
Боти — дев'ята й десята теми з тринадцяти. Тобто дві третини ступеня вже позаду: дитина писала функції, розбирала словники, ловила помилки через try/except, читала файли й зробила гру на Pygame. Бот не вимагає нічого нового — він збирає докупи те, що вже вміє рука.
Це і є причина, чому тему не ставлять першою, хоча вона ефектніша за цикли. Бот, написаний з нуля на другому занятті, був би переписуванням чужого коду під диктовку. Бот на дев'ятій темі підліток складає сам і може пояснити кожен рядок — різниця саме тут.
Чому бот легший за гру
| Гра на Pygame | Telegram-бот | |
|---|---|---|
| Рядків до результату | 150–200 | 30–40 |
| Що треба врахувати | Графіка, зіткнення, цикл гри, час | Команди й відповіді |
| Хто побачить | Той, кому дитина покаже екран | Будь-хто з посиланням |
| Де живе | На комп'ютері автора | На сервері, працює без автора |
Як виглядає заняття, на якому з'являється бот
Урок триває півтори години, у групі до шести осіб. Перші хвилини йдуть на те, чого в жодному підручнику немає: підліток пише службовому боту Telegram, отримує свій ключ доступу й вставляє його в порожній файл. Далі — бібліотека aiogram, чотири рядки запуску і один обробник на команду /start.
Дитина запускає скрипт, відкриває Telegram на телефоні, пише своєму боту — і той відповідає. Між першим рядком коду й цією відповіддю проходить менше однієї пари. Саме тому тема стоїть у програмі там, де стоїть: після восьми тем вправ потрібен проєкт, який видно одразу.
Друга пара по темі — клавіатури. Замість того щоб користувач вгадував команди, бот показує кнопки. Тут підліток уперше стикається з думкою, що інтерфейс — це теж його робота, а не щось, що хтось намалює потім.
Чим це відрізняється від відеоуроку на YouTube
За півтори години на ютубі теж можна зібрати бота. Різниця не в результаті, а в тому, що залишається після.
У відео код уже написаний, і глядач його повторює. Коли на екрані щось не запускається, зупинити відео й спитати нема кого — і половина спроб закінчується на помилці відступу. У групі до шести осіб викладач бачить екран кожного й ловить таку помилку за секунди, а сам розбір типових збоїв вбудований у тему: підліток має зрозуміти, чому бот мовчить, а не отримати готовий робочий файл.
Друга різниця — продовження. Відео закінчується разом із ботом. Тема — ні: далі йде ШІ всередині того самого бота, потім Git, потім фінальний проєкт, у який бота можна взяти. Кожна наступна тема щось до нього додає.
Що діти роблять ботами насправді
Найчастіше — маленькі особисті інструменти. Бот, який нагадує розклад уроків. Бот-словник для англійської. Бот, який кидає кубик для настільної гри в компанії. Бот, який приймає заявки на змагання в класі. Спільне в них те, що ними користуються не з ввічливості, а тому що зручно, — і саме це для підлітка головна нагорода.
Наступна тема — стани. Поки бот відповідає на окремі команди, він схожий на автомат із газованою водою: натиснув — отримав. Машина станів робить із нього співрозмовника. Бот питає ім'я, запам'ятовує відповідь, питає наступне, і лише потім щось робить. Технічно це називається FSM, а на практиці саме тут діти вперше бачать, що програма може вести діалог.
Питання, яке ставлять найчастіше
Бот працюватиме, коли комп'ютер вимкнений?
Ні — поки скрипт запущено на домашній машині, бот живий рівно стільки, скільки ввімкнений ноутбук. Щоб він працював цілодобово, програму треба покласти на сервер. Це окрема тема, і вона є, але на старшому ступені: у Python Pro підліток виносить проєкт на хостинг і вчиться ховати ключі в змінні оточення замість того, щоб тримати їх у коді.
Ми свідомо не тягнемо деплой у середній рівень. Дитина, яка щойно навчилася писати обробники, від слова «змінні оточення» нічого не виграє — а от плутанини набере.
Чого бот не вміє
Він не читає чужі чати. Не пише людям першим, якщо вони самі не почали розмову. Не збирає номери телефонів. Це обмеження самої платформи, і воно корисне: підліток бачить, що правила придумав не викладач, а середовище, у якому він працює. Приблизно так само влаштована будь-яка доросла робота з чужими сервісами.
Ще одне обмеження — швидкість. Telegram не дає розсилати повідомлення пачками без пауз, і перша ж спроба написати щось «усім одразу» впирається в обмеження платформи. Це хороший урок: кожен зовнішній сервіс має свої межі, і читати документацію доводиться раніше, ніж хочеться.
Про безпеку
Ключ доступу до бота — це пароль, і ми окремо розбираємо, чому його не можна викладати в репозиторій на GitHub. Підліток, який один раз побачив, як чужий ключ у відкритому коді знаходять за хвилину, запам'ятовує це назавжди.
На тій самій темі з'являється друга звичка: перевіряти, хто саме пише боту. Якщо бот щось видає за командою, а команду може надіслати будь-хто, то в коді має бути перевірка. Підлітки доходять до цієї думки самі — зазвичай після того, як однокласник знаходить їхнього бота й починає тиснути всі кнопки поспіль.
Куди тема веде далі
Тема повертається на старшому рівні, і двічі. Спершу як «Telegram-бот з БД»: той самий бот, але з базою SQLite, реєстрацією, профілями користувачів і адмін-панеллю. Дані більше не зникають після перезапуску. Потім як частина роботи з ШІ — підліток підключає до бота мовну модель через API, і бот перестає відповідати заготовками.
Для фінального проєкту ступеня «Ігри та боти» бот — один із трьох варіантів на вибір, поряд із грою на Pygame і скриптом-автоматизацією. За досвідом набору, бота обирають ті, кому важливо показати результат людям, а не тільки здати роботу.
Що таке API простими словами, розібрано тут: «Що таке API простими словами — і навіщо воно дитині». Про контроль версій — «Git і GitHub: навіщо підлітку контроль версій». Як бази даних дають боту пам'ять — «Бази даних і SQLite у курсі Python». Програма середнього рівня — Python: Ігри та боти.