Вчера скелет запустился, но молчал. Сегодня он впервые тебе ответит. Момент, ради которого всё и затевалось. Заодно сделаем по-взрослому одну важную вещь: спрячем токен.
После урока сможешь: объяснить тему «Бот здоровается: команда /start» и выполнить связанный с ней учебный шаг без подсказки.
Прячем токен в отдельный файл
Токен это ключ от квартиры. Ты же не пишешь адрес и не вешаешь ключ на дверь снаружи. А код многие потом выкладывают на GitHub, чтобы показать в портфолио. Если токен лежит прямо в коде, ты выложишь его на всеобщее обозрение, и чужой человек заберёт ключ.
Решение простое. Создай рядом второй файл, назови config.py, и положи туда только токен:
TOKEN = "сюда_вставь_токен"
Теперь в основном файле bot.py возьмём токен из этого файла:
import telebot
from config import TOKEN
bot = telebot.TeleBot(TOKEN)
from config import TOKENзначит «возьми переменную TOKEN из файла config». Основной код теперь чистый, без секрета внутри. Аconfig.pyты просто не выкладываешь никуда. Запомни эту привычку, она пригодится всю жизнь.
Учим бота здороваться
Теперь главное. Добавим обработчик. Помнишь из словаря: обработчик это кусочек программы, который срабатывает на событие. Наше событие это команда /start. Вот полный файл bot.py:
import telebot
from config import TOKEN
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def say_hi(message):
bot.send_message(message.chat.id, "Привет! Я твой первый бот.")
bot.infinity_polling()
@bot.message_handler(commands=['start'])это табличка на двери: «я срабатываю на команду /start». Значок@сверху говорит, что ниже идёт обработчик.def say_hi(message):это обычная функция, ты такие писал в курсе Python. В неё прилетаетmessage— вся информация о сообщении: кто, что и в каком чате написал.bot.send_message(message.chat.id, "...")отправляет ответ.message.chat.idэто адрес чата, куда слать (туда же, откуда пришло). Второй кусок это текст ответа.
Запускаем и радуемся
Запусти bot.py. Зайди в Telegram, открой своего бота, нажми /start. Бот ответит. По-настоящему, сам. Пусть пока он умеет одно приветствие, лиха беда начало.
Контрольный вопрос. В какой файл выносят токен, чтобы не держать секрет в основном коде? Напиши имя файла.
Подсказка: Отдельный файл рядом с bot.py, из него делают from ____ import TOKEN.
Онлайн-проверка ответа появится позже
Задание. Вынеси токен в файл config.py, добавь обработчик /start, но поменяй фразу на свою (не «Привет», а что-то твоё). Пришли скриншот диалога: ты пишешь /start, бот отвечает твоей фразой. Токен на скриншоте быть не должен.
Подсказка: Файл config.py с переменной TOKEN, в bot.py — from config import TOKEN. Обработчик из урока, в send_message впиши свою фразу.
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Зачёт, если:
✅ токен вынесен в config.py, в основном коде токена не видно;
✅ на /start бот отвечает твоей собственной фразой (не «Привет»);
✅ прислан скриншот диалога, токена на экране нет.
