Задать вопрос
@redesiign

Проблема с кнопками в меню телеграмм бота. Как заставить их работать?

код для телеграмм меню с кнопками. вроде все работает, но вот после нажатия на кнопку "Поступаю на договорной основе" не выходят следующие кнопки, которые должны идти. А именно, кнопки "Гражданство РФ", "Иностранное гражданство".
Также не могу понять почему не работает кнопка "Назад", хотя вроде как должна.
spoiler
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
    item1 = types.KeyboardButton('О боте')
    item2 = types.KeyboardButton('К выбору общежитий')
    


    markup.add(item1, item2)

    bot.send_message(message.chat.id, 'Привет, {0.first_name}!'.format(message.from_user), reply_markup = markup)

@bot.message_handler(content_types=['text'])
def bot_message(message):
    if message.chat.type == 'private':
        if message.text == 'О боте':
            bot.send_message(message.chat.id, 'Привет, ты поступаешь в вуз! Этот бот познакомит тебя с общежитиями нашего ВУЗа, даст информацию о том, как до них добраться, что есть в комнатах и какая инфраструктура расположена рядом!')
        elif message.text == 'К выбору общежитий':
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item3 = types.KeyboardButton('Поступаю на договорной основе')
            item4 = types.KeyboardButton('Поступаю на бюджетной основе')
            back = types.KeyboardButton('Назад')
            markup.add(item3, item4, back)

            bot.send_message(message.chat.id, 'На какой основе ты поступаешь? На договорной или на бюджетной?', reply_markup = markup)

        elif message.text == 'Поступаю на договорной основе':
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item5 = types.KeyboardButton('Гражданство РФ')
            item6 = types.KeyboardButton('Иностранное гражданство')
            back = types.KeyboardButton('Назад')
            markup.add(item5, item6, back)

            bot.send_message(message.chat.id, 'Выбери своё гражданство:')

        elif message.text == 'Гражданство РФ':
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item7 = types.KeyboardButton('Мне есть 18 лет')
            item8 = types.KeyboardButton('Мне нет 18 лет')
            back = types.KeyboardButton('Назад')
            markup.add(item7, item8, back)

            bot.send_message(message.chat.id, 'Выбери, сколько полных лет тебе будет на момент заселения в общежитие?', reply_markup = markup)

        elif message.text == 'Иностранное гражданство':
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item9 = types.KeyboardButton('Общежитие №1 на ВО')
            markup.add(item9)

            bot.send_message(message.chat.id, 'Ты можешь заселиться в следующее общежитие: Общежитие №1 на ВО.', reply_markup = markup)

        elif message.text == 'Мне есть 18 лет':
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item12 = types.KeyboardButton('Общежитие  №3')
            item13 = types.KeyboardButton('Общежитие №2 ')
            back = types.KeyboardButton('Назад')
            markup.add(item12, item13, back)

            bot.send_message(message.chat.id, 'Ты можешь заселиться в следующие общежития: Общежитие  №3, Общежитие №2 . Нажми на название общежития, чтобы получить более подробную информацию о каждом из них.', reply_markup = markup)
  • Вопрос задан
  • 421 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
Элеметарно! Кнопки сделал, а подключать кто будет?
- bot.send_message(message.chat.id, 'Выбери своё гражданство:')
+ bot.send_message(message.chat.id, 'Выбери своё гражданство:', reply_markup=markup)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы