Ты умеешь делать кнопки снизу и кнопки под сообщением. Пора собрать из них настоящее меню и сделать его своим. Это артефакт модуля, бот, которым реально приятно пользоваться.
После урока сможешь: объяснить тему «Собираем Бот-Меню» и выполнить связанный с ней учебный шаг без подсказки.

Тема меню твоя. Бот-визитка про тебя. Бот-помощник с шутками и советами. Бот про твою игру, команду, увлечение. Чем личнее, тем интереснее, и тем точно не списать у соседа.
Из чего собираем
Меню это просто несколько кнопок, у каждой свой ответ. Соберём пример бот-визитки на reply-кнопках, а ты по образцу сделаешь своё.
import telebot
from telebot import types
from config import TOKEN
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def start(message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add(types.KeyboardButton("Обо мне"), types.KeyboardButton("Мои хобби"))
keyboard.add(types.KeyboardButton("Контакты"))
bot.send_message(message.chat.id, "Привет! Я бот-визитка. Жми кнопку:", reply_markup=keyboard)
@bot.message_handler(func=lambda message: message.text == "Обо мне")
def about(message):
bot.send_message(message.chat.id, "Меня зовут Аня, мне 15, учусь и собираю ботов.")
@bot.message_handler(func=lambda message: message.text == "Мои хобби")
def hobby(message):
bot.send_message(message.chat.id, "Баскетбол, рисование и Python.")
@bot.message_handler(func=lambda message: message.text == "Контакты")
def contacts(message):
bot.send_message(message.chat.id, "Пиши мне: @anya")
bot.infinity_polling()
Смотри, как ровно ложится. Одна кнопка, один обработчик, один ответ. Хочешь четыре пункта, добавь четвёртую кнопку и четвёртый обработчик. Логика та же.
Главная ловушка
Если где-то остался общий эхо-обработчик (
func=lambda message: True) и стоит выше кнопочных, кнопки перестанут работать. Бот берёт первый подходящий обработчик сверху вниз, а общий ловит вообще всё. Лекарство: частные обработчики выше, общий ниже или убери его в этом боте. Если кнопки «онемели», первым делом проверяй порядок.
Бот-визитку можно собрать и на inline-кнопках из прошлого урока, тогда меню будет висеть прямо под приветствием. Попробуй оба варианта и выбери, что нравится. Это и есть навык: понимать, какой вид кнопок где уместнее.
Контрольный вопрос. В уроке правило: одна кнопка — один обработчик — один ответ. Сколько обработчиков нужно для меню из 3 кнопок с разными ответами? Напиши число.
Подсказка: По одному обработчику на кнопку.
Онлайн-проверка ответа появится позже
Задание. Собери своё Бот-Меню на свою тему: минимум 3 кнопки, у каждой свой осмысленный ответ. Reply или inline на твой выбор, можно смешать. Пришли короткое видео работы меню и одной строкой опиши, про что твой бот. Тема обязательно своя, не копия примера про Аню.
Подсказка: По одной кнопке — по одному обработчику. Следи за порядком: общий обработчик (если есть) строго последний.
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Зачёт, если:
✅ бот запускается без красных ошибок;
✅ минимум 3 кнопки, у каждой свой осмысленный ответ, по нажатию бот отвечает (у inline — без залипших часиков);
✅ тема своя, не копия примера про Аню;
✅ прислано короткое видео работы меню.
