Реализация корзины в Telegram bot Python (aiogram)

Схема того, как должна работать корзина Подскажите, как и с помощью чего можно реализовать корзину на Aiogram'e?Знаю,что 100% нужна база данных( в боте используется sqlite3) , но я не могу придумать как это всё написать.


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

Автор решения: biflé

Можно сделать примерно так:

Есть список товаров (скажем, в переменной)

    items={'tort1':{'name':'Торт первой модели', 'price':10}}

Есть база данных - 'корзина'

    CREATE TABLE IF NOT EXISTS `korzina` (
        `user_id` VARCHAR(99999) NULL,
        `item` TEXT DEFAULT NULL)

Человек добавляет предмет в корзину:

    cursor.execute('INSERT INTO `korzina` (?,?)', (user_id, item))
    cursor.commit()

Как удаляем из корзины:

    cursor.execute('DELETE FROM `korzina` WHERE `user_id`=?', (user_id,))
    cursor.commit()

Берем список предметов:

    SELECT * FROM `korzina` WHERE `user_id` = ...

Все! Мы получили список предметов! Список будет в формате: ((1234, 'tort1'), (1234, 'tort2')) Второе значение - название товара из списка товаров ранее - по нему можем из списка достать всю информацию. Если что-то непонятно - пиши - буду рад помочь) P.S. Тут все под sqlite3

→ Ссылка