После нажатия на кнопку должны сохранятся последующие введенные сообщения. python

Для понимания, что работает это через кнопку.

#   Создание файла xlsx
book: Workbook = openpyxl.Workbook()
sheet = book.active
@tokenbot.message_handler(commands=['go'])
def button(go):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
    chapter = types.KeyboardButton('Hовая запись')
    tokenbot.send_message(go.chat.id, 'Записываю', reply_markup=markup)

Вот проблемный участок кода.

@tokenbot.message_handler(content_types=['text'])
def user_mess(ms):
    if ms.text == 'Hовая запись':
        Надо чтобы следующий код записывал не текущее значение ms.text(Hовая запись),
        а то, что пользователь введёт следом. Запись в таблицу 
        реализована через openpyxl
        #  Запись данных от пользователя в таблицу exel. 
        sheet.cell(column=2, row=1).value = f'{ms.text}'
        sheet['A4'] = f'{ms.text}'
        #  Сохранение данных от пользователя.
        book.save('my_book.xlsx')
        book.close()

Вот логика как должно быть. Нажали на кнопку. -- Заработал код отвечающий за запись. -- ввели текст -- код отвечающий за запись, записал введённый текст


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

Автор решения: Daniil Zhernosek

Спасибо Сергею Шашко и примеру от разработчиков.

@tokenbot.message_handler(content_types=['text'])
def tap_button(tap):
    if tap.text == 'Hовая запись':
        tokenbot.register_next_step_handler(tap, user_mess)

def user_mess(ms):
    sheet.cell(column=2, row=1).value = ms.text
    sheet['A4'] = ms.text

    book.save('my_book.xlsx')
    book.close()
→ Ссылка