Не работает клавиатура (кнопки) на телеграм-боте

menssshakov

Новичок
Пользователь
Апр 1, 2021
3
0
1
Всем привет, возможно вы уже отвечали на подобные вопросы, но в интернете я ничего не нашёл. ОС: Windows 7, Python: 3.7, библиотеки: telegrambotapi (telebot), я пишу бота в телеграме, и после ввода одной команды, под сообщение появляется клавиатура, и всё работает исправно. Но мне нужно создать еще одну клавиатуру под другую команду. Клава создается, но не работает, хотя код вроде написан правильно. Вот часть кода (сначала первый, работающий, потом второй)
keyboard = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text = 'Да', callback_data = 'yes')
keyboard.add(key_yes)
key_no = types.InlineKeyboardButton(text = 'Нет', callback_data = 'no')
keyboard.add(key_no)
question = "Продолжить?"
bot.send_message(message.from_user.id, text = question, reply_markup=keyboard)
@bot.callback_query_handler(func = lambda call: True)
def callback_worker(call):
if call.data == "yes":
bot.send_message(call.message.chat.id, "Хорошо, введите колчество чисел (из скольки чисел будете угадывать).")
bot.register_next_step_handler(call.message, welcome_casino4)
elif call.data == "no":
bot.send_message(call.message.chat.id, "Очень жаль")

@bot.message_handler(commands=['math'])
def mathematics(message):
p_inline = types.InlineKeyboardMarkup()
item_lv1 = types.InlineKeyboardButton(text = 'Уровень 1', callback_data = 'level 1')
item_lv2 = types.InlineKeyboardButton(text = 'Уровень 2', callback_data = 'level 2')
item_lv3 = types.InlineKeyboardButton(text = 'Уровень 3', callback_data = 'level 3')
p_inline.add(item_lv1)
p_inline.add(item_lv2)
p_inline.add(item_lv3)
bot.send_message(message.from_user.id, text = "Выберите уровень сложности:", reply_markup = p_inline)

@bot.callback_query_handler(func = lambda call: True)
def mathematics2(call):
if call.data == "level 1":
bot.send_message(call.message.chat.id, "Хорошо")
elif call.data == "level 2":
bot.send_message(call.message.chat.id, "Отлично")
elif call.data == "level 3":
bot.send_message(call.message.chat.id, "Супер!")
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
вам бы вставить для начала ваш кусок кода как код, было бы легче всем
 

Форум IT Специалистов