Бот здоровается: команда /start

Вчера скелет запустился, но молчал. Сегодня он впервые тебе ответит. Момент, ради которого всё и затевалось. Заодно сделаем по-взрослому одну важную вещь: спрячем токен.

После урока сможешь: объяснить тему «Бот здоровается: команда /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 бот отвечает твоей собственной фразой (не «Привет»);
✅ прислан скриншот диалога, токена на экране нет.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева