diff --git a/SQLite3/bd_func/bd_update_user.py b/SQLite3/bd_func/bd_update_user.py new file mode 100644 index 0000000..45e3e7d --- /dev/null +++ b/SQLite3/bd_func/bd_update_user.py @@ -0,0 +1,36 @@ +# SQLite3/bd_func/bd_update_user.py +# Обновление данных о пользователях в базу данных bd|user + +import sqlite3 +from ProjectsFiles import BotVar + +# Настройка экспорта в модули +__all__ = ("update_user",) + + +# Функция обновления пользователя +async def update_user(tg_id: int, username: str = None, first_name: str = None, last_name: str = None, + bd_name: str = BotVar.bd_names, role: str = None): + updates = [] + params = [] + + if username: + updates.append("username = ?") + params.append(username) + if first_name: + updates.append("first_name = ?") + params.append(first_name) + if last_name: + updates.append("last_name = ?") + params.append(last_name) + if role: + updates.append("role = ?") + params.append(role) + + if updates: + query = f"UPDATE users SET {', '.join(updates)} WHERE tg_id = ?" + params.append(tg_id) + with sqlite3.connect(bd_name) as db: + cursor = db.cursor() + cursor.execute(query, params) + db.commit()