Как получить message.text или предложите как лучше сделать python telebot?
Я пишу код телеграм бота в python
Я хочу после того как пользователь написал текст (допустим картошка), в свойстах стоит inlinekeyboard кнопки (допустим почистить и помыть) и если пользователь нажимает одну из них бот запоминает предыдущее сообщение и переходит выполнять функцию исходя из данных отправленных боту.
Сейчас отправлю пример:
elif message.text.lower() == 'овощи или фрукты':
msg = bot.send_message(chat_id, text="отправьте фрукт или овощ",
parse_mode='markdown')
bot.register_next_step_handler(msg, ovoshifructs)
def ovoshifructs(message):
bot.reply_to(message,
text= "Что хотите сделать?",
parse_mode='Markdown',
reply_markup=menu.choosecountry) #тут 2 Inline кнопки почистить или помыть
Затем бот принимает данные в @bot.callback_query_handler
@bot.callback_query_handler(func=lambda call: True)
def handler_call(call):
chat_id = call.message.chat.id
message_id = call.message.message_id
if call.data == 'pochistit':
dict = func.savetext(chat_id) #class savetext
savetext_dict[chat_id] = dict #dict savetext
dict = savetext_dict[chat_id]
msg = dict.text = message.text #error
bot.register_next_step_handler(msg, handle_fructs_ovochi)
И вот под конец оно не знает что такое message.text. Возможно у вас есть варианты как можно сократить код, а не перекидывать каждый раз или сделать его компактнее. А в целом проблема была в том что в call нет message то-есть сохранить отправленный текст после нажатия inline кнопки нельзя
То-есть мне надо сохранить слово картошка и запустить ту функцию которую юзер выбрал на inline кнопках