@kurales666

Как объединить 2 разные кнопки телеграм бота в 1 функцию?

Доброго времени суток ребят, подскажите пожалуйста как объединить 2 разные кнопки на python-е телеграм бота в 1 функцию, вот фрагмент кода:
@bot.message_handler(content_types=['text'])
def send_text(message):
message.text == "Услуги":
          markup = telebot.types.InlineKeyboardMarkup()
          markup.add(telebot.types.InlineKeyboardButton(text='Косметология', callback_data="cosmetol"))
          markup.add(telebot.types.InlineKeyboardButton(text='Татуаж', callback_data="tatua"))
          markup.add(telebot.types.InlineKeyboardButton(text='Ногтевой сервис', callback_data="nogti"))
          markup.add(telebot.types.InlineKeyboardButton(text='Шугаринг', callback_data="shug"))
          markup.add(telebot.types.InlineKeyboardButton(text='Лазерная эпиляция', callback_data="lazapel"))
          knopka1 = types.ReplyKeyboardMarkup(resize_keyboard=True)
          mar = types.KeyboardButton("Косметология")
          mar2 = types.KeyboardButton("Назад в меню")
          knopka1.add(mar,mar2)
          bot.send_message(message.chat.id, text="Наши услуги", reply_markup=[markup, knopka1])

Есть 2 разные кнопки - inline и KeyboardButton, если в последнем сообщении оставить reply_markup = markup - то бот оставляет только инлайн кнопки, если поставить reply_markup = knopka1 - то он оставляет только нижнюю клавиатуру. То что в конце в фигурных скобках написано - не верный вариант.
Вот собственно вопрос, как сделать так чтобы при написании в боте "услуги" высвечивались и инлайн и нижняя клавиатура. При необходимости могу скинуть весь код.
И ещё доп вопрос. Как осуществить возврат кнопки нижней клавиатуры (Назад в меню) в стартовое меню (при наборе команды /start)
  • Вопрос задан
  • 3979 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Нет такой возможности, к одному сообщению можно прикрепить только 1 клавиатуру.
Как вариант - отправляете сначала inline клавиатуру, затем еще одно сообщение с текстом на уровне "Либо выберите вариант из списка ниже" и цепляете к нему reply клавиатуру
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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