async def torrent_download(event): var = event.pattern_match.group(1) event.message if event.reply_to_msg_id: await event.get_reply_message() if not var: if event.is_reply: var = (await event.get_reply_message()).message else: await event.edit("`Herhangi bir makale yazmadınız, Waifu gidiyor.`" ) return if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') torrent_file_path = var torrent_file_path = torrent_file_path.replace("`", "") logger.info(torrent_file_path) try: # Add Torrent Into Queue download = aria2.add_torrent(torrent_file_path, uris=None, options={'dir': full_path}, position=None) except Exception as e: await event.edit("Hata:\n`{}`".format(str(e))) return gid = download.gid await progress_status(gid=gid, event=event, previous=None)
async def magnet_download(event): var = event.pattern_match.group(1) event.message if event.reply_to_msg_id: await event.get_reply_message() if not var: if event.is_reply: var = (await event.get_reply_message()).message else: await event.edit("`Herhangi bir makale yazmadınız, Waifu gidiyor.`" ) return if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') magnet_uri = var magnet_uri = magnet_uri.replace("`", "") logger.info(magnet_uri) try: # Add Magnet URI Into Queue download = aria2.add_magnet(magnet_uri) except Exception as e: logger.info(str(e)) await event.edit("Hata :\n{}".format(str(e))) return gid = download.gid await progress_status(gid=gid, event=event, previous=None) await asyncio.sleep(EDIT_SLEEP_TIME_OUT) new_gid = await check_metadata(gid) await progress_status(gid=new_gid, event=event, previous=None)
async def magnet_download(event): var = event.pattern_match.group(1) event.message if event.reply_to_msg_id: await event.get_reply_message() if not var: if event.is_reply: var = (await event.get_reply_message()).message else: await event.edit("`Herhangi bir makale yazmadınız, Waifu gidiyor.`" ) return if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') print(var) uris = [var] try: # Add URL Into Queue download = aria2.add_uris(uris, options={'dir': full_path}, position=None) except Exception as e: logger.info(str(e)) await event.edit("Hata :\n`{}`".format(str(e))) return gid = download.gid await progress_status(gid=gid, event=event, previous=None) file = aria2.get_download(gid) if file.followed_by_ids: new_gid = await check_metadata(gid) await progress_status(gid=new_gid, event=event, previous=None)
async def torrent_download(event): var = event.pattern_match.group(1) event.message if event.reply_to_msg_id: await event.get_reply_message() if not var: if event.is_reply: var = (await event.get_reply_message()).message else: await event.edit( "`You haven't written any article, Waifu is going away.`") return if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip(".") torrent_file_path = var torrent_file_path = torrent_file_path.replace("`", "") logger.info(torrent_file_path) try: # Add Torrent Into Queue download = aria2.add_torrent(torrent_file_path, uris=None, options={"dir": full_path}, position=None) except Exception as e: await event.edit("Error :\n`{}`".format(str(e))) return gid = download.gid await progress_status(gid=gid, event=event, previous=None)
--max-connection-per-server=10 \ --rpc-max-request-size=1024M \ --seed-time=0.01 \ --max-upload-limit=5K \ --max-concurrent-downloads=5 \ --min-split-size=10M \ --follow-torrent=mem \ --split=10 \ --bt-tracker={trackers} \ --daemon=true \ --allow-overwrite=true" subprocess_run(cmd) if not os.path.isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) download_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') aria2 = aria2p.API(aria2p.Client(host="http://localhost", port=6800, secret="")) aria2.set_global_options({'dir': download_path}) @register(outgoing=True, pattern="^\.amag(?: |$)(.*)") async def magnet_download(event): magnet_uri = event.pattern_match.group(1) # Add Magnet URI Into Queue try: download = aria2.add_magnet(magnet_uri) except Exception as e: LOGS.info(str(e))
import asyncio import os from random import choice, randint import requests from bs4 import BeautifulSoup as soup from PIL import Image from userbot import CMD_HELP, TEMP_DOWNLOAD_DIRECTORY from userbot.events import register down_p = str(TEMP_DOWNLOAD_DIRECTORY.rstrip("/")) @register(outgoing=True, pattern=r"^\.wall ?(.*)") async def wallp(event): if not os.path.isdir(down_p): os.makedirs(down_p) cat_id = event.chat_id input_str = event.pattern_match.group(1) if input_str: qu = input_str await event.edit(f"**Searching for **`{qu}`") try: link = await walld(str(qu)) except Exception as e: await event.edit(e) return if link: idl = await dlimg(link[0]) if link[0].endswith("png"):
async def download(gdrive, service, uri=None): global is_cancelled reply = "" """ - Download files to local then upload - """ if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) required_file_name = None if uri: full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip(".") if isfile(uri) and uri.endswith(".torrent"): downloads = aria2.add_torrent( uri, uris=None, options={"dir": full_path}, position=None ) else: uri = [uri] downloads = aria2.add_uris(uri, options={"dir": full_path}, position=None) gid = downloads.gid await check_progress_for_dl(gdrive, gid, previous=None) file = aria2.get_download(gid) filename = file.name if file.followed_by_ids: new_gid = await check_metadata(gid) await check_progress_for_dl(gdrive, new_gid, previous=None) try: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filenames except Exception: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filename else: try: current_time = time.time() is_cancelled = False downloaded_file_name = await gdrive.client.download_media( await gdrive.get_reply_message(), TEMP_DOWNLOAD_DIRECTORY, progress_callback=lambda d, t: asyncio.get_event_loop().create_task( progress( d, t, gdrive, current_time, "[ARQUIVO - DOWNLOAD]", is_cancelled=is_cancelled, ) ), ) except CancelProcess: reply += ( "`[ARQUIVO - CANCELADO]`\n\n" "`Status` : **OK** - sinal recebido: cancelado." ) return reply else: required_file_name = downloaded_file_name try: file_name = await get_raw_name(required_file_name) except AttributeError: reply += "`[ENTRY - ERRO]`\n\n" "`Status` : **FALHA**\n" return reply mimeType = await get_mimeType(required_file_name) try: status = "[ARQUIVO - UPLOAD]" if isfile(required_file_name): try: result = await upload( gdrive, service, required_file_name, file_name, mimeType ) except CancelProcess: reply += ( "`[ARQUIVO - CANCELADO]`\n\n" "`Status` : **OK** - sinal recebido: cancelado." ) return reply else: reply += ( f"`{status}`\n\n" f"`Nome :` `{file_name}`\n" f"`Tamanho :` `{humanbytes(result[0])}`\n" f"`Link :` [{file_name}]({result[1]})\n" "`Status :` **OK** - Upload concluído.\n\n" ) return reply else: status = status.replace("[ARQUIVO", "[PASTA") global parent_Id folder = await create_dir(service, file_name) parent_Id = folder.get("id") webViewURL = "https://drive.google.com/drive/folders/" + parent_Id try: await task_directory(gdrive, service, required_file_name) except CancelProcess: reply += ( "`[PASTA - CANCELADO]`\n\n" "`Status` : **OK** - sinal recebido: cancelado." ) await reset_parentId() return reply except Exception: await reset_parentId() else: reply += ( f"`{status}`\n\n" f"[{file_name}]({webViewURL})\n" "`Status` : **OK** - Upload concluído.\n\n" ) await reset_parentId() return reply except Exception as e: status = status.replace("DOWNLOAD]", "ERRO]") reply += f"`{status}`\n\n" "`Status` : **FALHA**\n" f"`Motivo` : `{str(e)}`\n\n" return reply return
async def download(gdrive, service, uri=None): global is_cancelled reply = '' """ - Download files to local then upload - """ if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) required_file_name = None if uri: full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') if isfile(uri) and uri.endswith(".torrent"): downloads = aria2.add_torrent(uri, uris=None, options={'dir': full_path}, position=None) else: uri = [uri] downloads = aria2.add_uris(uri, options={'dir': full_path}, position=None) gid = downloads.gid await check_progress_for_dl(gdrive, gid, previous=None) file = aria2.get_download(gid) filename = file.name if file.followed_by_ids: new_gid = await check_metadata(gid) await check_progress_for_dl(gdrive, new_gid, previous=None) try: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filenames except Exception: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filename else: try: current_time = time.time() is_cancelled = False downloaded_file_name = await gdrive.client.download_media( await gdrive.get_reply_message(), TEMP_DOWNLOAD_DIRECTORY, progress_callback=lambda d, t: asyncio.get_event_loop( ).create_task( progress(d, t, gdrive, current_time, "[FILE - DOWNLOAD]", is_cancelled=is_cancelled))) except CancelProcess: names = [] for name in os.listdir(TEMP_DOWNLOAD_DIRECTORY): names.append(join(TEMP_DOWNLOAD_DIRECTORY, name)) """ asumming newest files are the cancelled one """ newest = max(names, key=getctime) os.remove(newest) reply += ("`[FILE - CANCELLED]`\n\n" "`Status` : **OK** - received signal cancelled.") return reply else: required_file_name = downloaded_file_name try: file_name = await get_raw_name(required_file_name) except AttributeError: reply += ("`[ENTRY - ERROR]`\n\n" "`Status` : **BAD**\n") return reply mimeType = await get_mimeType(required_file_name) try: status = "[FILE - UPLOAD]" if isfile(required_file_name): try: result = await upload(gdrive, service, required_file_name, file_name, mimeType) except CancelProcess: reply += ("`[FILE - CANCELLED]`\n\n" "`Status` : **OK** - received signal cancelled.") return reply else: reply += (f"`{status}`\n\n" f"`Name :` `{file_name}`\n" f"`Size :` `{humanbytes(result[0])}`\n" f"`Link :` [{file_name}]({result[1]})\n" "`Status :` **OK** - Successfully uploaded.\n\n") return reply else: status = status.replace("[FILE", "[FOLDER") global parent_Id folder = await create_dir(service, file_name) parent_Id = folder.get('id') webViewURL = ("https://drive.google.com/drive/folders/" + parent_Id) try: await task_directory(gdrive, service, required_file_name) except CancelProcess: reply += ("`[FOLDER - CANCELLED]`\n\n" "`Status` : **OK** - received signal cancelled.") await reset_parentId() return reply except Exception: await reset_parentId() else: reply += (f"`{status}`\n\n" f"[{file_name}]({webViewURL})\n" "`Status` : **OK** - Successfully uploaded.\n\n") await reset_parentId() return reply except Exception as e: status = status.replace("DOWNLOAD]", "ERROR]") reply += (f"`{status}`\n\n" "`Status` : **failed**\n" f"`Reason` : `{str(e)}`\n\n") return reply return
import os from shutil import rmtree from time import time from deezloader import Login from hachoir.metadata import extractMetadata from hachoir.parser import createParser from requests import get from telethon.tl.types import DocumentAttributeAudio from userbot import CMD_HANDLER as cmd from userbot import CMD_HELP, DEEZER_ARL_TOKEN, TEMP_DOWNLOAD_DIRECTORY, bot from userbot.events import man_cmd if not TEMP_DOWNLOAD_DIRECTORY.endswith("/"): TEMP_DOWNLOAD_DIRECTORY += "/" @bot.on(man_cmd(outgoing=True, pattern=r"deezloader (.*) (flac|320|256|128)")) async def deeznuts(event): if DEEZER_ARL_TOKEN is None: return await event.edit("**Set** `DEEZER_ARL_TOKEN` **first.**") try: loader = Login(DEEZER_ARL_TOKEN) except Exception as e: return await event.edit(f"**Error:** `{e}`") try: link = get(event.pattern_match.group(1)).url
async def download(gdrive, service, uri=None): reply = '' """ - Download files to local then upload - """ if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) required_file_name = None if uri: full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip('.') if isfile(uri) and uri.endswith(".torrent"): downloads = aria2.add_torrent(uri, dict(dir=full_path), uris=None, position=None) else: uri = [uri] downloads = aria2.add_uris(uri, dict(dir=full_path), position=None) gid = downloads.gid await check_progress_for_dl(gdrive, gid, previous=None) file = aria2.get_download(gid) filename = file.name if file.followed_by_ids: new_gid = await check_metadata(gid) await check_progress_for_dl(gdrive, new_gid, previous=None) try: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filenames except Exception: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filename else: try: current_time = time.time() downloaded_file_name = await gdrive.client.download_media( await gdrive.get_reply_message(), TEMP_DOWNLOAD_DIRECTORY, progress_callback=lambda d, t: asyncio.get_event_loop( ).create_task( progress(d, t, gdrive, current_time, "`[FILE - DOWNLOAD]`") )) except Exception as e: await gdrive.edit(str(e)) else: required_file_name = downloaded_file_name try: file_name = await get_raw_name(required_file_name) except AttributeError: reply += ("`[ENTRY - ERROR]`\n\n" "`Status :` **BAD**\n") return reply mimeType = await get_mimeType(required_file_name) try: status = "[FILE - UPLOAD]" if isfile(required_file_name): result = await upload(gdrive, service, required_file_name, file_name, mimeType) reply += (f"`{status}`\n\n" f"`Name :` `{file_name}`\n" f"`Size :` `{humanbytes(result[0])}`\n" f"`Download :` [{file_name}]({result[1]})\n" "`Status :` **OK** - Successfully uploaded.\n\n") return reply else: status = status.replace("[FILE", "[FOLDER") global parent_Id folder = await create_dir(service, file_name) parent_Id = folder.get('id') try: await task_directory(gdrive, service, required_file_name) except Exception: await reset_parentId() else: webViewURL = ("https://drive.google.com/drive/folders/" + parent_Id) reply += (f"`{status}`\n\n" f"`Name :` `{file_name}`\n" "`Status :` **OK** - Successfully uploaded.\n" f"`URL :` [{file_name}]({webViewURL})\n\n") await reset_parentId() return reply except Exception as e: status = status.replace("DOWNLOAD]", "ERROR]") reply += (f"`{status}`\n\n" "`Status :` **failed**\n" f"`Reason :` `{str(e)}`\n\n") return reply return
async def download(gdrive, service, uri=None): global is_cancelled reply = "" """ - Download files to local then upload - """ if not isdir(TEMP_DOWNLOAD_DIRECTORY): os.makedirs(TEMP_DOWNLOAD_DIRECTORY) required_file_name = None if uri: full_path = os.getcwd() + TEMP_DOWNLOAD_DIRECTORY.strip(".") if isfile(uri) and uri.endswith(".torrent"): downloads = aria2.add_torrent(uri, uris=None, options={"dir": full_path}, position=None) else: uri = [uri] downloads = aria2.add_uris(uri, options={"dir": full_path}, position=None) gid = downloads.gid await check_progress_for_dl(gdrive, gid, previous=None) file = aria2.get_download(gid) filename = file.name if file.followed_by_ids: new_gid = await check_metadata(gid) await check_progress_for_dl(gdrive, new_gid, previous=None) try: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filenames except Exception: required_file_name = TEMP_DOWNLOAD_DIRECTORY + filename else: try: current_time = time.time() is_cancelled = False downloaded_file_name = await gdrive.client.download_media( await gdrive.get_reply_message(), TEMP_DOWNLOAD_DIRECTORY, progress_callback=lambda d, t: asyncio.get_event_loop(). create_task( progress( d, t, gdrive, current_time, "[FILE - DOWNLOAD]", is_cancelled=is_cancelled, )), ) except CancelProcess: reply += ("`[FILE - DIBATALKAN]`\n\n" "`Status` : **OK** - sinyal yang diterima dibatalkan.") return reply else: required_file_name = downloaded_file_name try: file_name = await get_raw_name(required_file_name) except AttributeError: reply += "`[MASUK- ERROR]`\n\n" "`Status` : **BAD**\n" return reply mimeType = await get_mimeType(required_file_name) try: status = "[FILE - UPLOAD]" if isfile(required_file_name): try: result = await upload(gdrive, service, required_file_name, file_name, mimeType) except CancelProcess: reply += ( "`[FILE - DIBATALKAN]`\n\n" "`Status` : **OK** - sinyal yang diterima dibatalkan.") return reply else: reply += (f"`{status}`\n\n" f"`Nama :` `{file_name}`\n" f"`Ukuran :` `{humanbytes(result[0])}`\n" f"`Link :` [{file_name}]({result[1]})\n" "`Status :` **OK** - Berhasil diunggah.\n\n") return reply else: status = status.replace("[FILE", "[FOLDER") global parent_Id folder = await create_dir(service, file_name) parent_Id = folder.get("id") webViewURL = "https://drive.google.com/drive/folders/" + parent_Id try: await task_directory(gdrive, service, required_file_name) except CancelProcess: reply += ( "`[FOLDER - DIBATALKAN]`\n\n" "`Status` : **OK** - sinyal yang diterima dibatalkan.") await reset_parentId() return reply except Exception: await reset_parentId() else: reply += (f"`{status}`\n\n" f"[{nama-file}]({webViewURL})\n" "`Status` : **OK** - Berhasil Diunggah.\n\n") await reset_parentId() return reply except Exception as e: status = status.replace("DOWNLOAD]", "ERROR]") reply += (f"`{status}`\n\n" "`Status` : **GAGAL**\n" f"`Alasan` : `{str(e)}`\n\n") return reply return