async def down_load_media_f(client, message): user_command = message.command[0] user_id = message.from_user.id LOGGER.info(user_id) mess_age = await message.reply_text( "Is it really a Telegram Media 🤔!\nJust to make sure 🤷♂️ \nIf yes, then wait a few minutes", quote=True) if not os.path.isdir(DOWNLOAD_LOCATION): os.makedirs(DOWNLOAD_LOCATION) if message.reply_to_message is not None: start_t = datetime.now() download_location = str(Path().resolve()) + "/" c_time = time.time() prog = Progress(user_id, client, mess_age) try: the_real_download_location = await client.download_media( message=message.reply_to_message, file_name=download_location, progress=prog.progress_for_pyrogram, progress_args=("trying to download", c_time), ) except Exception as g_e: await mess_age.edit(str(g_e)) LOGGER.error(g_e) return end_t = datetime.now() ms = (end_t - start_t).seconds LOGGER.info(the_real_download_location) await asyncio.sleep(10) if the_real_download_location: await mess_age.edit_text( f"Downloaded to <code>{the_real_download_location}</code> in <u>{ms}</u> seconds" ) else: await mess_age.edit_text( "😔 Download Cancelled or some error happened") return the_real_download_location_g = the_real_download_location if user_command == TELEGRAM_LEECH_UNZIP_COMMAND.lower(): try: check_ifi_file = get_base_name(the_real_download_location) file_up = await unzip_me(the_real_download_location) if os.path.exists(check_ifi_file): the_real_download_location_g = file_up except Exception as ge: LOGGER.info(ge) LOGGER.info( f"Unable to extract {os.path.basename(the_real_download_location)}, Uploading the same file" ) await upload_to_gdrive(the_real_download_location_g, mess_age, message, user_id) else: await mess_age.edit_text( "Reply to a Telegram Media, to upload to the Cloud Drive.")
async def down_load_media_f(client, message): # to be removed user_command = message.command[0] user_id = message.from_user.id if message.reply_to_message is not None: the_real_download_location, mess_age = await download_tg(client, message) the_real_download_location_g = the_real_download_location if user_command == TELEGRAM_LEECH_UNZIP_COMMAND.lower(): try: check_ifi_file = get_base_name(the_real_download_location) file_up = await unzip_me(the_real_download_location) if os.path.exists(check_ifi_file): the_real_download_location_g = file_up except Exception as ge: LOGGER.info(ge) LOGGER.info( f"Can't extract {os.path.basename(the_real_download_location)}, Uploading the same file" ) await upload_to_gdrive(the_real_download_location_g, mess_age, message, user_id) else: await mess_age.edit_text( "Reply to a Telegram Media, to upload to the Cloud Drive." )
async def call_apropriate_function( aria_instance, incoming_link, c_file_name, sent_message_to_update_tg_p, is_zip, cstom_file_name, is_cloud, is_unzip, user_message, client, ): if incoming_link.lower().startswith("magnet:"): sagtus, err_message = add_magnet(aria_instance, incoming_link, c_file_name) elif incoming_link.lower().endswith(".torrent"): sagtus, err_message = add_torrent(aria_instance, incoming_link) else: sagtus, err_message = add_url(aria_instance, incoming_link, c_file_name) if not sagtus: return sagtus, err_message LOGGER.info(err_message) # https://stackoverflow.com/a/58213653/4723940 await check_progress_for_dl(aria_instance, err_message, sent_message_to_update_tg_p, None) if incoming_link.startswith("magnet:"): # err_message = await check_metadata(aria_instance, err_message) # await asyncio.sleep(1) if err_message is not None: await check_progress_for_dl(aria_instance, err_message, sent_message_to_update_tg_p, None) else: return False, "can't get metadata \n\n#MetaDataError" await asyncio.sleep(1) file = aria_instance.get_download(err_message) to_upload_file = file.name com_g = file.is_complete # if is_zip: check_if_file = await create_archive(to_upload_file) if check_if_file is not None: to_upload_file = check_if_file # if is_unzip: try: check_ifi_file = get_base_name(to_upload_file) await unzip_me(to_upload_file) if os.path.exists(check_ifi_file): to_upload_file = check_ifi_file except Exception as ge: LOGGER.info(ge) LOGGER.info( f"Can't extract {os.path.basename(to_upload_file)}, Uploading the same file" ) if to_upload_file: if CUSTOM_FILE_NAME: if os.path.isfile(to_upload_file): os.rename(to_upload_file, f"{CUSTOM_FILE_NAME}{to_upload_file}") to_upload_file = f"{CUSTOM_FILE_NAME}{to_upload_file}" else: for root, _, files in os.walk(to_upload_file): LOGGER.info(files) for org in files: p_name = f"{root}/{org}" n_name = f"{root}/{CUSTOM_FILE_NAME}{org}" os.rename(p_name, n_name) to_upload_file = to_upload_file if cstom_file_name: os.rename(to_upload_file, cstom_file_name) to_upload_file = cstom_file_name # response = {} LOGGER.info(response) user_id = user_message.from_user.id if com_g: if is_cloud: await upload_to_gdrive(to_upload_file, sent_message_to_update_tg_p, user_message, user_id) else: final_response = await upload_to_tg(sent_message_to_update_tg_p, to_upload_file, user_id, response, client) if not final_response: return True, None try: message_to_send = "" for key_f_res_se in final_response: local_file_name = key_f_res_se message_id = final_response[key_f_res_se] channel_id = str(sent_message_to_update_tg_p.chat.id)[4:] private_link = f"https://t.me/c/{channel_id}/{message_id}" message_to_send += "👉 <a href='" message_to_send += private_link message_to_send += "'>" message_to_send += local_file_name message_to_send += "</a>" message_to_send += "\n" if message_to_send != "": mention_req_user = ( f"<a href='tg://user?id={user_id}'>Your Requested Files</a>\n\n" ) message_to_send = mention_req_user + message_to_send message_to_send = message_to_send + "\n\n" + "#uploads" else: message_to_send = "<i>FAILED</i> to upload files. 😞😞" await user_message.reply_text(text=message_to_send, quote=True, disable_web_page_preview=True) except Exception as go: LOGGER.error(go) return True, None