После нажатия на кнопку должны сохранятся последующие введенные сообщения. 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()