From d951b22056b85f32965a187c65cba7826d3beb57 Mon Sep 17 00:00:00 2001 From: trueold89 Date: Thu, 2 Nov 2023 23:12:36 +0300 Subject: [PATCH] Add log system --- bot/bot.py | 5 +++-- bot/func.py | 7 ++++++- bot/lang.py | 20 +++++++++++++++++-- bot/log.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 bot/log.py diff --git a/bot/bot.py b/bot/bot.py index 0ef6f87..af8d8ca 100755 --- a/bot/bot.py +++ b/bot/bot.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 # -- coding: utf-8 -- -import func, telebot, os +import func, telebot, os, log from db import PATH from lang import LANG as msg @@ -159,5 +159,6 @@ def unknown(message): else: bot.reply_to(message,str(msg.get('adeny'))) -func.qbt() +# func.qbt() +log.start() bot.polling() diff --git a/bot/func.py b/bot/func.py index de33a22..fe77a05 100644 --- a/bot/func.py +++ b/bot/func.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 # -- coding: utf-8 -- -import db, os +import db, os, log from db import * from lang import LANG as msg @@ -27,6 +27,7 @@ def u_auth(id,passwd): if passwd == os.environ['PASS']: list.append(id) db.write(list,AUTH_FILE) + log.auth(id) return msg.get('sucauth') else: return msg.get('wrauth') @@ -49,6 +50,7 @@ def add_dir(id,dir,path): dict = {} dict.setdefault(dir,path) db.write(dict,DIR_FILE) + log.add(id,dir,path) return str(msg.get('fsa')).format(dir) else: return msg.get('adeny') @@ -62,6 +64,7 @@ def del_dir(id,dir): if dir in dict: del dict[dir] db.write(dict,DIR_FILE) + log.rm(id,dir) return str(msg.get('frm')).format(dir) else: return str(msg.get('fne')).format(dir) @@ -74,6 +77,7 @@ def magnet(id,link,dir): path = dict[dir] command = f'''qbt torrent add url "{link}" -f "{path}"''' os.system(f"bash -c '{command}'") + log.addmagnet(id,link) return msg.get('add') else: return msg.get('adeny') @@ -85,6 +89,7 @@ def file(id,file,dir): command = f'''qbt torrent add file "{file}" -f {path}''' os.system(f"bash -c '{command}'") os.remove(file) + log.addfile(id,file) return msg.get('add') else: return msg.get('adeny') diff --git a/bot/lang.py b/bot/lang.py index 9db759c..57fc83b 100644 --- a/bot/lang.py +++ b/bot/lang.py @@ -24,7 +24,15 @@ RU = { 'ntorr': 'Неверное расширение файла', 'sendm': 'Отправте Magnet-ссылку', 'sendf': 'Отправте .torrent файл', - 'adeny': 'Этот бот запривачен, гнида, блять' + 'adeny': 'Этот бот запривачен, гнида, блять', + # Logs + 'l_create': "Log Файл '{}' создан", + 'l_start': 'Бот готов к работе', + 'l_auth': "Пользователь '{}' успешно авторизировался", + 'l_add': "Пользователь '{}' добавил папку '{}' по пути '{}'", + 'l_rm': "Пользователь '{}' удалил папку '{}'", + 'l_file': "Пользователь '{}' добавил в очередь файл '{}'", + 'l_magnet': "Пользователь '{}' добавил в очередь ссылку '{}'" } # English @@ -46,7 +54,15 @@ ENG = { 'ntorr': 'Incorrect file extension', 'sendm': 'Send Magnet link', 'sendf': 'Send .torrent file', - 'adeny': "You do not have access, first authorize '/login '" + 'adeny': "You do not have access, first authorize '/login '", + # Logs + 'l_create': "Log File '{}' created", + 'l_start': 'Bot is up and running', + 'l_auth': "User '{}' successfully authorized", + 'l_add': "User '{}' added a folder '{}' with the path '{}'", + 'l_rm': "User '{}' deleted '{}' folder", + 'l_file': "User '{}' added file '{}' to the queue", + 'l_magnet': "User '{}' added the link '{}' to the queue" } for i in langs: diff --git a/bot/log.py b/bot/log.py new file mode 100644 index 0000000..7952730 --- /dev/null +++ b/bot/log.py @@ -0,0 +1,55 @@ +#!/usr/bin/python3 +# -- coding: utf-8 -- + +import os, uuid +from datetime import datetime +from lang import LANG as msg +from db import PATH + +def dt(): + date = datetime.now().date() + time = datetime.now().time() + str = f'{date} | {time.strftime("%H:%M:%S")}' + return str + +DEFAULT = f'{dt()} LOG: ' +ID = str(uuid.uuid1())[0:7] +FILE = f'{ID}.txt' + +def file(log): + if os.path.exists(f'{PATH}logs') == False: + os.mkdir(f'{PATH}logs') + with open(f'{PATH}logs/{FILE}','a') as logfile: + logfile.write(f'{log}\n') + logfile.close() + +def start(): + log1 = DEFAULT + str(msg.get('l_create').format(FILE)) + log2 = DEFAULT + str(msg.get('l_start')) + file(log2) + print(f'{log1}\n{log2}') + +def auth(id): + log = DEFAULT + str(msg.get('l_auth').format(id)) + file(log) + print(log) + +def add(id,folder,path): + log = DEFAULT + str(msg.get('l_add').format(id,folder,path)) + file(log) + print(log) + +def rm(id,folder): + log = DEFAULT + str(msg.get('l_rm').format(id,folder)) + file(log) + print(log) + +def addfile(id,filename): + log = DEFAULT + str(msg.get('l_file').format(id,filename[9:])) + file(log) + print(log) + +def addmagnet(id,link): + log = DEFAULT + str(msg.get('l_magnet').format(id,link)) + file(log) + print(log)