diff --git a/app.json b/app.json index 87c8004..8aa823e 100644 --- a/app.json +++ b/app.json @@ -128,18 +128,10 @@ "description": "To limit downloading Mega (leave space between number and unit, Available units is (gb or GB, tb or TB).", "required": false }, - "STOP_DUPLICATE_MIRROR": { + "STOP_DUPLICATE": { "description": "If this field is set to True, bot will check file in Drive, if it is present in Drive, downloading will be stopped.", "required": false }, - "STOP_DUPLICATE_MEGA": { - "description": "If this field is set to True, bot will check file in Drive, if it is present in Drive, downloading Mega will be stopped.", - "required": false - }, - "STOP_DUPLICATE_CLONE": { - "description": "If this field is set to True, bot will check file in Drive, if it is present in Drive, cloning will be stopped.", - "required": false - }, "IGNORE_PENDING_REQUESTS": { "description": "If you want the bot to ignore pending requests after it restarts, set this to True.", "required": false diff --git a/bot/__init__.py b/bot/__init__.py index 5a90143..80881fc 100644 --- a/bot/__init__.py +++ b/bot/__init__.py @@ -89,7 +89,6 @@ if os.path.exists('sudo_users.txt'): with open('sudo_users.txt', 'r+') as f: lines = f.readlines() for line in lines: - AUTHORIZED_CHATS.add(int(line.split()[0])) SUDO_USERS.add(int(line.split()[0])) try: achats = getConfig('AUTHORIZED_CHATS') @@ -102,7 +101,6 @@ try: schats = getConfig('SUDO_USERS') schats = schats.split(" ") for chats in schats: - AUTHORIZED_CHATS.add(int(chats)) SUDO_USERS.add(int(chats)) except: pass @@ -252,21 +250,13 @@ except KeyError: BUTTON_SIX_NAME = None BUTTON_SIX_URL = None try: - STOP_DUPLICATE_MIRROR = getConfig('STOP_DUPLICATE_MIRROR') - if STOP_DUPLICATE_MIRROR.lower() == 'true': - STOP_DUPLICATE_MIRROR = True + STOP_DUPLICATE = getConfig('STOP_DUPLICATE') + if STOP_DUPLICATE.lower() == 'true': + STOP_DUPLICATE = True else: - STOP_DUPLICATE_MIRROR = False + STOP_DUPLICATE = False except KeyError: - STOP_DUPLICATE_MIRROR = False -try: - STOP_DUPLICATE_MEGA = getConfig('STOP_DUPLICATE_MEGA') - if STOP_DUPLICATE_MEGA.lower() == 'true': - STOP_DUPLICATE_MEGA = True - else: - STOP_DUPLICATE_MEGA = False -except KeyError: - STOP_DUPLICATE_MEGA = False + STOP_DUPLICATE = False try: VIEW_LINK = getConfig('VIEW_LINK') if VIEW_LINK.lower() == 'true': @@ -275,14 +265,6 @@ try: VIEW_LINK = False except KeyError: VIEW_LINK = False -try: - STOP_DUPLICATE_CLONE = getConfig('STOP_DUPLICATE_CLONE') - if STOP_DUPLICATE_CLONE.lower() == 'true': - STOP_DUPLICATE_CLONE = True - else: - STOP_DUPLICATE_CLONE = False -except KeyError: - STOP_DUPLICATE_CLONE = False try: IS_TEAM_DRIVE = getConfig('IS_TEAM_DRIVE') if IS_TEAM_DRIVE.lower() == 'true': diff --git a/bot/helper/ext_utils/db_handler.py b/bot/helper/ext_utils/db_handler.py index a4c30e8..2273942 100644 --- a/bot/helper/ext_utils/db_handler.py +++ b/bot/helper/ext_utils/db_handler.py @@ -40,8 +40,6 @@ class DbManger: self.conn.commit() self.disconnect() AUTHORIZED_CHATS.remove(chat_id) - if chat_id in SUDO_USERS: - SUDO_USERS.remove(chat_id) return 'Unauthorized successfully' def db_addsudo(self,chat_id: int): @@ -61,7 +59,6 @@ class DbManger: self.cur.execute(sql) self.conn.commit() self.disconnect() - AUTHORIZED_CHATS.add(chat_id) SUDO_USERS.add(chat_id) return 'Successfully Authorized and promoted as Sudo' diff --git a/bot/helper/mirror_utils/download_utils/aria2_download.py b/bot/helper/mirror_utils/download_utils/aria2_download.py index 6a0376c..fd35538 100644 --- a/bot/helper/mirror_utils/download_utils/aria2_download.py +++ b/bot/helper/mirror_utils/download_utils/aria2_download.py @@ -1,4 +1,4 @@ -from bot import aria2, download_dict_lock, STOP_DUPLICATE_MIRROR, TORRENT_DIRECT_LIMIT, TAR_UNZIP_LIMIT +from bot import aria2, download_dict_lock, STOP_DUPLICATE, TORRENT_DIRECT_LIMIT, TAR_UNZIP_LIMIT from bot.helper.mirror_utils.upload_utils.gdriveTools import GoogleDriveHelper from bot.helper.ext_utils.bot_utils import * from .download_helper import DownloadHelper @@ -16,11 +16,11 @@ class AriaDownloadHelper(DownloadHelper): @new_thread def __onDownloadStarted(self, api, gid): - if STOP_DUPLICATE_MIRROR or TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None: + if STOP_DUPLICATE or TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None: sleep(1) dl = getDownloadByGid(gid) download = aria2.get_download(gid) - if STOP_DUPLICATE_MIRROR: + if STOP_DUPLICATE: LOGGER.info(f"Checking File/Folder if already in Drive...") sleep(1) sname = aria2.get_download(gid).name diff --git a/bot/helper/mirror_utils/download_utils/mega_downloader.py b/bot/helper/mirror_utils/download_utils/mega_downloader.py index 3ddd730..edf2700 100644 --- a/bot/helper/mirror_utils/download_utils/mega_downloader.py +++ b/bot/helper/mirror_utils/download_utils/mega_downloader.py @@ -6,7 +6,7 @@ import os from bot.helper.ext_utils.bot_utils import new_thread, get_mega_link_type, get_readable_file_size from bot.helper.mirror_utils.status_utils.mega_download_status import MegaDownloadStatus from bot.helper.mirror_utils.upload_utils.gdriveTools import GoogleDriveHelper -from bot import MEGA_LIMIT, STOP_DUPLICATE_MEGA, TAR_UNZIP_LIMIT +from bot import MEGA_LIMIT, STOP_DUPLICATE, TAR_UNZIP_LIMIT import random import string @@ -164,7 +164,7 @@ class MegaDownloadHelper: node = folder_api.authorizeNode(mega_listener.node) if mega_listener.error is not None: return listener.onDownloadError(str(mega_listener.error)) - if STOP_DUPLICATE_MEGA: + if STOP_DUPLICATE: LOGGER.info(f'Checking File/Folder if already in Drive') mname = node.getName() if listener.isTar: diff --git a/bot/helper/mirror_utils/download_utils/telegram_downloader.py b/bot/helper/mirror_utils/download_utils/telegram_downloader.py index 6770a56..5721d00 100644 --- a/bot/helper/mirror_utils/download_utils/telegram_downloader.py +++ b/bot/helper/mirror_utils/download_utils/telegram_downloader.py @@ -1,7 +1,7 @@ import logging import threading import time -from bot import LOGGER, download_dict, download_dict_lock, app, STOP_DUPLICATE_MIRROR +from bot import LOGGER, download_dict, download_dict_lock, app, STOP_DUPLICATE from .download_helper import DownloadHelper from ..status_utils.telegram_download_status import TelegramDownloadStatus from bot.helper.telegram_helper.message_utils import sendMarkup, sendStatusMessage @@ -100,7 +100,7 @@ class TelegramDownloadHelper(DownloadHelper): path = path + name if download: - if STOP_DUPLICATE_MIRROR: + if STOP_DUPLICATE: LOGGER.info(f"Checking File/Folder if already in Drive...") if self.__listener.isTar: name = name + ".tar" diff --git a/bot/helper/telegram_helper/filters.py b/bot/helper/telegram_helper/filters.py index 1cdb058..2be1fa5 100644 --- a/bot/helper/telegram_helper/filters.py +++ b/bot/helper/telegram_helper/filters.py @@ -13,7 +13,7 @@ class CustomFilters: class _AuthorizedUserFilter(MessageFilter): def filter(self, message): id = message.from_user.id - return bool(id in AUTHORIZED_CHATS or id == OWNER_ID) + return bool(id in AUTHORIZED_CHATS or id in SUDO_USERS or id == OWNER_ID) authorized_user = _AuthorizedUserFilter() diff --git a/bot/modules/authorize.py b/bot/modules/authorize.py index c4fc908..b7a8415 100644 --- a/bot/modules/authorize.py +++ b/bot/modules/authorize.py @@ -112,9 +112,6 @@ def addSudo(update, context): if DB_URI is not None: msg = DbManger().db_addsudo(user_id) else: - with open('authorized_chats.txt', 'a') as file: - file.write(f'{user_id}\n') - AUTHORIZED_CHATS.add(user_id) with open('sudo_users.txt', 'a') as file: file.write(f'{user_id}\n') SUDO_USERS.add(user_id) @@ -131,9 +128,6 @@ def addSudo(update, context): if DB_URI is not None: msg = DbManger().db_addsudo(user_id) else: - with open('authorized_chats.txt', 'a') as file: - file.write(f'{user_id}\n') - AUTHORIZED_CHATS.add(user_id) with open('sudo_users.txt', 'a') as file: file.write(f'{user_id}\n') SUDO_USERS.add(user_id) @@ -154,7 +148,6 @@ def removeSudo(update, context): if DB_URI is not None: msg = DbManger().db_rmsudo(user_id) else: - AUTHORIZED_CHATS.remove(user_id) SUDO_USERS.remove(user_id) msg = 'Demoted' else: @@ -168,16 +161,11 @@ def removeSudo(update, context): if DB_URI is not None: msg = DbManger().db_rmsudo(user_id) else: - AUTHORIZED_CHATS.remove(user_id) SUDO_USERS.remove(user_id) msg = 'Demoted' else: msg = 'Not a Sudo' if DB_URI is None: - with open('authorized_chats.txt', 'a') as file: - file.truncate(0) - for i in AUTHORIZED_CHATS: - file.write(f'{i}\n') with open('sudo_users.txt', 'a') as file: file.truncate(0) for i in SUDO_USERS: diff --git a/bot/modules/clone.py b/bot/modules/clone.py index e2e5d5e..8bde39a 100644 --- a/bot/modules/clone.py +++ b/bot/modules/clone.py @@ -4,7 +4,7 @@ from bot.helper.telegram_helper.message_utils import * from bot.helper.telegram_helper.filters import CustomFilters from bot.helper.telegram_helper.bot_commands import BotCommands from bot.helper.mirror_utils.status_utils.clone_status import CloneStatus -from bot import dispatcher, LOGGER, CLONE_LIMIT, STOP_DUPLICATE_CLONE, download_dict, download_dict_lock, Interval, DOWNLOAD_STATUS_UPDATE_INTERVAL +from bot import dispatcher, LOGGER, CLONE_LIMIT, STOP_DUPLICATE, download_dict, download_dict_lock, Interval, DOWNLOAD_STATUS_UPDATE_INTERVAL from bot.helper.ext_utils.bot_utils import get_readable_file_size, setInterval import random import string @@ -19,7 +19,7 @@ def cloneNode(update, context): if res != "": sendMessage(res, context.bot, update) return - if STOP_DUPLICATE_CLONE: + if STOP_DUPLICATE: LOGGER.info(f"Checking File/Folder if already in Drive...") smsg, button = gd.drive_list(name) if smsg: diff --git a/bot/modules/config.py b/bot/modules/config.py index 8ba2cd3..c32ee47 100644 --- a/bot/modules/config.py +++ b/bot/modules/config.py @@ -119,7 +119,7 @@ async def config_button(_, query): elif data == '4': return await query.message.edit( __header__.format(data) - + f"**[ Stop Duplicate Config ]**\n\n**STOP_DUPLICATE_MIRROR:** `{STOP_DUPLICATE_MIRROR}`\n\n**STOP_DUPLICATE_CLONE:** `{STOP_DUPLICATE_CLONE}`\n\n**STOP_DUPLICATE_MEGA:** `{STOP_DUPLICATE_MEGA}`\n\n**[ Block Mega Config ]**\n\n**BLOCK_MEGA_FOLDER:** `{BLOCK_MEGA_FOLDER}`\n\n**BLOCK_MEGA_LINKS:** `{BLOCK_MEGA_LINKS}`", + + f"**[ Stop/Block Config ]**\n\n**STOP_DUPLICATE** `{STOP_DUPLICATE}`\n\n**[ Block Mega Config ]**\n\n**BLOCK_MEGA_FOLDER:** `{BLOCK_MEGA_FOLDER}`\n\n**BLOCK_MEGA_LINKS:** `{BLOCK_MEGA_LINKS}`", reply_markup=types.InlineKeyboardMarkup( [ [ diff --git a/config_sample.env b/config_sample.env index e834d8b..ec01d62 100644 --- a/config_sample.env +++ b/config_sample.env @@ -27,9 +27,7 @@ MEGA_EMAIL_ID = "" MEGA_PASSWORD = "" BLOCK_MEGA_FOLDER = "" BLOCK_MEGA_LINKS = "" -STOP_DUPLICATE_MIRROR = "" -STOP_DUPLICATE_CLONE = "" -STOP_DUPLICATE_MEGA = "" +STOP_DUPLICATE = "" SHORTENER = "" SHORTENER_API = "" # If you want to use Credentials externally from Index Links, fill these vars with the direct links