Проблема с обработкой callback-запросов от inline-клавиатуры
В проекте реализована inline-клавиатура, которая успешно отображается пользователю, однако обработчик callback-запросов не функционирует должным образом.
Рабочая часть: создание и отправка клавиатуры
Код для создания и отправки inline-клавиатуры выполняется корректно:
- Создается объект клавиатуры
InlineKeyboardMarkup() - Добавляются три кнопки с текстами "Показать аномалии", "Показать сотрудников" и "Показать предметы"
- Каждой кнопке присваивается соответствующий callback_data
- Сообщение отправляется с информацией об инвентаре и прикрепленной клавиатурой
- Предыдущее сообщение удаляется командой
delete_message
Проблемная часть: неработающий обработчик
Декоратор @bot.callback_query_handler с функцией-фильтром lambda callback: True должен перехватывать все callback-запросы, однако этого не происходит.
Проблема проявляется следующим образом:
- Обработчик не активируется при нажатии на любую из кнопок
- Даже простейшая отладочная команда
print(1)внутри функции не выполняется - Логика ветвления по
callback.dataне срабатывает - Функция
bot.answer_callback_query()не вызывается
Критическим моментом является использование неинициализированной переменной message внутри обработчика, что может вызывать ошибку выполнения, однако проблема возникает раньше - обработчик вообще не запускается.