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

Это артефакт модуля. Первый бот, которого не стыдно показать друзьям.
Один обработчик на все сообщения
С /start всё было понятно: один обработчик на одну команду. А как поймать вообще любое сообщение, не только команду? Для этого у обработчика есть условие-фильтр. Можно сказать «срабатывай, если выполнено вот это правило». А если правилом поставить «всегда истина», обработчик будет ловить всё подряд.
@bot.message_handler(func=lambda message: True)
def echo(message):
bot.send_message(message.chat.id, message.text)
Разберём строчку func=lambda message: True. Не пугайся слова lambda, тут оно значит простое правило: «посмотри на сообщение и реши, брать его или нет». А True означает «бери всегда». Внутри функции одна строка: отправляем обратно message.text, тот самый текст, что прислал пользователь. Пришло «как дела», бот отправит «как дела». Это и есть эхо.
Порядок имеет значение
Вот полный файл целиком:
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.message_handler(func=lambda message: True)
def echo(message):
bot.send_message(message.chat.id, message.text)
bot.infinity_polling()
Обработчик
/startстоит выше эхо, и это важно. Бот проверяет обработчики сверху вниз и останавливается на первом подходящем. Команду /start ловит первый, до эхо дело не доходит. Любое другое сообщение пролетает мимо первого и попадает во второй. Поставишь эхо первым — оно перехватит и /start. Запомни: частные правила выше, общее правило ниже.
Проверяем
Запусти бота. Напиши ему /start, он поздоровается. Напиши «привет», «123», что угодно, он повторит. Покажи бота другу, пусть напишет ему пару сообщений. Бот живой, и сделал его ты.
Контрольный вопрос. Какой обработчик повторит ЛЮБОЕ текстовое сообщение?
Подсказка: Нужен фильтр, который согласен на любое сообщение, а не на конкретную команду.
Онлайн-проверка ответа появится позже
Задание. Собери Бот-Эхо по коду из урока (приветствие на /start оставь своё). Проверь, что /start здоровается, а остальные сообщения бот повторяет. Пришли короткое видео или два скриншота, где ты пишешь разные сообщения, а бот повторяет каждое.
Подсказка: Два обработчика: сначала /start, потом эхо с func=lambda message: True. Порядок важен.
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Зачёт, если:
✅ на /start бот здоровается твоим приветствием;
✅ любое другое сообщение бот повторяет (эхо);
✅ проверено минимум на 2 разных сообщениях;
✅ прислано видео или два скриншота.
