Многомерная клавиатура aiogram

Прошу строго не судить. Стоит задача, написать собственный магазин, недолго подумав решил внедрить многомерную инлайн-клавиатуру, в котором пользователь по нажатию на определенную кнопку, будет получать список товаров, в 1 такой странице 10 товаров, снизу 3 кнопки "На последнюю страницу" "Назад в меню" "Следующая страница".

Заранее скажу что есть определенные списки, price, product_name, quantity В каждом из них содержится своя информация.

Проблемой заключается в моём не понимании как реализовать правильно данную клавиатуру. Добавлять кнопки путем копирования функций каждый раз, думаю не правильным методом. Да и передача из списков значений тоже является не удобным занятием, так как в списке более 100+ наименований будет простым запутаться в коде.

InlineKeyboardButton(
                    text=f"{price[0]} ({product_name[0]})  {quantity[0]}",
                    callback_data='q'
                )
InlineKeyboardButton(
                        text=f"{price[1]} ({product_name[1]})  {quantity[1]}",
                        callback_data='q1'
                    )
InlineKeyboardButton(
                        text=f"{price[2]} ({product_name[2]})  {quantity[2]}",
                        callback_data='q2'
                    )

Есть ли какие либо удобные решения для реализаций данной идеи? Пример генератора клавиатур? Если можно пример какой либо, чтобы иметь понимание в будущем. Либо источник/видео/статья где можно более подробно ознакомиться.

PS. Использую списки для начала, в будущем подключусь к БД. Заранее благодарю, за направления!


UPD. Нашёл для аиограма, библиотеку aiogram_dialog, оставлю здесь, может кому пригодится.

https://aiogram-dialog.readthedocs.io/en/latest/overview.html

https://github.com/Tishka17/aiogram_dialog


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