add logging, refactor
This commit is contained in:
173
database/db.py
173
database/db.py
@@ -1,22 +1,22 @@
|
||||
import sqlite3
|
||||
import os
|
||||
from datetime import datetime
|
||||
from loguru import logger
|
||||
from logs.custom_logger import Logger
|
||||
|
||||
# Инициализируем логгер
|
||||
db_logger = Logger(name='db')
|
||||
|
||||
# Получение абсолютного пути к текущей директории
|
||||
current_dir = os.getcwd()
|
||||
|
||||
|
||||
class BotDB:
|
||||
|
||||
def __init__(self, name):
|
||||
self.db_file = os.path.join(current_dir, name)
|
||||
def __init__(self):
|
||||
self.db_file = os.path.join(current_dir, 'database/tg-bot-database')
|
||||
self.conn = None
|
||||
self.cursor = None
|
||||
logger.info(f'Подключен к базе данных: {self.db_file}')
|
||||
self.logger = db_logger.get_logger()
|
||||
self.logger.info(f'Подключен к базе данных: {self.db_file}')
|
||||
|
||||
def connect(self):
|
||||
"""Создание соединения и курсора."""
|
||||
@@ -37,9 +37,9 @@ class BotDB:
|
||||
self.connect()
|
||||
self.cursor.execute(sql_script)
|
||||
self.conn.commit()
|
||||
logger.info(f'Таблица создана: {sql_script}')
|
||||
self.logger.info(f'Таблица создана: {sql_script}')
|
||||
except Exception as e:
|
||||
logger.error(f'Ошибка при создании таблицы. Данные: {sql_script} Ошибка: {e}')
|
||||
self.logger.error(f'Ошибка при создании таблицы. Данные: {sql_script} Ошибка: {e}')
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -54,15 +54,15 @@ class BotDB:
|
||||
Returns:
|
||||
int: Версия последней миграции.
|
||||
"""
|
||||
logger.info(f'Попытка получения версии миграции')
|
||||
self.logger.info(f'Попытка получения версии миграции')
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT version FROM migrations ORDER BY version DESC LIMIT 1")
|
||||
version = self.cursor.fetchone()[0]
|
||||
logger.info(f'Получена текущая версия миграции: {version}')
|
||||
self.logger.info(f'Получена текущая версия миграции: {version}')
|
||||
return version
|
||||
except Exception as e:
|
||||
logger.error(f'Ошибка при получении текущей версии миграции: {e}')
|
||||
self.logger.error(f'Ошибка при получении текущей версии миграции: {e}')
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -86,7 +86,7 @@ class BotDB:
|
||||
данных в таблицу migrations.
|
||||
Exception: Если возникает любая другая ошибка при обновлении версии.
|
||||
"""
|
||||
logger.info(f'Попытка обновления версии: {new_version}, название скрипта: {script_name}')
|
||||
self.logger.info(f'Попытка обновления версии: {new_version}, название скрипта: {script_name}')
|
||||
try:
|
||||
self.connect()
|
||||
today = datetime.now().strftime("%d-%m-%Y %H:%M:%S")
|
||||
@@ -95,12 +95,12 @@ class BotDB:
|
||||
(new_version, script_name, today),
|
||||
)
|
||||
self.conn.commit()
|
||||
logger.info(f"Версия обновлена: {new_version}, название скрипта: {script_name}")
|
||||
self.logger.info(f"Версия обновлена: {new_version}, название скрипта: {script_name}")
|
||||
except sqlite3.IntegrityError as e:
|
||||
logger.error(f"Ошибка при обновлении версии: {e}")
|
||||
self.logger.error(f"Ошибка при обновлении версии: {e}")
|
||||
raise
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка при обновлении версии: {e}")
|
||||
self.logger.error(f"Ошибка при обновлении версии: {e}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -119,7 +119,7 @@ class BotDB:
|
||||
response_from_database = str(self.cursor.fetchone()[1])
|
||||
return response_from_database
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении сообщения об ошибка voice_bot: {error}")
|
||||
self.logger.error(f"Ошибка при получении сообщения об ошибка voice_bot: {error}")
|
||||
finally:
|
||||
self.close()
|
||||
|
||||
@@ -143,7 +143,7 @@ class BotDB:
|
||||
None: Если запись успешно добавлена в базу.
|
||||
Exception: Если произошла ошибка при добавлении записи.
|
||||
"""
|
||||
logger.info(f"Попытка добавить пользователя в базу данных: user_id={user_id}, first_name={first_name}")
|
||||
self.logger.info(f"Попытка добавить пользователя в базу данных: user_id={user_id}, first_name={first_name}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("INSERT INTO 'our_users' ('user_id', 'first_name', 'full_name', 'username', 'is_bot', "
|
||||
@@ -151,10 +151,10 @@ class BotDB:
|
||||
(user_id, first_name, full_name,
|
||||
username, is_bot, language_code, date_added, date_changed))
|
||||
self.conn.commit()
|
||||
logger.info(f"Новый пользователь добавлен в базу: user_id={user_id}, first_name={first_name}")
|
||||
self.logger.info(f"Новый пользователь добавлен в базу: user_id={user_id}, first_name={first_name}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при добавлении пользователя в базу: {error}. "
|
||||
self.logger.error(f"Ошибка при добавлении пользователя в базу: {error}. "
|
||||
f"Данные пользователя: user_id={user_id}, first_name={first_name}")
|
||||
raise
|
||||
finally:
|
||||
@@ -170,15 +170,15 @@ class BotDB:
|
||||
Returns:
|
||||
bool: True, если пользователь найден, False - иначе.
|
||||
"""
|
||||
logger.info(f"Попытка проверки существования пользователя: user_id={user_id}")
|
||||
self.logger.info(f"Попытка проверки существования пользователя: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT id FROM our_users WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchall()
|
||||
logger.info(f"Проверка существования пользователя: user_id={user_id}, результат={result}")
|
||||
self.logger.info(f"Проверка существования пользователя: user_id={user_id}, результат={result}")
|
||||
return bool(len(result))
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при проверке существования пользователя: {error}")
|
||||
self.logger.error(f"Ошибка при проверке существования пользователя: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -195,20 +195,20 @@ class BotDB:
|
||||
int: ID пользователя в базе данных.
|
||||
None: Если пользователь не найден.
|
||||
"""
|
||||
logger.info(f"Попытка получения ID пользователя в базе данных для user_id={user_id}")
|
||||
self.logger.info(f"Попытка получения ID пользователя в базе данных для user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT id FROM our_users WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchone()
|
||||
if result:
|
||||
user_id_db = result[0]
|
||||
logger.info(f"ID пользователя в базе найден: user_id={user_id}, id_db={user_id_db}")
|
||||
self.logger.info(f"ID пользователя в базе найден: user_id={user_id}, id_db={user_id_db}")
|
||||
return user_id_db
|
||||
else:
|
||||
logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении ID пользователя из базы данных: {error}")
|
||||
self.logger.error(f"Ошибка при получении ID пользователя из базы данных: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -233,13 +233,13 @@ class BotDB:
|
||||
result = self.cursor.fetchone()
|
||||
if result:
|
||||
username = result[0]
|
||||
logger.info(f"Username пользователя найден: user_id={user_id}, username={username}")
|
||||
self.logger.info(f"Username пользователя найден: user_id={user_id}, username={username}")
|
||||
return username
|
||||
else:
|
||||
logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении username из базы данных: {error}")
|
||||
self.logger.error(f"Ошибка при получении username из базы данных: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -255,16 +255,16 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Попытка получения всех user_id")
|
||||
self.logger.info(f"Попытка получения всех user_id")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT user_id FROM our_users")
|
||||
fetch_all = self.cursor.fetchall()
|
||||
list_of_users = [user_id[0] for user_id in fetch_all]
|
||||
logger.info(f"Получен список всех user_id: {list_of_users}")
|
||||
self.logger.info(f"Получен список всех user_id: {list_of_users}")
|
||||
return list_of_users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении списка user_id из базы данных: {error}")
|
||||
self.logger.error(f"Ошибка при получении списка user_id из базы данных: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -283,20 +283,20 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Попытка получения имени пользователя по user_id={user_id}")
|
||||
self.logger.info(f"Попытка получения имени пользователя по user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT first_name FROM our_users WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchone()
|
||||
if result:
|
||||
first_name = result[0]
|
||||
logger.info(f"Имя пользователя найдено: user_id={user_id}, first_name={first_name}")
|
||||
self.logger.info(f"Имя пользователя найдено: user_id={user_id}, first_name={first_name}")
|
||||
return first_name
|
||||
else:
|
||||
logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении имени пользователя из базы данных: {error}")
|
||||
self.logger.error(f"Ошибка при получении имени пользователя из базы данных: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -320,21 +320,21 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Попытка проверки получил ли пользователь с user_id={user_id} стикеры.")
|
||||
self.logger.info(f"Попытка проверки получил ли пользователь с user_id={user_id} стикеры.")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT has_stickers FROM our_users WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchone()
|
||||
if result:
|
||||
has_stickers = result[0] == 1
|
||||
logger.info(
|
||||
self.logger.info(
|
||||
f"Проверено получение стикеров пользователем: user_id={user_id}, has_stickers={has_stickers}")
|
||||
return has_stickers
|
||||
else:
|
||||
logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} не найден в базе данных.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении информации о получении стикеров: {error}")
|
||||
self.logger.error(f"Ошибка при получении информации о получении стикеров: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -352,15 +352,15 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции update_info_about_stickers. Параметры: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции update_info_about_stickers. Параметры: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("UPDATE our_users SET has_stickers = 1 WHERE user_id = ?", (user_id,))
|
||||
self.conn.commit()
|
||||
logger.info(f"Информация о получении стикеров обновлена: user_id={user_id}")
|
||||
self.logger.info(f"Информация о получении стикеров обновлена: user_id={user_id}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при обновлении информации о получении стикеров: {error}")
|
||||
self.logger.error(f"Ошибка при обновлении информации о получении стикеров: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -376,16 +376,16 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции get_users_blacklist")
|
||||
self.logger.info(f"Запуск функции get_users_blacklist")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT user_id, user_name FROM blacklist")
|
||||
fetch_all = self.cursor.fetchall()
|
||||
list_of_users = {user_id: username for user_id, username in fetch_all}
|
||||
logger.info(f"Получен список пользователей в черном списке")
|
||||
self.logger.info(f"Получен список пользователей в черном списке")
|
||||
return list_of_users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении списка пользователей в черном списке: {error}")
|
||||
self.logger.error(f"Ошибка при получении списка пользователей в черном списке: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -404,17 +404,17 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции get_users_for_unblock_today: date_to_unban={date_to_unban}")
|
||||
self.logger.info(f"Запуск функции get_users_for_unblock_today: date_to_unban={date_to_unban}")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT user_id, user_name "
|
||||
"FROM blacklist WHERE date_to_unban = ?", (date_to_unban,))
|
||||
fetch_all = result.fetchall()
|
||||
list_of_users = {user_id: username for user_id, username in fetch_all}
|
||||
logger.info(f"Получен список пользователей для разблокировки сегодня: {list_of_users}")
|
||||
self.logger.info(f"Получен список пользователей для разблокировки сегодня: {list_of_users}")
|
||||
return list_of_users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении списка пользователей для разблокировки: {error}")
|
||||
self.logger.error(f"Ошибка при получении списка пользователей для разблокировки: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -433,14 +433,14 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции get_blacklist_users_by_id: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции get_blacklist_users_by_id: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT user_id, user_name, message_for_user, date_to_unban "
|
||||
"FROM blacklist WHERE user_id = ?", (user_id,))
|
||||
return self.cursor.fetchone()
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при получении информации о пользователе в черном списке: {error}")
|
||||
self.logger.error(f"Ошибка при получении информации о пользователе в черном списке: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -458,14 +458,15 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции check_user_in_blacklist: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции check_user_in_blacklist: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT 1 FROM blacklist WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchone()
|
||||
self.logger.info(f"Существует ли пользователь: user_id={user_id} Итог: {result}")
|
||||
return bool(result)
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при проверке пользователя в черном списке. user_id: {user_id} : {error}")
|
||||
self.logger.error(f"Ошибка при проверке пользователя в черном списке. user_id: {user_id} : {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -484,7 +485,7 @@ class BotDB:
|
||||
None: Если добавление в черный список успешно выполнено.
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции set_user_blacklist: user_id={user_id}, user_name={user_name},"
|
||||
self.logger.info(f"Запуск функции set_user_blacklist: user_id={user_id}, user_name={user_name},"
|
||||
f" message_for_user={message_for_user}, date_to_unban={date_to_unban}")
|
||||
try:
|
||||
self.connect()
|
||||
@@ -492,10 +493,10 @@ class BotDB:
|
||||
" 'message_for_user', 'date_to_unban') VALUES (?, ?, ?, ?)",
|
||||
(user_id, user_name, message_for_user, date_to_unban,))
|
||||
self.conn.commit()
|
||||
logger.info(f"Пользователь добавлен в черный список: user_id={user_id}")
|
||||
self.logger.info(f"Пользователь добавлен в черный список: user_id={user_id}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка при добавлении пользователя в черный список: {error}")
|
||||
self.logger.error(f"Ошибка при добавлении пользователя в черный список: {error}")
|
||||
return error
|
||||
finally:
|
||||
self.close()
|
||||
@@ -513,15 +514,15 @@ class BotDB:
|
||||
Raises:
|
||||
None: Ошибки обрабатываются в блоке except, возвращая False.
|
||||
"""
|
||||
logger.info(f"Запуск функции delete_user_blacklist: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции delete_user_blacklist: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("DELETE FROM blacklist WHERE user_id = ?", (user_id,))
|
||||
self.conn.commit()
|
||||
logger.info(f"Пользователь с идентификатором {user_id} успешно удален из черного списка.")
|
||||
self.logger.info(f"Пользователь с идентификатором {user_id} успешно удален из черного списка.")
|
||||
return True
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка удаления пользователя с идентификатором {user_id} "
|
||||
self.logger.error(f"Ошибка удаления пользователя с идентификатором {user_id} "
|
||||
f"из таблицы blacklist. Ошибка: {str(error)}")
|
||||
return False
|
||||
finally:
|
||||
@@ -544,7 +545,7 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции add_new_message_in_db: user_id={user_id}, message_id={message_id}, date={date}")
|
||||
self.logger.info(f"Запуск функции add_new_message_in_db: user_id={user_id}, message_id={message_id}, date={date}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute(
|
||||
@@ -552,10 +553,10 @@ class BotDB:
|
||||
"VALUES (?, ?, ?, ?)",
|
||||
(message_text, user_id, message_id, date))
|
||||
self.conn.commit()
|
||||
logger.info(f"Новое сообщение добавлено в базу данных: message_id={message_id}")
|
||||
self.logger.info(f"Новое сообщение добавлено в базу данных: message_id={message_id}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка добавления сообщения в базу данных: {error}")
|
||||
self.logger.error(f"Ошибка добавления сообщения в базу данных: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -573,16 +574,16 @@ class BotDB:
|
||||
None: Если обновление прошло успешно.
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции update_date_for_user: user_id={user_id}, date={date}")
|
||||
self.logger.info(f"Запуск функции update_date_for_user: user_id={user_id}, date={date}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("UPDATE our_users SET date_changed = ? WHERE user_id = ?",
|
||||
(date, user_id,))
|
||||
self.conn.commit()
|
||||
logger.info(f"Дата изменения обновлена для пользователя: user_id={user_id}")
|
||||
self.logger.info(f"Дата изменения обновлена для пользователя: user_id={user_id}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка обновления даты изменения для пользователя: {error}")
|
||||
self.logger.error(f"Ошибка обновления даты изменения для пользователя: {error}")
|
||||
return error
|
||||
finally:
|
||||
self.close()
|
||||
@@ -600,14 +601,14 @@ class BotDB:
|
||||
Raises:
|
||||
None: В случае ошибки возвращается None
|
||||
"""
|
||||
logger.info(f"Запуск функции is_admin: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции is_admin: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("SELECT 1 FROM admins WHERE user_id = ?", (user_id,))
|
||||
result = self.cursor.fetchone()
|
||||
return bool(result)
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка добавления сообщения в базу данных: {error}")
|
||||
self.logger.error(f"Ошибка добавления сообщения в базу данных: {error}")
|
||||
return None
|
||||
finally:
|
||||
self.close()
|
||||
@@ -626,15 +627,15 @@ class BotDB:
|
||||
None: Если добавление прошло успешно.
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции add_admin: user_id={user_id}, role={role}")
|
||||
self.logger.info(f"Запуск функции add_admin: user_id={user_id}, role={role}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("INSERT INTO admins (user_id, role) VALUES (?, ?)", (user_id, role))
|
||||
self.conn.commit()
|
||||
logger.info(f"Пользователь с user_id={user_id} добавлен в список администраторов с ролью {role}.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} добавлен в список администраторов с ролью {role}.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка добавления пользователя в список администраторов: {error}")
|
||||
self.logger.error(f"Ошибка добавления пользователя в список администраторов: {error}")
|
||||
return error
|
||||
finally:
|
||||
self.close()
|
||||
@@ -650,15 +651,15 @@ class BotDB:
|
||||
None: Если удаление прошло успешно.
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции remove_admin: user_id={user_id}")
|
||||
self.logger.info(f"Запуск функции remove_admin: user_id={user_id}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("DELETE FROM admins WHERE user_id = ?", (user_id,))
|
||||
self.conn.commit()
|
||||
logger.info(f"Пользователь с user_id={user_id} удален из списка администраторов.")
|
||||
self.logger.info(f"Пользователь с user_id={user_id} удален из списка администраторов.")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка удаления пользователя из списка администраторов: {error}")
|
||||
self.logger.error(f"Ошибка удаления пользователя из списка администраторов: {error}")
|
||||
return error
|
||||
finally:
|
||||
self.connect()
|
||||
@@ -678,15 +679,15 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции get_user_by_message_id: message_id={message_id}")
|
||||
self.logger.info(f"Запуск функции get_user_by_message_id: message_id={message_id}")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT user_id FROM user_messages WHERE message_id = ?", (message_id,))
|
||||
user = result.fetchone()[0]
|
||||
logger.info(f"Пользователь успешно получен user_id={user} по message_id={message_id}")
|
||||
self.logger.info(f"Пользователь успешно получен user_id={user} по message_id={message_id}")
|
||||
return user
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка получения user_id по message_id: {error}")
|
||||
self.logger.error(f"Ошибка получения user_id по message_id: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -702,15 +703,15 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info("Запуск функции get_last_users_from_db")
|
||||
self.logger.info("Запуск функции get_last_users_from_db")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT full_name, user_id FROM our_users ORDER BY date_changed DESC LIMIT 30")
|
||||
users = result.fetchall()
|
||||
logger.info(f"Получен список последних 30 пользователей: {users}")
|
||||
self.logger.info(f"Получен список последних 30 пользователей: {users}")
|
||||
return users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка получения списка последних пользователей: {error}")
|
||||
self.logger.error(f"Ошибка получения списка последних пользователей: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -726,15 +727,15 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3.Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info("Запуск функции get_banned_users_from_db")
|
||||
self.logger.info("Запуск функции get_banned_users_from_db")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT user_name, user_id, message_for_user, date_to_unban FROM blacklist")
|
||||
users = result.fetchall()
|
||||
logger.info(f"Получен список пользователей в черном списке: {users}")
|
||||
self.logger.info(f"Получен список пользователей в черном списке: {users}")
|
||||
return users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка получения списка пользователей в черном списке: {error}")
|
||||
self.logger.error(f"Ошибка получения списка пользователей в черном списке: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
@@ -754,23 +755,23 @@ class BotDB:
|
||||
Raises:
|
||||
sqlite3. Error: Если произошла ошибка при выполнении запроса.
|
||||
"""
|
||||
logger.info(f"Запуск функции get_banned_users_from_db_with_limits: offset={offset}, limit={limit}")
|
||||
self.logger.info(f"Запуск функции get_banned_users_from_db_with_limits: offset={offset}, limit={limit}")
|
||||
try:
|
||||
self.connect()
|
||||
result = self.cursor.execute("SELECT user_name, user_id, message_for_user, date_to_unban "
|
||||
"FROM blacklist LIMIT ?, ?", (offset, limit,))
|
||||
users = result.fetchall()
|
||||
logger.info(f"Получен список пользователей в черном списке (offset={offset}, limit={limit}): {users}")
|
||||
self.logger.info(f"Получен список пользователей в черном списке (offset={offset}, limit={limit}): {users}")
|
||||
return users
|
||||
except sqlite3.Error as error:
|
||||
logger.error(f"Ошибка получения списка пользователей в черном списке: {error}")
|
||||
self.logger.error(f"Ошибка получения списка пользователей в черном списке: {error}")
|
||||
raise
|
||||
finally:
|
||||
self.close()
|
||||
|
||||
def add_audio_record(self, file_name, author_id, date_added, listen_count, file_id):
|
||||
"""Добавляет информацию о войсе юзера в БД"""
|
||||
logger.info(
|
||||
self.logger.info(
|
||||
f"Запуск функции add_audio_record (file_name = {file_name}, author_id = {author_id}, date_added = {date_added}")
|
||||
try:
|
||||
self.connect()
|
||||
@@ -778,7 +779,7 @@ class BotDB:
|
||||
"INSERT INTO `audio_message_reference` (file_name, author_id, date_added, listen_count, file_id) VALUES (?, ?, ?, ?, ?)",
|
||||
(file_name, author_id, date_added, listen_count, file_id))
|
||||
self.conn.commit()
|
||||
logger.info(
|
||||
self.logger.info(
|
||||
f"Аудио успешно добавлено в БД (file_name = {file_name}, author_id = {author_id}, date_added = {date_added}")
|
||||
return None
|
||||
except sqlite3.Error as error:
|
||||
|
||||
Reference in New Issue
Block a user