Как сделать кнопку МЕНЮ в боте Телеграм pyton
Кто подскажет код реализации на Pyton в Телеграм-бот такой кнопки МЕНЮ с кнопками подменю (чтоб можно было еще вставить фото в подменю) как на этом скрине ?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как удалить кнопку меню в телеграм-боте?
Всем здравствуйте. Как создать меню команд, выскакивающее по вводу слеша можно найти: from config.
Как сделать опрос в телеграм боте ?
У меня есть бот полностью написан на PHP, всё в идеале работает, но есть проблема. Мне надо чтобы.
Как сделать кд на использование кнопки в телеграм боте telebot
Нужно чтобы при нажатии на кнопку сообщение пользователя пересылалось в канал (aka барахолка в.
Как в телеграм боте сделать общие комментарии для всех подписчиков
Как в телеграм боте сделать общие комментарии для всех подписчиков. Как вариант можно после каждой.
Как сделать подменю в telegram на языке python

Мне нужно сделать подменю в телеграмме на python При нажатии на кнопку «вывод подкатегории» должен появиться другой текст с кнопками пример:
Товары:
товар 1 товар 2
(товар 1 и товар 2 это кнопки при нажатии которых вылезает цена) Пример кода:
from telegram import Update, Bot, InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackQueryHandler, ConversationHandler, CallbackContext from credits import bot_token #Включает бота, настройка бота. bot = Bot(token=bot_token) updater = Updater(token=bot_token, use_context=True) dispatcher = updater.dispatcher #команды; настройка команд. #меню при вызове /info def info(update, context):#при старте команды /info keyboard = [[InlineKeyboardButton("Вывод текста", callback_data='1'), InlineKeyboardButton("Вывод подкатегории(товаров)", callback_data='2')]] update.message.reply_text('Тест', reply_markup=InlineKeyboardMarkup(keyboard)) #----------------------------------------------------------------------------------------------------------------------------------------------------------- #реагирование на нажатие кнопок. def button(update, context): query = update.callback_query query.answer() #реагирование на кнопки первоначального меню(/info) if query.data == "1": context.bot.send_message(update.effective_chat.id, "вывод текста") elif query.data == "2": #вывод подменю при нажатие на "подкатегории" keyboard = [[InlineKeyboardButton("Товар 1", callback_data='2b_1'), InlineKeyboardButton("Товар 2", callback_data='2b_1')]] update.message.reply_text('Покупка товаров:', reply_markup=InlineKeyboardMarkup(keyboard)) #реагирование на кнопки подменю "buy gems" elif query.data == "2b_1": context.bot.send_message(update.effective_chat.id, "130 руб") elif query.data == "2b_2": context.bot.send_message(update.effective_chat.id, "350 руб") #вид команды info_handler = CommandHandler('info', info) #----------------------------------------------------------------------------------------------------------------------------------------------------------- button_handler = CallbackQueryHandler(button) #Добавление команд в диспетчер(бот реагирует на команды) dispatcher.add_handler(info_handler) #----------------------------------------------------------------------------------------------------------------------------------------------------------- dispatcher.add_handler(button_handler) #Важно не изменить. Обновление страницы получение сообщений. updater.start_polling() updater.idle() ```
Как правильно описать действие «Вернуться назад» в телеграм боте на Python?
Здравствуйте!
Подскажите, как правильно сделать. Есть много меню с кнопкой «Вернуться назад» , как сделать так, чтобы только при определенном(из многих) меню с кнопкой «Вернуться назад» возвращалась к определенному(из многих) меню.
@bot.message_handler(commands=['start']) def handle_text1(message): user_markup = telebot.types.ReplyKeyboardMarkup(True, False) user_markup.row("Каталог", "Акция") user_markup.row("Корзина", "Доставка") bot.send_message(message.from_user.id, "Здравствуй, !".format(message.from_user.first_name),reply_markup=user_markup) bot.send_message(message.from_user.id, "Выберете раздел", reply_markup=user_markup) Class Keyboard def __init__(self, bot): self.bot = bot def main_menu(self,message): user_markup = telebot.types.ReplyKeyboardMarkup(True, False) user_markup.row("Каталог", "Акция") user_markup.row("Корзина", "Доставка") user_markup.row("/start") self.bot.send_message(message.from_user.id, "Выберете раздел", reply_markup=user_markup) def katalog_menu(self, message): catdog_markup = telebot.types.ReplyKeyboardMarkup(True, False) catdog_markup.row("Корм для собак", "Корм для кошек") catdog_markup.row("Вернуться назад") catdog_markup.row("Главная") self.bot.send_message(message.from_user.id, "Выберете раздел", reply_markup=catdog_markup) def katalog_dog(self, message): dog_markup = telebot.types.ReplyKeyboardMarkup(True, False) dog_markup.row("Для щенков и юниоров") dog_markup.row("Для взрослых", "Для пожилых") dog_markup.row("Вернуться назад") dog_markup.row("Главная") self.bot.send_message(message.from_user.id, "Выберете раздел", reply_markup=dog_markup) @bot.message_handler(func=lambda mess: 'Вернуться назад' == mess.text, content_types=['text']) def handle_text(message): user_position = Keyboard if user_position(keyboard.katalog_menu(message)): keyboard.main_menu(message) elif user_position(keyboard.katalog_dog(message)): keyboard.katalog_menu(message)
- Вопрос задан более трёх лет назад
- 8464 просмотра
Как создать постоянное меню для Telegram чат-бота
Используйте меню бота, чтобы помочь пользователям найти нужную информацию в вашем боте. Создавайте команды, которые запускают определенные цепочки. Открыть меню можно кликнув по иконке со знаком «/» в поле ввода сообщений .
Чтобы создать меню бота, на странице чат-бота откройте вкладку «Меню» и нажмите «Добавить элемент».

Введите название команды. Можно использовать до 30 символов в поле: латинские буквы, цифры и знак «_».

Введите описание — то, для чего можно использовать данную команду. В этом поле можно ввести до 200 различных символов, а также добавить эмодзи.

Выберите цепочку, которая запустится после выбора команды из списка.

Нажмите “Добавить”, чтобы добавить команду в меню.
Расширяйте меню дополнительными командами с помощью кнопки «Добавить элемент». После создания команд нажмите «Сохранить», чтобы сохранить созданные элементы.

Меню с командами готово к работе.
Вы также можете создать клавиатурное меню для пользователя из кнопок «Быстрые ответы». Вы можете добавить до 10 таких кнопок и добавить в них эмодзи.
Они отображаются у пользователя под полем ввода текста, скрываются при нажатии на соответствующий значок и пропадают после отправки следующего сообщения.
