@g1yoid9RuvnIiTO

Как создать в боте несколько страниц инлайн клавиатур?

У меня есть такой код
@bot.callback_query_handler(func=lambda call: call.data == "get_sites")
def get_saved_sites(call):
    sql = "запрос к бд"
    cursor.execute(sql)
    keyboard = telebot.types.InlineKeyboardMarkup()
    buttons_in_row = 2
    buttons_added = []
    for row in cursor.fetchall():
        buttons_added.append(telebot.types.InlineKeyboardButton(text=row[0], callback_data='info' + row[0]))
        if len(buttons_added) == buttons_in_row:
            keyboard.add(*buttons_added)
            buttons_added = []
    if buttons_added:
        keyboard.add(*buttons_added)

Который на основе данных из базы создаёт кнопки в 2 колонки.
Но что, если из базы я достал, например, 30 кнопок, все их выводить не удобно.
Как мне отредактировать этот код, чтобы если у меня появилось больше 10 кнопок, создавать кнопку с переходом на след. страницу (и предыдущую) и так, пока они не закончатся?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы