Как настроить коллбэк хендлер для n количества инлайн кнопок?

Имеется база данных с задачами (простой ToDo бот), из нее запрашиваются все задачи, чтобы выбрать для удаления

    c.execute('SELECT * FROM tasks')
    for i in c.fetchall():
        if counter % 3 == 0:
            kb2.add(InlineKeyboardButton(text=counter, callback_data=counter))
        else:
            kb2.insert(InlineKeyboardButton(text=counter, callback_data=counter))
        counter += 1

появляются все кнопки, но я не знаю, как настроить для каждой Каллбэк хендлер


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

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

Сделайте префикс для колбек даты, и отлавливайте его

@dp.message_handler(commands=['start'])
async def start(msg: types.Message):
    markup = InlineKeyboardMarkup().add(
        InlineKeyboardButton("text", callback_data="prefix_name:data1"),
        InlineKeyboardButton("text", callback_data="prefix_name:data2"),
    )
    await msg.answer("text", reply_markup=markup)


@dp.callback_query_handler(text_startswith="prefix_name:")
async def get_callback_with_prefix_name(call: types.CallbackQuery):
    data = call.data.split(":")[1]
→ Ссылка