@Xproz
Пытаюсь постигнуть компьютерные сети

Вложенные Reply Keyboards в Telebot?

Здравствуйте. Изучаю сейчас Telebot. Я видел, как во многих ботах интернет магазинов делали так, что бы при нажатии на кнопку (например "Супы"), появлялась другая клава (например с кнопками "Борщ", "Солянка" и т.п.). Это я сделал. Но проблема в том, что я не знаю как сделать так, чтобы проверялось, что выбрал пользователь уже во второй клаве (то есть в клаве со списками уже самих супов).

@bot.message_handler(commands = ['start', 'help'])
def start_message(message):
    bot.send_message(message.chat.id, 'Здравствуйте! Оформим заказ?', reply_markup = buttons.welcome_table)
	#buttons.welcome_table -> клава, которая хранится в модуле buttons. В ней список типа "Cупы", "Горячие блюда"...

@bot.message_handler(content_types = ['text'])
def lalala(message):
	if message.chat.type == 'private':
		if message.text == 'Супы ':
			soup_table = types.ReplyKeyboardMarkup()
			button = types.KeyboardButton('Назад')
			soup_table.add(button)
			
			for i in range(1, 16):
				b1 = types.KeyboardButton(i)
				soup_table.add(b1)
			bot.send_message(message.chat.id, 'Ok!', reply_markup = soup_table)
			#здесь же мне нужно как то проверять постоянно, что нажал пользователь уже в новой клаве soup_table
			#то есть в данном случае это кнопки от 1 до 15, после чего выдать соответствующую информацию ИЛИ
			#ДРУГУЮ КЛАВУ. (которую тоже нужно как-то проверять)
  • Вопрос задан
  • 554 просмотра
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Ну, с одной кнопкой вы справились.

if message.text == 'Супы ':

А по аналогии другие добавить?
if message.text == 'Борщ':
  # ...
elif message.text == 'Солянка':
  # ...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы