From 1540c426ccb26c317efee968b350f489eb545c00 Mon Sep 17 00:00:00 2001 From: Verum Date: Fri, 28 Feb 2025 13:45:34 +0700 Subject: [PATCH] =?UTF-8?q?1.4.1=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=B2=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SQLite3/bd_func/bd_add_user.py | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 SQLite3/bd_func/bd_add_user.py diff --git a/SQLite3/bd_func/bd_add_user.py b/SQLite3/bd_func/bd_add_user.py new file mode 100644 index 0000000..1d97f1c --- /dev/null +++ b/SQLite3/bd_func/bd_add_user.py @@ -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()