def onDownloadError(self, error): error = error.replace('<', ' ') error = error.replace('>', ' ') LOGGER.info(self.update.effective_chat.id) with download_dict_lock: try: download = download_dict[self.uid] del download_dict[self.uid] LOGGER.info(f"Deleting folder: {download.path()}") fs_utils.clean_download(download.path()) LOGGER.info(str(download_dict)) except Exception as e: LOGGER.error(str(e)) pass count = len(download_dict) if self.message.from_user.username: uname = f"@{self.message.from_user.username}" else: uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>' msg = f"{uname} your download has been stopped due to: {error}" sendMessage(msg, self.bot, self.update) if count == 0: self.clean() else: update_all_messages()
def onUploadComplete(self, link: str, size): with download_dict_lock: msg = f'<b>๐ ๐๐ถ๐น๐ฒ๐ก๐ฎ๐บ๐ฒ : </b><code>{download_dict[self.uid].name()}</code>\n<b>๐ฆ ๐๐จ๐ญ๐๐ฅ ๐๐ข๐ณ๐ : </b><code>{size}</code>\n' \ f' \n' \ f'๐ MXT MIRROR ZonE\n' \ f' \n' \ f'๐ ๐๐ง๐ค๐ช๐ฅ : @Mxtmirrorgroup\n' buttons = button_build.ButtonMaker() if SHORTENER is not None and SHORTENER_API is not None: surl = requests.get( f'https://{SHORTENER}/api?api={SHORTENER_API}&url={link}&format=text' ).text buttons.buildbutton("๐ ๐๐ซ๐ข๐ฏ๐ ๐๐ข๐ง๐ค ๐", surl) else: buttons.buildbutton("๐ ๐๐ซ๐ข๐ฏ๐ ๐๐ข๐ง๐ค ๐", link) LOGGER.info(f'Done Uploading {download_dict[self.uid].name()}') if INDEX_URL is not None: url_path = requests.utils.quote( f'{download_dict[self.uid].name()}') share_url = f'{INDEX_URL}/{url_path}' if os.path.isdir( f'{DOWNLOAD_DIR}/{self.uid}/{download_dict[self.uid].name()}' ): share_url += '/' if SHORTENER is not None and SHORTENER_API is not None: siurl = requests.get( f'https://{SHORTENER}/api?api={SHORTENER_API}&url={share_url}&format=text' ).text buttons.buildbutton("๐ ๐๐ง๐๐๐ฑ ๐๐ข๐ง๐ค ๐", siurl) else: buttons.buildbutton("๐ ๐๐ง๐๐๐ฑ ๐๐ข๐ง๐ค ๐", share_url) if BUTTON_THREE_NAME is not None and BUTTON_THREE_URL is not None: buttons.buildbutton(f"{BUTTON_THREE_NAME}", f"{BUTTON_THREE_URL}") if BUTTON_FOUR_NAME is not None and BUTTON_FOUR_URL is not None: buttons.buildbutton(f"{BUTTON_FOUR_NAME}", f"{BUTTON_FOUR_URL}") if BUTTON_FIVE_NAME is not None and BUTTON_FIVE_URL is not None: buttons.buildbutton(f"{BUTTON_FIVE_NAME}", f"{BUTTON_FIVE_URL}") if self.message.from_user.username: uname = f"@{self.message.from_user.username}" else: uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>' if uname is not None: msg += f'\n\n<b>๐ค ๐จ๐ฝ๐น๐ผ๐ฎ๐ฑ๐ฒ๐ฟ : ๐</b> {uname}\n\nโซ๏ธ#Uploaded To Team Drive โ \n\n๐ซ ๐ฟ๐ค ๐๐ค๐ฉ ๐๐๐๐ง๐ ๐๐ฃ๐๐๐ญ ๐๐๐ฃ๐ \n\nโ ๐ฃ๐ผ๐๐ฒ๐ฟ๐ฒ๐ฑ ๐๐ : <b>@ZEUTS</b>' try: fs_utils.clean_download(download_dict[self.uid].path()) except FileNotFoundError: pass del download_dict[self.uid] count = len(download_dict) sendMarkup(msg, self.bot, self.update, InlineKeyboardMarkup(buttons.build_menu(2))) if count == 0: self.clean() else: update_all_messages()
def onUploadComplete(self, link: str, size): with download_dict_lock: msg = f'<b>๐ ๆไปถๅ็งฐ : </b><code>{download_dict[self.uid].name()}</code>\n<b>๐ฆ ๆป่ฎกๅฎน้ : </b><code>{size}</code>\n' \ f' \n' \ f'๐ ่ฏถ๏ผ่ตท้ฃ๏ผ\n' \ f' \n' \ f'๐ ๅฐฑๆฏ้ฃ๏ผ\n' buttons = button_build.ButtonMaker() if SHORTENER is not None and SHORTENER_API is not None: surl = requests.get( f'https://{SHORTENER}/api?api={SHORTENER_API}&url={link}&format=text' ).text buttons.buildbutton("๐ ๐๐ซ๐ข๐ฏ๐ ้พๆฅ ๐", surl) else: buttons.buildbutton("๐ ๐๐ซ๐ข๐ฏ๐ ้พๆฅ ๐", link) LOGGER.info(f'Done Uploading {download_dict[self.uid].name()}') if INDEX_URL is not None: url_path = requests.utils.quote( f'{download_dict[self.uid].name()}') share_url = f'{INDEX_URL}/{url_path}' if os.path.isdir( f'{DOWNLOAD_DIR}/{self.uid}/{download_dict[self.uid].name()}' ): share_url += '/' if SHORTENER is not None and SHORTENER_API is not None: siurl = requests.get( f'https://{SHORTENER}/api?api={SHORTENER_API}&url={share_url}&format=text' ).text buttons.buildbutton("๐ ๐๐ง๐๐๐ฑ ้พๆฅ ๐", siurl) else: buttons.buildbutton("๐ ๐๐ง๐๐๐ฑ ้พๆฅ ๐", share_url) if BUTTON_THREE_NAME is not None and BUTTON_THREE_URL is not None: buttons.buildbutton(f"{BUTTON_THREE_NAME}", f"{BUTTON_THREE_URL}") if BUTTON_FOUR_NAME is not None and BUTTON_FOUR_URL is not None: buttons.buildbutton(f"{BUTTON_FOUR_NAME}", f"{BUTTON_FOUR_URL}") if BUTTON_FIVE_NAME is not None and BUTTON_FIVE_URL is not None: buttons.buildbutton(f"{BUTTON_FIVE_NAME}", f"{BUTTON_FIVE_URL}") if self.message.from_user.username: uname = f"@{self.message.from_user.username}" else: uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>' if uname is not None: msg += f'\n\n<b>๐ค ไธไผ ่ : ๐</b> {uname}\n\nโซ๏ธ#ไธไผ ๅฐๅข้็ โ \n\n๐ซ ไธๅไบซ ๐๐ฃ๐๐๐ญ ้พๆฅ \n\nโ ๆๆฏๆฏๆ : <b>@wawawame</b>' try: fs_utils.clean_download(download_dict[self.uid].path()) except FileNotFoundError: pass del download_dict[self.uid] count = len(download_dict) sendMarkup(msg, self.bot, self.update, InlineKeyboardMarkup(buttons.build_menu(2))) if count == 0: self.clean() else: update_all_messages()
def onUploadError(self, error): e_str = error.replace('<', '').replace('>', '') with download_dict_lock: try: fs_utils.clean_download(download_dict[self.uid].path()) except FileNotFoundError: pass del download_dict[self.message.message_id] count = len(download_dict) sendMessage(e_str, self.bot, self.update) if count == 0: self.clean() else: update_all_messages()
def onUploadComplete(self, link: str, size): with download_dict_lock: msg = f'<b>๐ ๐๐ถ๐น๐ฒ๐ก๐ฎ๐บ๐ฒ : </b><code>{download_dict[self.uid].name()}</code>\n<b>๐ฃ๐ธ๐ฝ๐ช๐ต ๐ข๐ฒ๐๐ฎ : </b><code>{size}</code>\n' \ f' \n' \ f'โโโโโโ ๐ฯโฃ ็ช๐๐ฃัแปล ๐ฯฮท๏ฝ โโโโโโ\n' \ f' \n' \ f'Group : @Zeuts\n' buttons = button_build.ButtonMaker() if SHORTENER is not None and SHORTENER_API is not None: surl = requests.get(f'https://{SHORTENER}/api?api={SHORTENER_API}&url={link}&format=text').text buttons.buildbutton("๐ฏ๐๐๐๐ ๐ท๐๐๐", surl) else: buttons.buildbutton("๐ฏ๐๐๐๐ ๐ท๐๐๐", link) LOGGER.info(f'Done Uploading {download_dict[self.uid].name()}') if INDEX_URL is not None: url_path = requests.utils.quote(f'{download_dict[self.uid].name()}') share_url = f'{INDEX_URL}/{url_path}' if os.path.isdir(f'{DOWNLOAD_DIR}/{self.uid}/{download_dict[self.uid].name()}'): share_url += '/' if SHORTENER is not None and SHORTENER_API is not None: siurl = requests.get(f'https://{SHORTENER}/api?api={SHORTENER_API}&url={share_url}&format=text').text buttons.buildbutton("๐ฒ๐ท๐ญ๐ฎ๐ ๐ต๐ฒ๐ท๐ด", siurl) else: buttons.buildbutton("๐ฒ๐ท๐ญ๐ฎ๐ ๐ต๐ฒ๐ท๐ด", share_url) if BUTTON_THREE_NAME is not None and BUTTON_THREE_URL is not None: buttons.buildbutton(f"{BUTTON_THREE_NAME}", f"{BUTTON_THREE_URL}") if BUTTON_FOUR_NAME is not None and BUTTON_FOUR_URL is not None: buttons.buildbutton(f"{BUTTON_FOUR_NAME}", f"{BUTTON_FOUR_URL}") if BUTTON_FIVE_NAME is not None and BUTTON_FIVE_URL is not None: buttons.buildbutton(f"{BUTTON_FIVE_NAME}", f"{BUTTON_FIVE_URL}") if self.message.from_user.username: uname = f"@{self.message.from_user.username}" else: uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>' if uname is not None: msg += f'\n\n<b> ๐๐๐๐๐๐๐๐ </b> {uname}\n\nโซ๏ธ ๐๐๐๐๐๐๐๐ โ \n\n ๐๐ธ๐ท'๐ฝ ๐ข๐ฑ๐ช๐ป๐ฎ ๐๐ฒ๐ท๐ด \n\nโ ๐ฃ๐ผ๐๐ฒ๐ฟ๐ฒ๐ฑ ๐๐ : <b@zeuts</b>' try: fs_utils.clean_download(download_dict[self.uid].path()) except FileNotFoundError: pass del download_dict[self.uid] count = len(download_dict) sendMarkup(msg, self.bot, self.update, InlineKeyboardMarkup(buttons.build_menu(2))) if count == 0: self.clean() else: update_all_messages()
def cancel_mirror(update, context): args = update.message.text.split(" ", maxsplit=1) mirror_message = None if len(args) > 1: gid = args[1] dl = getDownloadByGid(gid) if not dl: sendMessage(f"GID: <code>{gid}</code> not found.", context.bot, update) return with download_dict_lock: keys = list(download_dict.keys()) mirror_message = dl.message elif update.message.reply_to_message: mirror_message = update.message.reply_to_message with download_dict_lock: keys = list(download_dict.keys()) dl = download_dict[mirror_message.message_id] if len(args) == 1: if mirror_message is None or mirror_message.message_id not in keys: if BotCommands.MirrorCommand in update.message.text or \ BotCommands.TarMirrorCommand in update.message.text or \ BotCommands.UnzipMirrorCommand in update.message.text: msg = "Mirror Already Have Been Cancelled" sendMessage(msg, context.bot, update) return else: msg = "Please reply to the /mirror message which was used to start the download or /cancel gid to cancel it!" sendMessage(msg, context.bot, update) return if dl.status() == "Uploading...๐ค": sendMessage("Upload in Progress, You Can't Cancel It.", context.bot, update) return elif dl.status() == "Archiving...๐": sendMessage("Archival in Progress, You Can't Cancel It.", context.bot, update) return elif dl.status() == "Extracting...๐": sendMessage("Extract in Progress, You Can't Cancel It.", context.bot, update) return else: dl.download().cancel_download() sleep(1) # Wait a Second For Aria2 To free Resources. clean_download(f'{DOWNLOAD_DIR}{mirror_message.message_id}/')