Мне надо вытащить из бд данные по id пользователя (SQLite)
основной код
import config
import logging
import asyncio
from datetime import datetime
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import ReplyKeyboardMarkup, ReplyKeyboardRemove, KeyboardButton, InlineKeyboardMarkup, InlineKeyboardButton
from SQLite import SQLite
logging.basicConfig(level = logging.INFO)
bot = Bot(token = config.Token)
dp = Dispatcher(bot)
Flag = True
db = SQLite('datab.db')
@dp.message_handler(commands = "start") #П ривествие
async def start(message: types.Message):
markup = ReplyKeyboardMarkup(resize_keyboard = True)
City1 = KeyboardButton("Город 1") # Кнопки с городами
City2 = KeyboardButton("Город 2")
City3 = KeyboardButton("Город 3")
markup.add(City1, City2, City3)
await message.answer("Ваше привествие\nВыберите город", reply_markup = markup)
@dp.message_handler(content_types = ["text"])
async def Buttons(message: types.Message): # обрабатывает все подклавиатурные кнопки
global user_location
global product_ID
global Flag
global n
if message.chat.type == "private":
if message.text == "Город 1": # выбор города
user_location = "Город 1"
await message.answer("Ваш город добавлен в базу данных")
elif message.text == "Город 2":
user_location = "Город 2"
await message.answer("Ваш город добавлен в базу данных")
elif message.text == "Город 3":
user_location = "Город 3"
await message.answer("Ваш город добавлен в базу данных")
markup = ReplyKeyboardMarkup(resize_keyboard = True) # создание кнопок с названием товаров
product1 = KeyboardButton("Товар 1")
product2 = KeyboardButton("Товар 2")
product3 = KeyboardButton("Товар 3")
Shopping_cart = KeyboardButton("Корзина")
markup.add(product1, product2, product3, Shopping_cart)
if Flag:
Flag = False
n = 0 #количество продуктов
await message.answer("Выберите товар", reply_markup = markup)
if message.text == "Товар 1": # проверка нажатых кнопок
product_ID = config.Id_product1
n += 1
db.add_product(message.chat.id, product_ID, user_location)
elif message.text == "Товар 2":
product_ID = config.Id_product2
n += 1
db.add_product(message.chat.id, product_ID, user_location)
elif message.text == "Товар 3":
product_ID = config.Id_product3
n += 1
db.add_product(message.chat.id, product_ID, user_location)
if message.text == "Корзина": # переход к оплате
for i in range(n):
print(db.get_product(message.chat.id))
# db.remove_user(message.chat.id)
# await message.answer("Данные удалены ")
if __name__ == "__main__":
# Запуск бота
executor.start_polling(dp, skip_updates=True)
класс
def get_product(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT * FROM `Buyers` WHERE 'user_id' == ?", (user_id,)).fetchone()
return result