Бот не отвечает на запрос кнопок

Вроде бы задал для каждой кнопки задачу, что если отправляется текст, то бот отвечает Но когда я нажимаю на старт и потом на "Невыполненные задачи", то ничего не происходит Работает только с "Выполненные задачи" Помогите разобраться пожалуйста


Ответы (1 шт):

Автор решения: Airat Galiullin

Надо быть внимательне, куча опечаток и не соответствий, а также используйте документацию от библиотеки, там есть более изящный способ обработки нажатий. Пример опечатки:

  • Невыполеные задачи — опечатка, должно быть Невыполненные задачи.
  • bot.register_next_step_handler срабатывает только один раз после /start, поэтому лучше сделать @bot.message_handler(func=lambda message: True) для постоянного реагирования на кнопки.
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton('Выполненные задачи')
    btn2 = types.KeyboardButton('Невыполненные задачи')
    btn3 = types.KeyboardButton('Добавить задачу')
    markup.row(btn1)
    markup.row(btn2, btn3)
    bot.send_message(message.chat.id, 'Здарова бандиты, чего желаем?', reply_markup=markup)

@bot.message_handler(func=lambda message: True)
def handle_buttons(message):
    if message.text == 'Выполненные задачи':
        bot.send_message(message.chat.id, 'Hate')
    elif message.text == 'Невыполненные задачи':
        bot.send_message(message.chat.id, 'Беда, надо сделать')
    elif message.text == 'Добавить задачу':
        bot.send_message(message.chat.id, 'Добавляй')
    else:
        bot.send_message(message.chat.id, 'Не понимаю. Используй кнопки ниже.')
→ Ссылка