1.4.1 Добавление пользователя в БД

This commit is contained in:
Verum
2025-02-28 13:45:34 +07:00
parent 20484f0f09
commit 1540c426cc

View File

@@ -0,0 +1,39 @@
# SQLite3/bd_func/bd_add_user.py
# Добавление пользователя в базу данных bd|user
import sqlite3
from ProjectsFiles import BotVar
# Настройка экспорта в модули
__all__ = ("add_user",)
# Функция добавления пользователя с последовательным user_id
async def add_user(tg_id: int, username: str, first_name: str,
last_name: str, role: str, status: str, bd_name: str = BotVar.bd_names):
with sqlite3.connect(bd_name) as db:
cursor = db.cursor()
# Проверяем, существует ли пользователь с таким tg_id
cursor.execute("SELECT user_id FROM users WHERE tg_id = ?", (tg_id,))
if cursor.fetchone():
return # Пользователь уже существует, ничего не добавляем
# Находим максимальный user_id
cursor.execute("SELECT MAX(user_id) FROM users")
max_id = cursor.fetchone()[0]
new_user_id = 1 if max_id is None else max_id + 1
# Добавляем нового пользователя
cursor.execute('''
INSERT INTO users (user_id, tg_id, username, first_name, last_name, role, status)
VALUES (?, ?, ?, ?, ?, ?, ?)
''', (new_user_id, tg_id, username, first_name, last_name, role, status))
# Добавляем запись в user_messages
cursor.execute('''
INSERT INTO user_messages (user_id)
VALUES (?)
''', (new_user_id,))
db.commit()