Всем привет, возможно вы уже отвечали на подобные вопросы, но в интернете я ничего не нашёл. ОС: 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, "Супер!")
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, "Супер!")