Не добавляется запись в таблицу БД aiosqlite
Я создаю бота на aiogram
. Мне нужно сохранять информацию о пользователях. Я решил использовать не sqlite3
, а aiosqlite
потому, что он асинхронный, как и aiogram
.
Вот код хэндлера:
@all_router.message(Command('start'))
async def cmd_start(message: Message):
load_dotenv()
kb = None
if message.from_user.id == int(os.getenv('ADMIN_ID')):
kb = admin_keyboard
else:
kb = reply_menu_keyboard
users = Users()
await users.add_user(message.from_user.id)
await message.answer(await start_text(message.from_user.username), parse_mode='html', reply_markup=kb)
А вот код метода в классе, реализующем CRUD:
async def start(self) -> None:
async with aiosql.connect(self.path) as con:
request = '''CREATE TABLE IF NOT EXISTS users (
user_telegram_id INTEGER PRIMARY KEY NOT NULL,
status TEXT NOT NULL)'''
await con.execute(request)
async def add_user(self, uid: int) -> None:
'''The method adds a user into the table'''
await self.start()
async with aiosql.connect(self.path) as con:
cursor = await con.cursor()
request = 'INSERT INTO users(user_telegram_id, status) VALUES(?, ?)'
await cursor.execute(request, (uid, 'member'))
Однако, когда бы я не запускал команду /start
, ничего не происходит! Запись не добавляется в БД, но ошибок тоже никаких нет. Без понятия, что может быть не так.
Уже давно использую sqlite3
, но в нем ошибок такого плана никогда не было.
Очень нужна помощь