В скрипте есть текстовое значение
BACK
, служащее кнопкой ''назад''. Так как обработчик реагирует на конкретный текст, а в скрипте есть две команды с одним текстовым значением, то ответ приходит только по той, которая задана раньше. Как грамотно использовать синтаксис Python, чтобы cоздать несколько отдельных
BACK
, но не меняя самого текстового значения?
@process.message_handler(content_types=['text'])
def func(message):
if (message.text == "A"):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
la = types.KeyboardButton('1')
lo = types.KeyboardButton('2')
markup.add(la, lo)
process.send_message(message.chat.id, 'So?:', reply_markup=markup)
elif (message.text. == '1'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
good = types.KeyboardButton('Good')
back = types.KeyboardButton('BACK')
markup.add(good, back)
process.send_message(message.chat.id, 'And?:', reply_markup=markup)
elif (message.text == "BACK"):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
la = types.KeyboardButton('1')
lo = types.KeyboardButton('2')
markup.add(la, lo)
process.send_message(message.chat.id, 'So?:', reply_markup=markup)
if (message.text == "B"):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
la = types.KeyboardButton('3')
lo = types.KeyboardButton('4')
markup.add(la, lo)
process.send_message(message.chat.id, 'So?:', reply_markup=markup)
elif (message.text. == '3'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
good = types.KeyboardButton('Good')
back = types.KeyboardButton('BACK')
markup.add(good,back)
process.send_message(message.chat.id, 'And?:', reply_markup=markup)
elif (message.text == "BACK"):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
la = types.KeyboardButton('3')
lo = types.KeyboardButton('4')
markup.add(la, lo)
process.send_message(message.chat.id, 'So?:', reply_markup=markup)