Проблема с кнопками Python в telegram
Я пытаюсь написать бота для магазина в телеграмме, создал клавиатуру из четырех кнопок и расписал какое действие нужно выполнить при нажатии ''купить'', но по какой-то причине бот просто выводит три строчки текста (как в целом и должно быть), но не запоминает ответ пользователя, если пытаться ответить боту что-то два и более раз, то программа вообще ломается. Как нужно написать этот промежуток кода, чтобы бот задал вопрос - запомнил ответ - задал следующий вопрос и эта схема работала любое количество раз?
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.text == "Купить":
bot.send_message(message.chat.id, "Какой товар хотите купить?")
bot.register_next_step_handler(message, basket)
def reg_basket(message):
global basket
basket = message.text
bot.send_message(message.chat.id, "Как вас зовут?")
bot.register_next_step_handler(message, name)
def reg_name(message):
global name
name = message.text
bot.send_message(message.from_user.id, "Какой у вас номер телефона?")
bot.register_next_step_handler(message, number)
def reg_number(message):
global number
# age = message.text
while number == 0:
try:
number = int(message.text)
except Exception:
bot.send_message(message.from_user.id, "Вводите цифрами!")
reg_basket(message)
reg_name(message)
reg_number(message)
elif message.text == 'О нас':
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup)
else:
bot.send_message(message.chat.id, 'иди в жопу ?')
Ответы (1 шт):
Автор решения: farkon00
→ Ссылка
Надо написать msg = bot.send_message(message.chat.id, "Какой товар хотите купить?") и в register_next_step_handler передавать msg.