уведомления за 10 часов и при истечении

This commit is contained in:
Vlad
2024-10-03 06:52:24 +03:00
parent fca465c174
commit 4ad82b8c60
2 changed files with 21 additions and 5 deletions
+16 -2
View File
@@ -6,6 +6,7 @@ from config import DATABASE_URL
async def init_db():
conn = await asyncpg.connect(DATABASE_URL)
# Создаем таблицу connections, если она не существует
await conn.execute('''
CREATE TABLE IF NOT EXISTS connections (
@@ -14,6 +15,7 @@ async def init_db():
trial INTEGER NOT NULL DEFAULT 0
)
''')
# Создаем таблицу keys, если она не существует
await conn.execute('''
CREATE TABLE IF NOT EXISTS keys (
@@ -23,10 +25,12 @@ async def init_db():
created_at BIGINT NOT NULL,
expiry_time BIGINT NOT NULL,
key TEXT NOT NULL,
server_id TEXT NOT NULL DEFAULT 'server1', -- новое поле для идентификатора сервера
server_id TEXT NOT NULL DEFAULT 'server1', -- поле для идентификатора сервера
notified BOOLEAN NOT NULL DEFAULT FALSE, -- новое поле для статуса уведомления
PRIMARY KEY (tg_id, client_id)
)
''')
# Добавляем поле server_id в таблицу keys, если его нет
try:
await conn.execute('''
@@ -36,8 +40,18 @@ async def init_db():
except asyncpg.exceptions.DuplicateColumnError:
# Если поле уже существует, ничего не делаем
pass
await conn.close()
# Добавляем поле notified в таблицу keys, если его нет
try:
await conn.execute('''
ALTER TABLE keys
ADD COLUMN notified BOOLEAN NOT NULL DEFAULT FALSE
''')
except asyncpg.exceptions.DuplicateColumnError:
# Если поле уже существует, ничего не делаем
pass
await conn.close()
async def add_connection(tg_id: int, balance: float = 0.0, trial: int = 0):
conn = await asyncpg.connect(DATABASE_URL)