Не обновляется БД SQLITE3
Я новичок в пайтоне и изучаю библиотеку aiogram + SQLITE3. При выполнении кода bot.py в консоль не выводится надпись "успешно", а файл с БД никак не обновляется. Код bot.py:
import asyncio
import os
from dotenv import load_dotenv
from aiogram import Bot, Dispatcher, F
from aiogram.filters import Command
from aiogram.types import Message, ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardMarkup, InlineKeyboardButton
import keyboards as kb
import database as db
load_dotenv()
bot = Bot(os.getenv('TOKEN'))
dp = Dispatcher()
async def on_startup(_):
await db.db_start()
print('успешно')
@dp.message(Command('start'))
async def start(message: Message):
await message.answer_sticker('CAACAgIAAxkBAAMSZafA17MHjzx_1xoqVLdzWOUCh-0AAgsBAALkoM4HCfMhdSDM74I0BA')
await message.answer(f'работает, {message.from_user.first_name}', reply_markup=kb.main)
if message.from_user.id == int(os.getenv('ADMIN_ID')):
await message.answer(f'администратор', reply_markup=kb.mainadmin)
@dp.message(Command('id'))
async def id(message: Message):
await message.answer(str(message.from_user.id))
@dp.message(F.text == ('Каталог'))
async def catalog(message: Message):
await message.answer('пусто', reply_markup=kb.catalog)
@dp.message(F.text == ('Корзина'))
async def catalog(message: Message):
await message.answer('тут тоже пусто')
@dp.message(F.text == ('Контакты'))
async def catalog(message: Message):
await message.answer('и тут пусто')
@dp.message(F.text == ('Админ-панель'))
async def catalog(message: Message):
if message.from_user.id == int(os.getenv('ADMIN_ID')):
await message.answer('удачно', reply_markup=kb.admin)
else:
await message.answer('не понимаю')
@dp.message()
async def echo(message: Message):
await message.answer('не понимаю')
async def main():
await bot.delete_webhook(drop_pending_updates=True)
await dp.start_polling(bot, on_startup=on_startup)
if __name__ == '__main__':
asyncio.run(main())
Код database.py:
import sqlite3
db = sqlite3.connect('bot2\\bot.db')
cur = db.cursor()
# INTEGER PRIMARY KEY AUTOINCREMENT - всегда уникальное число
async def db_start():
cur.execute("CREATE TABLE IF NOT EXISTS accounts("
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
"cart_id TEXT)")
cur.execute("CREATE TABLE IF NOT EXISTS items("
"i_id INTEGER PRIMARY KEY AUTOINCREMENT, "
"name TEXT, "
"desc TEXT, "
"price TEXT, "
"photo TEXT, "
"brand TEXT)")
db.commit()
db.close()