Динамическое генерирование inline кнопок при создании телеграм бота
Делаю телеграм бота через telebot У меня есть сайт и с него через парсинг берутся данные После парсинга получаю данные: Адрес: ул. Балканская, 26 Адрес: ул. Ратная, 27 Мне необходимо создавать inline кнопки в зависимости от полученных значений после парсинга. Эти значения могут быть разными и создавать кнопки надо динамически. Как это можно сделать?
Ответы (2 шт):
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton
keyboard = InlineKeyboardMarkup()
keyboard.row_width = 2
for i in range(0, len(adress)):
keyboard.add(InlineKeyboardButton(adress[i].text, callback_data="address_"))
bot.send_message(cid,'Выберите адрес парковки',reply_markup = keyboard)
Вам только нужно изменить под себя callback_data (ID адреса, например, или что там у Вас) и при отправке сообщения (bot.send_message()) в аргументе reply_markup передавать переменную keyboard.
В данном посте очень подробно описана генерация кнопок. Когда каждой call.data присваивается префикс, а при нажатии делается выборка по данному префиксу методом call.data.startswith. И далее с этим можно удобно работать