Callback function не работает в коде телеграм бота на telebot, как можно исправить?
start_panel = types.InlineKeyboardMarkup()
start_panel.add(types.InlineKeyboardButton('Администратор', callback_data='admin_call'))
admin_panel = types.ReplyKeyboardMarkup()
admin_panel.row(types.KeyboardButton('Привелегии администратора'), types.KeyboardButton('Правила работы админа'))
@bot.message_handler(commands=['start'])
def start_func(message):
bot.send_message(message.chat.id, 'Здравствуйте', reply_markup=start_panel)
#В данной функции клавиатура админа работает
@bot.message_handler(commands=['admin'])
def admin_func(message):
if message.from_user.id == id_admin:
bot.send_message(message.chat.id, f'Вы вошли как админ', reply_markup=admin_panel)
else:
bot.send_message(message.chat.id, 'Вы не админ!')
@bot.callback_query_handler(func=lambda callback: callback.data=='admin_call')
def callback_message(callback):
bot.send_message(callback.message.chat.id, 'Вам выданы права админа',
reply_markup=admin_panel)
#Минимальный рабочий код
from telebot import types
bot = telebot.TeleBot('TOKEN')
start_panel = types.InlineKeyboardMarkup()
start_panel.add(types.InlineKeyboardButton('Администратор', callback_data='admin_call'))
admin_panel = types.ReplyKeyboardMarkup()
admin_panel.row(types.KeyboardButton('Привелегии администратора'), types.KeyboardButton('Правила работы админа'))
@bot.message_handler(commands=['start'])
def start_func(message):
bot.send_message(message.chat.id, 'Здравствуйте', reply_markup=start_panel)
@bot.callback_query_handler(func=lambda callback: callback.data=='admin_call')
def callback_message(callback):
bot.send_message(callback.message.chat.id, 'Вам выданы права админа',
reply_markup=admin_panel)
bot.polling(non_stop=True)
Я по нескольку раз перечитывал ответы на данную проблему, но не нашел ответ, у людей были проблемы в передачи анонимной функции callback
.
Проблема в том, что я правильно передаю данные в анонимную функцию, но она все равно не обрабатывается.