Меню на ReplyKeyboard с одинаковыми кнопками (telebot)

Допустим есть стартовое меню: -Пункт1 -Пункт2 -Пункт3

В каждом из этих пунктов есть:

  • собственная кнопка "Продолжить", которая вызывает ещё одно меню с кнопками
  • общая кнопка "Отмена", которая ведет обратно на стартовое меню.

С кнопкой "Отмена" всё понятно. А вот как через ReplyKeyboard реализовать "Продолжить", если во всех трех пунктах она своя собственная, но при этом имеет одинаковое название? Инлайн клавиатуру не предлагать. Была идея как-то схитрить за счет добавления пробелов в название кнопки, но ничего не получилось(может быть из-за того, что мои познания совсем невелики) Ещё нашел такую штуку, как register_next_step_handler, но ещё не разобрался как она работает


Ответы (1 шт):

Автор решения: DeNRuDi

Не то чтобы это верное решение, я бы назвал это костылем, но тем не менее можно создать две "одинаковые" кнопки. Попробуйте заменить в слове Пункт русскую букву У (кириллица) на английскую y (латиница). Может букву у и будет видно, но думаю с буквами а, o должно сливаться, и обычный юзер не заметит разницы. Реального способа кроме метода register_next_step_handler я так и не нашел - но он имеет свои недостатки, чтобы использовать для такой задачи.

Пример рабочего костыля:

if message.text == 'Пункт1':
    return 'русская буква у'
elif message.text == 'Пyнкт1': # здесь str отличается от другого str в условии
    return 'Английская буква y'
→ Ссылка