Включить у бота режим inline.
Отправить inline клавиатуру с параметром
switch_inline_query_current_chat
равным, допустим, "Аккумуляторы"
Добавить inline_handler, в который отлавливать query и генерировать нужные результаты
@bot.message_handler(commands=['start'])
def send_start(message):
markup = InlineKeyboardMarkup()
markup.add(InlineKeyboardButton('Аккумуляторы', switch_inline_query_current_chat='Аккумуляторы'))
bot.send_message(message.chat.id, 'Товары', reply_markup=markup)
@bot.inline_handler(lambda query: query.query == 'Аккумуляторы')
def query_video(inline_query):
r = InlineQueryResultArticle('1', 'SONY VTC6 3000 mah 30A 18650', InputTextMessageContent('Аккумулятор 1'), description='blah', url='https://buy-battery.com/goods/1', hide_url=True, thumb_url='https://via.placeholder.com/50')
r2 = InlineQueryResultArticle('2', 'SONY VTC5A 2600 mah 35A 18650', InputTextMessageContent('Аккумулятор 2'), description='blah', url='https://buy-battery.com/goods/2', hide_url=True, thumb_url='https://via.placeholder.com/50')
bot.answer_inline_query(inline_query.id, [r, r2])
Справка:
https://core.telegram.org/bots/api#inline-mode
https://github.com/eternnoir/pyTelegramBotAPI/blob...