65 lines
2.8 KiB
Python
65 lines
2.8 KiB
Python
import sqlite3
|
||
|
||
class ALLusers:
|
||
|
||
def __init__(self, database):
|
||
"""Подключаемся к БД и сохраняем курсор соединения"""
|
||
self.connection = sqlite3.connect(database)
|
||
self.cursor = self.connection.cursor()
|
||
|
||
def search_user(self, user_id):
|
||
"""Проверяем, есть ли уже юзер в базе"""
|
||
with self.connection:
|
||
result = self.cursor.execute('SELECT * FROM `users` WHERE `user_id` = ?', (user_id,)).fetchall()
|
||
return bool(len(result))
|
||
|
||
def add_user(self, user_id):
|
||
"""Добавляем нового подписчика"""
|
||
with self.connection:
|
||
return self.cursor.execute("INSERT INTO `users` (`user_id`) VALUES(?)", (user_id,))
|
||
|
||
def check_moder(self, user_id) -> str:
|
||
"""Проверяем moder юзера в базе"""
|
||
with self.connection:
|
||
result = self.cursor.execute('SELECT `moder` FROM `users` WHERE `user_id` = ?', (user_id,)).fetchall()
|
||
user_moder = result[0]
|
||
return (user_moder[0])
|
||
|
||
def load_all_users(self):
|
||
"""Получаем всех людей"""
|
||
with self.connection:
|
||
return self.cursor.execute("SELECT * FROM `users`").fetchall()
|
||
|
||
def log_info(self):
|
||
"""Подсчет пользователей"""
|
||
with self.connection:
|
||
result = self.cursor.execute("SELECT COUNT(DISTINCT id) FROM `users`").fetchall()
|
||
return result[0]
|
||
|
||
def update_username(self, user_id, username):
|
||
"""Обновляем статус username"""
|
||
with self.connection:
|
||
return self.cursor.execute(f"UPDATE users SET name = ? WHERE user_id = ?", (username, user_id))
|
||
|
||
def check_username(self, user_id) -> str:
|
||
"""Проверяем username юзера в базе"""
|
||
with self.connection:
|
||
result = self.cursor.execute('SELECT `name` FROM `users` WHERE `user_id` = ?', (user_id,)).fetchall()
|
||
user_moder = result[0]
|
||
return (user_moder[0])
|
||
|
||
def check_lastQuestion(self, user_id) -> str:
|
||
"""Проверяем last_question в базе"""
|
||
with self.connection:
|
||
result = self.cursor.execute('SELECT `last_question` FROM `users` WHERE `user_id` = ?', (user_id,)).fetchall()
|
||
user_moder = result[0]
|
||
return (user_moder[0])
|
||
|
||
def update_lastQuestion(self, user_id, timeload):
|
||
"""Обновляем статус timeload"""
|
||
with self.connection:
|
||
return self.cursor.execute(f"UPDATE users SET last_question = ? WHERE user_id = ?", (timeload, user_id))
|
||
|
||
def close(self):
|
||
"""Закрываем соединение с БД"""
|
||
self.connection.close() |