Как добавлять кнопки в клавиатуру в зависимости от данных из базы данных? Aiogram

Пишу реферального бота, встал вопрос о добавлении динамических кнопок(которые меняются в зависимости от того, сколько групп зарегистрировано в базе данных) и никак не могу понять как их добавлять. Из базы данных я получаю вот такие данные {'Group name': 14314, '543': 53453}

async def add_buttons():
    count = await DB.get_groups_count()
    for _ in range(count):
        data = await DB.get_groups()
        print(data)
        btn_text = data[0]
        btn_callback = data[1]
        keyboard = types.InlineKeyboardMarkup(row_width=1)
        keyboard.add(types.InlineKeyboardButton(text=btn_text, url=btn_callback),
                     types.InlineKeyboardButton(text=btn_text, url=btn_callback))

        return keyboard

вот такой код я пытался сделать, но не понимаю как запускать в зависимости от количества групп в базе данных


Ответы (1 шт):

Автор решения: MyZik

Aiogram и вообще разработка Telegram-ботов тут не при чём, вы неправильно проходитесь по циклу, нужно так:

for group in await DB.get_groups():
    btn_text = group[0]  # Group name
    btn_callback = group[1]  # 14314
    keyboard = types.InlineKeyboardMarkup(row_width=1)
    keyboard.add(types.InlineKeyboardButton(text=btn_text, url=btn_callback),
                 types.InlineKeyboardButton(text=btn_text, url=btn_callback))

    return keyboard
→ Ссылка