Как у телеграмм бота сделать так, чтобы после ответа на первый вопрос(нажатия кнопки) сразу появлялся второй вопрос
Вот выводит он мне первый вопрос, я, например, отвечаю 50, он пишет верно, а потом не выдает 2 вопрос. Как это пофиксить?
@bot.message_handler(commands=['play'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
btn1 = types.KeyboardButton("15")
btn2 = types.KeyboardButton("32")
btn3 = types.KeyboardButton("50")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, 'Сколько будет 25+25?', reply_markup=markup)
@bot.message_handler(content_types=["text"])
def func(message):
if (message.text == '50'):
bot.send_message(message.chat.id, 'Верно', reply_markup=a)
elif (message.text == '32'):
bot.send_message(message.chat.id, 'Неверно', reply_markup=a)
elif (message.text == '15'):
bot.send_message(message.chat.id, 'Неверно', reply_markup=a)
a = telebot.types.ReplyKeyboardRemove()
@bot.message_handler(content_types=['text'])
def func(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
btn1 = types.KeyboardButton("А")
btn2 = types.KeyboardButton("Б")
btn3 = types.KeyboardButton("В")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, 'Какая буква первая?', reply_markup=markup)
@bot.message_handler(content_types=["text"])
def func(message):
if (message.text == 'А'):
bot.send_message(message.chat.id, 'Верно', reply_markup=a)
elif (message.text == 'Б'):
bot.send_message(message.chat.id, 'Неверно', reply_markup=a)
elif (message.text == 'В'):
bot.send_message(message.chat.id, 'Неверно', reply_markup=a)
a = telebot.types.ReplyKeyboardRemove()
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
@bot.message_handler(commands=['play'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
markup.add("15", "32", "50")
bot.send_message(message.chat.id, 'Сколько будет 25+25?', reply_markup=markup)
bot.register_next_step_handler(message, input_number, "50")
def input_number(message, right_answer: str):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
markup.add("А", "Б", "В")
if message.text == right_answer:
bot.send_message(message.chat.id, 'Верно', reply_markup=types.ReplyKeyboardRemove())
else:
bot.send_message(message.chat.id, 'Неверно', reply_markup=types.ReplyKeyboardRemove())
bot.send_message(message.chat.id, 'Какая буква первая?', reply_markup=markup)
bot.register_next_step_handler(message, input_number, "А")
def input_str(message, right_answer: str):
if message.text == right_answer:
bot.send_message(message.chat.id, 'Верно', reply_markup=types.ReplyKeyboardRemove())
else:
bot.send_message(message.chat.id, 'Неверно', reply_markup=types.ReplyKeyboardRemove())