Коротко: бот — перший проєкт, яким користується хтось, крім автора: він живе окремо від комп'ютера дитини й відповідає друзям без її участі. Складність нижча за гру — до першої робочої відповіді приблизно 30–40 рядків коду. У програмі курсу «Ігри та боти» ботам відведено дві теми з тринадцяти: основи й логіка станів.

Батьки чують «Telegram-бот» і уявляють щось складне. Підлітки чують те саме й уявляють спам-розсилку. Обидва образи мимо.

Що всередині бота

Три частини, і кожна знайома дитині з попередніх тем. Перша — з'єднання з Telegram через API: бібліотека робить це кількома рядками, а сам ключ доступу видає службовий бот платформи. Друга — обробники: функція, яка спрацьовує на команду. Третя — стани: бот пам'ятає, на якому кроці розмови зупинився користувач.

Ось чому бот стоїть у програмі після теми про API: до нього дитина вже розуміє, що таке запит і відповідь. Без цього довелося б пояснювати два поняття одночасно.

Коли саме тема настає

Боти — дев'ята й десята теми з тринадцяти. Тобто дві третини ступеня вже позаду: дитина писала функції, розбирала словники, ловила помилки через try/except, читала файли й зробила гру на Pygame. Бот не вимагає нічого нового — він збирає докупи те, що вже вміє рука.

Це і є причина, чому тему не ставлять першою, хоча вона ефектніша за цикли. Бот, написаний з нуля на другому занятті, був би переписуванням чужого коду під диктовку. Бот на дев'ятій темі підліток складає сам і може пояснити кожен рядок — різниця саме тут.

Чому бот легший за гру

Перша гра проти першого бота
Гра на PygameTelegram-бот
Рядків до результату150–20030–40
Що треба врахуватиГрафіка, зіткнення, цикл гри, часКоманди й відповіді
Хто побачитьТой, кому дитина покаже екранБудь-хто з посиланням
Де живеНа комп'ютері автораНа сервері, працює без автора

Як виглядає заняття, на якому з'являється бот

Урок триває півтори години, у групі до шести осіб. Перші хвилини йдуть на те, чого в жодному підручнику немає: підліток пише службовому боту Telegram, отримує свій ключ доступу й вставляє його в порожній файл. Далі — бібліотека aiogram, чотири рядки запуску і один обробник на команду /start.

Дитина запускає скрипт, відкриває Telegram на телефоні, пише своєму боту — і той відповідає. Між першим рядком коду й цією відповіддю проходить менше однієї пари. Саме тому тема стоїть у програмі там, де стоїть: після восьми тем вправ потрібен проєкт, який видно одразу.

Друга пара по темі — клавіатури. Замість того щоб користувач вгадував команди, бот показує кнопки. Тут підліток уперше стикається з думкою, що інтерфейс — це теж його робота, а не щось, що хтось намалює потім.

Чим це відрізняється від відеоуроку на YouTube

За півтори години на ютубі теж можна зібрати бота. Різниця не в результаті, а в тому, що залишається після.

У відео код уже написаний, і глядач його повторює. Коли на екрані щось не запускається, зупинити відео й спитати нема кого — і половина спроб закінчується на помилці відступу. У групі до шести осіб викладач бачить екран кожного й ловить таку помилку за секунди, а сам розбір типових збоїв вбудований у тему: підліток має зрозуміти, чому бот мовчить, а не отримати готовий робочий файл.

Друга різниця — продовження. Відео закінчується разом із ботом. Тема — ні: далі йде ШІ всередині того самого бота, потім Git, потім фінальний проєкт, у який бота можна взяти. Кожна наступна тема щось до нього додає.

Що діти роблять ботами насправді

Найчастіше — маленькі особисті інструменти. Бот, який нагадує розклад уроків. Бот-словник для англійської. Бот, який кидає кубик для настільної гри в компанії. Бот, який приймає заявки на змагання в класі. Спільне в них те, що ними користуються не з ввічливості, а тому що зручно, — і саме це для підлітка головна нагорода.

Наступна тема — стани. Поки бот відповідає на окремі команди, він схожий на автомат із газованою водою: натиснув — отримав. Машина станів робить із нього співрозмовника. Бот питає ім'я, запам'ятовує відповідь, питає наступне, і лише потім щось робить. Технічно це називається FSM, а на практиці саме тут діти вперше бачать, що програма може вести діалог.

Питання, яке ставлять найчастіше

Бот працюватиме, коли комп'ютер вимкнений?

Ні — поки скрипт запущено на домашній машині, бот живий рівно стільки, скільки ввімкнений ноутбук. Щоб він працював цілодобово, програму треба покласти на сервер. Це окрема тема, і вона є, але на старшому ступені: у Python Pro підліток виносить проєкт на хостинг і вчиться ховати ключі в змінні оточення замість того, щоб тримати їх у коді.

Ми свідомо не тягнемо деплой у середній рівень. Дитина, яка щойно навчилася писати обробники, від слова «змінні оточення» нічого не виграє — а от плутанини набере.

Чого бот не вміє

Він не читає чужі чати. Не пише людям першим, якщо вони самі не почали розмову. Не збирає номери телефонів. Це обмеження самої платформи, і воно корисне: підліток бачить, що правила придумав не викладач, а середовище, у якому він працює. Приблизно так само влаштована будь-яка доросла робота з чужими сервісами.

Ще одне обмеження — швидкість. Telegram не дає розсилати повідомлення пачками без пауз, і перша ж спроба написати щось «усім одразу» впирається в обмеження платформи. Це хороший урок: кожен зовнішній сервіс має свої межі, і читати документацію доводиться раніше, ніж хочеться.

Про безпеку

Ключ доступу до бота — це пароль, і ми окремо розбираємо, чому його не можна викладати в репозиторій на GitHub. Підліток, який один раз побачив, як чужий ключ у відкритому коді знаходять за хвилину, запам'ятовує це назавжди.

На тій самій темі з'являється друга звичка: перевіряти, хто саме пише боту. Якщо бот щось видає за командою, а команду може надіслати будь-хто, то в коді має бути перевірка. Підлітки доходять до цієї думки самі — зазвичай після того, як однокласник знаходить їхнього бота й починає тиснути всі кнопки поспіль.

Куди тема веде далі

Тема повертається на старшому рівні, і двічі. Спершу як «Telegram-бот з БД»: той самий бот, але з базою SQLite, реєстрацією, профілями користувачів і адмін-панеллю. Дані більше не зникають після перезапуску. Потім як частина роботи з ШІ — підліток підключає до бота мовну модель через API, і бот перестає відповідати заготовками.

Для фінального проєкту ступеня «Ігри та боти» бот — один із трьох варіантів на вибір, поряд із грою на Pygame і скриптом-автоматизацією. За досвідом набору, бота обирають ті, кому важливо показати результат людям, а не тільки здати роботу.

Що таке API простими словами, розібрано тут: «Що таке API простими словами — і навіщо воно дитині». Про контроль версій — «Git і GitHub: навіщо підлітку контроль версій». Як бази даних дають боту пам'ять — «Бази даних і SQLite у курсі Python». Програма середнього рівня — Python: Ігри та боти.