def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'😡 𝑭𝒊𝒍𝒆 𝒊𝒔 𝒂𝒍𝒓𝒆𝒂𝒅𝒚 𝒂𝒗𝒂𝒊𝒍𝒂𝒃𝒍𝒆 𝒊𝒏 𝑫𝒓𝒊𝒗𝒆\n𝑭𝒊𝒔𝒓𝒕 𝒔𝒆𝒂𝒓𝒄𝒉 𝑩𝒆𝒇𝒐𝒓𝒆 𝑴𝒊𝒓𝒓𝒐𝒓𝒊𝒏𝒈 𝒂𝒏𝒚𝒕𝒉𝒊𝒏𝒈 😡\n𝑰𝒇 𝒚𝒐𝒖 𝒅𝒐 𝒕𝒉𝒊𝒔 𝒂𝒈𝒂𝒊𝒏❗ 𝒀𝒐𝒖 𝒘𝒊𝒍𝒍 𝒃𝒆 𝑩𝒂𝒏 😐.\n\n' ) sendMarkup(" <b>Here are the search results:</b> 👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if ENABLE_FILESIZE_LIMIT: if download.total_length / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE: LOGGER.info(f" Download size Exceeded: {gid}") dl.getListener().onDownloadError(f'File size larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB') aria2.remove([download]) return update_all_messages() gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if STOP_DUPLICATE_MIRROR: if smsg: dl.getListener().onDownloadError(f'😡 File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n') print(dl.getListener()) if button: sendMarkup("Here are the search results:👇\n", dl.getListener().bot, dl.getListener().update, button) else: sendMessage("Here are the search results:👇\n" + smsg, dl.getListener().bot, dl.getListener().update) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onMulai download : {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'😡😡File nya udh ada di google drive ya, kamu bisa cari dengan mengetik /daftar (yg pengen kamu cari), kamu soam = ban\n\n' ) sendMarkup(" Nih yang kamu cari:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def cloneNode(update, context): if update.message.from_user.last_name: last_name = f" {update.message.from_user.last_name}" else: last_name = "" if update.message.from_user.username: username = f"@{update.message.from_user.username}" else: username = "" name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>' args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = f'Bentar lg clonning link google drive nya\n' \ f'User: buat yang request tadi {username}\n' \ f'Link: <a href="{link}">{link}</a>' sendMessage(msg, context.bot, update) gd = GoogleDriveHelper() result, button = gd.clone(link) LOGGER.info('ID: {} - Username: {} - Message: {}'.format( update.message.chat.id, update.message.chat.username, update.message.text)) # deleteMessage(context.bot,msg) else: sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot, update)
def cloneNode(update, context): if update.message.from_user.last_name: last_name = f" {update.message.from_user.last_name}" else: last_name = "" if update.message.from_user.username: username = f"@{update.message.from_user.username}" else: username = "" name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>' if username is not None: cc = f'\n\n<b>Cloned by :</b> {username}' args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = f'<b>Cloning......</b> \n\n' \ f'<b>User :</b> {username}\n' \ f'<b>Link :</b> <a href="{link}"><code>{link}</code></a>' sendMessage(msg, context.bot, update) gd = GoogleDriveHelper() result, button = gd.clone(link) LOGGER.info('ID: {} - Username: {} - Message: {}'.format( update.message.chat.id, update.message.chat.username, update.message.text)) # deleteMessage(context.bot,msg) sendMarkup(result + cc, context.bot, update, button) else: sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot, update)
def __onDownloadStarted(self, api, gid): 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 and dl is not None and not dl.getListener().isLeech: LOGGER.info('Checking File/Folder if already in Drive...') sname = aria2.get_download(gid).name if dl.getListener().isTar: sname = sname + ".zip" if dl.getListener().isZip else sname + ".tar" if dl.getListener().extract: smsg = None else: gdrive = GoogleDriveHelper() smsg, button = gdrive.drive_list(sname, True) if smsg: dl.getListener().onDownloadError('File/Folder already available in Drive.\n\n') aria2.remove([download], force=True) sendMarkup("Here are the search results:", dl.getListener().bot, dl.getListener().update, button) return if (TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None) and dl is not None: sleep(1) size = aria2.get_download(gid).total_length if dl.getListener().isTar or dl.getListener().extract: is_tar_ext = True mssg = f'Tar/Unzip limit is {TAR_UNZIP_LIMIT}' else: is_tar_ext = False mssg = f'Torrent/Direct limit is {TORRENT_DIRECT_LIMIT}' result = check_limit(size, TORRENT_DIRECT_LIMIT, TAR_UNZIP_LIMIT, is_tar_ext) if result: dl.getListener().onDownloadError(f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}') aria2.remove([download], force=True) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'🤬𝙵𝚒𝚕𝚎 𝚒𝚜 𝚊𝚕𝚛𝚎𝚊𝚍𝚢 𝚊𝚟𝚊𝚒𝚕𝚊𝚋𝚕𝚎 𝚒𝚗 T𝚎𝚊𝚖𝙳𝚛𝚒𝚟𝚎🤬.\n\n') sendMarkup("🥶𝙷𝚎𝚛𝚎 𝚊𝚛𝚎 𝚝𝚑𝚎 𝚜𝚎𝚊𝚛𝚌𝚑 𝚛𝚎𝚜𝚞𝚕𝚝𝚜:👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return size = download.total_length if ENABLE_FILESIZE_LIMIT: if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE: LOGGER.info(f"Download size Exceeded: {gid}") dl.getListener().onDownloadError( f'File size {get_readable_file_size(size)} larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB' ) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'\n\n❌ Duplicate Mirror detected!! ❌\n\nThis download has been stopped. File is already available in drive\n\n' ) sendMarkup(" 🔍 Here is the search results👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'⚠️⚠️ File sudah ada di database, harap /list dahulu sebelum menggunakan /mirror. This download has been stopped.\n\n' ) sendMarkup(" Here are the search results:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if STOP_DUPLICATE_MIRROR: if smsg: dl.getListener().onDownloadError( f'File is already available in drive.\n\n') print(dl.getListener()) if button: sendMarkup("Here are the search results:👇\n", dl.getListener().bot, dl.getListener().update, button) else: sendMessage("Here are the search results:👇\n" + smsg, dl.getListener().bot, dl.getListener().update) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'😡😡File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n' ) sendMarkup(" Here are the search results:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError(f'File is already available in drive Bitch.\nNext time Direct BAN.\n\n') sendMarkup("Here are the search results: 👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return size = download.total_length if ENABLE_FILESIZE_LIMIT: if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE: LOGGER.info(f"Download size Exceeded: {gid}") dl.getListener().onDownloadError(f'File size {get_readable_file_size(size)} larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB') aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'⚠️⚠️ This download has been stopped. File is already there. Please Search: https://testing.bunny.workers.dev/0: \n\n' ) sendMarkup(" Here are the search results:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name size = download.total_length if ENABLE_FILESIZE_LIMIT: if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE: LOGGER.info(f" Download size Exceeded: {gid}") dl.getListener().onDownloadError(f'💾 File size {get_readable_file_size(size)} \n❌ larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB') aria2.remove([download]) return update_all_messages() if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError(f'😡 File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n') sendMarkup(" Here are the search results:👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def cloneNode(update, context): if update.message.from_user.last_name: last_name = f" {update.message.from_user.last_name}" else: last_name = "" if update.message.from_user.username: username = f"@{update.message.from_user.username}" else: username = "" name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>' args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = f"<code>Cloning....</code>\n\n<b>Wait Little bit. 🌞</b>\n\n" \ f"<b>👤 Upload by :</b> {username}\n\n" \ f"<b>🔗 Drive Link :</b> <code>{link}</code>" sendMessage(msg, context.bot, update) gd = GoogleDriveHelper() result, button = gd.clone(link) LOGGER.info('ID: {} - Username: {} - Message: {}'.format( update.message.chat.id, update.message.chat.username, update.message.text)) # deleteMessage(context.bot,msg) sendMarkup(result, context.bot, update, button) else: sendMessage( "Dammnn 😒😐 \nProvide Google Drive Shareable Link For Clone 🌝\n\n📢 𝐄𝐱𝐚𝐦𝐩𝐥𝐞:\n <code>/clon1 your Google drive Link</code>\n\n💡 For More Help Join Support Group\n 📨 @MaxxBotChat", context.bot, update)
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'<code>➼𝐓𝐡𝐢𝐬 𝐅𝐢𝐥𝐞 𝐈𝐬 𝐀𝐥𝐫𝐞𝐚𝐝𝐲 𝐀𝐯𝐚𝐢𝐥𝐚𝐛𝐥𝐞 𝐈𝐧 𝐆𝐫𝐨𝐮𝐩 𝐃𝐫𝐢𝐯𝐞. 𝐘𝐨𝐮 𝐒𝐡𝐨𝐮𝐥𝐝 𝐇𝐚𝐯𝐞 🔍 𝐒𝐞𝐚𝐫𝐜𝐡 𝐁𝐲 /list 𝐂𝐨𝐦𝐦𝐚𝐧𝐝 𝐁𝐞𝐟𝐨𝐫𝐞 𝐌𝐢𝐫𝐫𝐨𝐫🌻 𝐀𝐧𝐲 𝐅𝐢𝐥𝐞. 𝐏𝐫𝐨𝐜𝐞𝐬𝐬 𝐇𝐚𝐬 𝐁𝐞𝐞𝐧 𝐒𝐭𝐨𝐩𝐩𝐞𝐝\n\n Hᴇʀᴇ Aʀᴇ Tʜᴇ Rᴇsᴜʟᴛs Fᴏʀ Yᴏᴜʀ Fɪʟᴇ:👇👇. \n\n{smsg}' ) sendMarkup(" Here are the search results:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def cloneNode(update, context): if update.message.from_user.last_name: last_name = f" {update.message.from_user.last_name}" else: last_name = "" if update.message.from_user.username: username = f"- @{update.message.from_user.username}" else: username = "******" name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>' args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = f"Cloning..." \ f"User: {name} {username} (<code>{update.message.from_user.id}</code>)\n" \ f"Message: {update.message.text}" sendMessage(msg, context.bot, update) gd = GoogleDriveHelper() result, button = gd.clone(link) # deleteMessage(context.bot,msg) if button == "": sendMessage(result, context.bot, update) else: sendMarkup(result, context.bot, update, button) else: sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot, update)
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'😡😡 File is Already Available in GDrive. This Download has been Stopped.\n\n' ) sendMarkup(" Here is the File 👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'😒😆Tệp đã có sẵn trong drive. Bạn nên tìm kiếm trước khi tải bất kỳ tệp nào. Tải xuống này đã bị dừng.\n\n' ) sendMarkup(" Đây là kết quả tìm kiếm:👇👇", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def __onDownloadStarted(self, api, gid): sleep(1) LOGGER.info(f"onDownloadStart: {gid}") dl = getDownloadByGid(gid) download = api.get_download(gid) self.name = download.name sname = download.name if STOP_DUPLICATE_MIRROR: if dl.getListener().isTar == True: sname = sname + ".tar" if dl.getListener().extract == True: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: dl.getListener().onDownloadError( f'\n\nтЭМ Duplicate Mirror detected!! тЭМ\n\nржУрзЯрзЗржЗржЯ тЬЛ ржорж┐рж░рж░ ржХрж░рж╛рж░ ржкрзВрж░рзНржмрзЗ ржЖржкржирж╛рж░ рж╕рж╛рж░рзНржЪ ржХрж░рж╛ ржЙржЪрж┐ржд ржЫрж┐рж▓ ЁЯШР ржЖржкржирж┐ ржпрзЗ ржлрж╛ржЗрж▓ ржЯрж┐ ржорж┐рж░рж░ ржХрж░рждрзЗ ржЪрж╛ржЪрзНржЫрзЗржи рж╕рзЗржЗржЯрж╛ ржбрзНрж░рж╛ржЗржнрзЗ ржЕрж▓рж░рзЗржбрж┐ ржЖржЫрзЗржЗ ЁЯЩВ\n\n' ) sendMarkup( " ЁЯФН ржПржЗржпрзЗ ржжрзЗржЦрзБржи рж╕рж╛рж░рзНржЪ рж░рзЗржЬрж╛рж▓рзНржЯ ЁЯСЗЁЯСЗ", dl.getListener().bot, dl.getListener().update, button) aria2.remove([download]) return update_all_messages()
def cloneNode(update, context): args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] gd = GoogleDriveHelper() if CLONE_LIMIT is not None or STOP_DUPLICATE_CLONE: msg1 = sendMessage(f"Checking Your Link...", context.bot, update) res, clonesize, name = gd.clonehelper(link) if res != "": deleteMessage(context.bot, msg1) sendMessage(res, context.bot, update) return if STOP_DUPLICATE_CLONE: LOGGER.info(f"Checking File/Folder if already in Drive...") smsg, button = gd.drive_list(name) if smsg: deleteMessage(context.bot, msg1) msg3 = "File/Folder is already available in Drive.\nHere are the search results:" sendMarkup(msg3, context.bot, update, button) return else: if CLONE_LIMIT is None: deleteMessage(context.bot, msg1) if CLONE_LIMIT is not None: LOGGER.info(f"Checking File/Folder Size...") limit = CLONE_LIMIT limit = limit.split(' ', maxsplit=1) limitint = int(limit[0]) msg2 = f'Failed, Clone limit is {CLONE_LIMIT}.\nYour File/Folder size is {get_readable_file_size(clonesize)}.' if 'GB' in limit or 'gb' in limit: if clonesize > limitint * 1024**3: deleteMessage(context.bot, msg1) sendMessage(msg2, context.bot, update) return else: deleteMessage(context.bot, msg1) elif 'TB' in limit or 'tb' in limit: if clonesize > limitint * 1024**4: deleteMessage(context.bot, msg1) sendMessage(msg2, context.bot, update) return else: deleteMessage(context.bot, msg1) msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update) result, button = gd.clone(link) deleteMessage(context.bot, msg) if button == "": sendMessage(result, context.bot, update) else: if update.message.from_user.username: uname = f'@{update.message.from_user.username}' else: uname = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}</a>' if uname is not None: cc = f'\n\ncc: {uname}' sendMarkup(result + cc, context.bot, update, button) else: sendMessage('Provide G-Drive Shareable Link to Clone.', context.bot, update)
def add_download(mega_link: str, path: str, listener): if MEGA_API_KEY is None: raise MegaDownloaderException('Mega API KEY not provided! Cannot mirror Mega links') executor = AsyncExecutor() api = MegaApi(MEGA_API_KEY, None, None, 'telegram-mirror-bot') global listeners mega_listener = MegaAppListener(executor.continue_event, listener) listeners.append(mega_listener) api.addListener(mega_listener) if MEGA_EMAIL_ID is not None and MEGA_PASSWORD is not None: executor.do(api.login, (MEGA_EMAIL_ID, MEGA_PASSWORD)) link_type = get_mega_link_type(mega_link) if link_type == "file": LOGGER.info("File. If your download didn't start, then check your link if it's available to download") executor.do(api.getPublicNode, (mega_link,)) node = mega_listener.public_node else: LOGGER.info("Folder. If your download didn't start, then check your link if it's available to download") folder_api = MegaApi(MEGA_API_KEY,None,None,'TgBot') folder_api.addListener(mega_listener) executor.do(folder_api.loginToFolder, (mega_link,)) node = folder_api.authorizeNode(mega_listener.node) if mega_listener.error is not None: return sendMessage(str(mega_listener.error), listener.bot, listener.update) if STOP_DUPLICATE: LOGGER.info('Checking File/Folder if already in Drive') mname = node.getName() if listener.isTar: mname = mname + ".tar" if listener.extract: smsg = None else: gd = GoogleDriveHelper() smsg, button = gd.drive_list(mname) if smsg: msg1 = "File/Folder is already available in Drive.\nHere are the search results:" sendMarkup(msg1, listener.bot, listener.update, button) executor.continue_event.set() return if MEGA_LIMIT is not None or TAR_UNZIP_LIMIT is not None: size = api.getSize(node) if listener.isTar or listener.extract: is_tar_ext = True msg3 = f'Failed, Tar/Unzip limit is {TAR_UNZIP_LIMIT}.\nYour File/Folder size is {get_readable_file_size(api.getSize(node))}.' else: is_tar_ext = False msg3 = f'Failed, Mega limit is {MEGA_LIMIT}.\nYour File/Folder size is {get_readable_file_size(api.getSize(node))}.' result = check_limit(size, MEGA_LIMIT, TAR_UNZIP_LIMIT, is_tar_ext) if result: sendMessage(msg3, listener.bot, listener.update) executor.continue_event.set() return with download_dict_lock: download_dict[listener.uid] = MegaDownloadStatus(mega_listener, listener) os.makedirs(path) gid = ''.join(random.SystemRandom().choices(string.ascii_letters + string.digits, k=8)) mega_listener.setValues(node.getName(), api.getSize(node), gid) sendStatusMessage(listener.update, listener.bot) executor.do(api.startDownload,(node,path))
def __onDownloadStarted(self, api, gid): if STOP_DUPLICATE_MIRROR or TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None: sleep(0.5) dl = getDownloadByGid(gid) download = api.get_download(gid) if STOP_DUPLICATE_MIRROR: LOGGER.info(f"Checking File/Folder if already in Drive...") self.name = download.name sname = download.name if self.listener.isTar: sname = sname + ".tar" if self.listener.extract: smsg = None else: gdrive = GoogleDriveHelper(None) smsg, button = gdrive.drive_list(sname) if smsg: aria2.remove([download]) dl.getListener().onDownloadError( f'File/Folder is already available in Drive.\n\n') sendMarkup("Here are the search results:", dl.getListener().bot, dl.getListener().update, button) return if TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None: limit = None if TAR_UNZIP_LIMIT is not None and (self.listener.isTar or self.listener.extract): LOGGER.info(f"Checking File/Folder Size...") limit = TAR_UNZIP_LIMIT mssg = f'Tar/Unzip limit is {TAR_UNZIP_LIMIT}' elif TORRENT_DIRECT_LIMIT is not None and limit is None: LOGGER.info(f"Checking File/Folder Size...") limit = TORRENT_DIRECT_LIMIT mssg = f'Torrent/Direct limit is {TORRENT_DIRECT_LIMIT}' if limit is not None: sleep(1.5) size = aria2.get_download(gid).total_length limit = limit.split(' ', maxsplit=1) limitint = int(limit[0]) if 'G' in limit[1] or 'g' in limit[1]: if size > limitint * 1024**3: aria2.remove([download]) dl.getListener().onDownloadError( f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}' ) return elif 'T' in limit[1] or 't' in limit[1]: if size > limitint * 1024**4: aria2.remove([download]) dl.getListener().onDownloadError( f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}' ) return update_all_messages()
def _list_drive(key, bmsg, list_method, item_type): LOGGER.info(f"listing: {key}") list_method = list_method == "recu" gdrive = GoogleDriveHelper() msg, button = gdrive.drive_list(key, isRecursive=list_method, itemType=item_type) if button: editMessage(msg, bmsg, button) else: editMessage(f'No result found for <i>{key}</i>', bmsg)
def cloneNode(update,context): args = update.message.text.split(" ",maxsplit=1) if len(args) > 1: link = args[1] msg = sendMessage(f"Tunggu sebentar games, sedang menyalin : <code>{link}</code>",context.bot,update) gd = GoogleDriveHelper() result, button = gd.clone(link) deleteMessage(context.bot,msg) sendMarkup(result,context.bot,update,button) else: sendMessage("Tolong kasih link Google Drive yang bisa disalin.",context.bot,update)
def cloneNode(update, context): args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update) gd = GoogleDriveHelper() result = gd.clone(link) deleteMessage(context.bot, msg) sendMessage(result, context.bot, update) else: sendMessage("🚧Provide GD-TD Shareable Link to Clone.", bot, update)
def cloneNode(client: Client, message: Message): args = message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = sendMessage(f"Cloning: <code>{link}</code>", client, message) gd = GoogleDriveHelper() result = gd.clone(link) deleteMessage(msg) sendMessage(result, client, message) else: sendMessage("Provide G-Drive Shareable Link to Clone.", client, message)
def list_drive(bot,update): message = update.message.text search = message.split(' ',maxsplit=1)[1] LOGGER.info(f"Searching: {search}") gdrive = GoogleDriveHelper(None) msg = gdrive.drive_list(search) if msg: reply_message = sendMessage(msg, bot, update) else: reply_message = sendMessage('No result found', bot, update) threading.Thread(target=auto_delete_message, args=(bot, update.message, reply_message)).start()
def cloneNode(update, context): args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update) gd = GoogleDriveHelper() result = gd.clone(link) deleteMessage(context.bot, msg) sendMessage(result, context.bot, update) else: sendMessage( "Cung cấp liên kết có thể chia sẻ trên G-Drive để sao chép.", context.bot, update)
def countNode(update, context): args = update.message.text.split(" ", maxsplit=1) if len(args) > 1: link = args[1] msg = sendMessage(f"Counting: <code>{link}</code>", context.bot, update) gd = GoogleDriveHelper() result = gd.count(link) deleteMessage(context.bot, msg) sendMessage(result, context.bot, update) else: sendMessage("Provide G-Drive Shareable Link to Count.", context.bot, update)