azils3/bash
0
1# Ultroid - UserBot2# Copyright (C) 2021-2025 TeamUltroid3#4# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >5# PLease read the GNU Affero General Public License in6# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.7"""8✘ Commands Available -9 10• `{i}yta <(youtube/any) link>`11 Download audio from the link.12 13• `{i}ytv <(youtube/any) link>`14 Download video from the link.15 16• `{i}ytsa <(youtube) search query>`17 Search and download audio from youtube.18 19• `{i}ytsv <(youtube) search query>`20 Search and download video from youtube.21"""22from pyUltroid.fns.ytdl import download_yt, get_yt_link23 24from . import get_string, requests, ultroid_cmd25 26 27@ultroid_cmd(28 pattern="yt(a|v|sa|sv) ?(.*)",29)30async def download_from_youtube_(event):31 ytd = {32 "prefer_ffmpeg": True,33 "addmetadata": True,34 "geo-bypass": True,35 "nocheckcertificate": True,36 }37 opt = event.pattern_match.group(1).strip()38 xx = await event.eor(get_string("com_1"))39 if opt == "a":40 ytd["format"] = "bestaudio"41 ytd["outtmpl"] = "%(id)s.m4a"42 url = event.pattern_match.group(2)43 if not url:44 return await xx.eor(get_string("youtube_1"))45 try:46 requests.get(url)47 except BaseException:48 return await xx.eor(get_string("youtube_2"))49 elif opt == "v":50 ytd["format"] = "best"51 ytd["outtmpl"] = "%(id)s.mp4"52 ytd["postprocessors"] = [{"key": "FFmpegMetadata"}]53 url = event.pattern_match.group(2)54 if not url:55 return await xx.eor(get_string("youtube_3"))56 try:57 requests.get(url)58 except BaseException:59 return await xx.eor(get_string("youtube_4"))60 elif opt == "sa":61 ytd["format"] = "bestaudio"62 ytd["outtmpl"] = "%(id)s.m4a"63 try:64 query = event.text.split(" ", 1)[1]65 except IndexError:66 return await xx.eor(get_string("youtube_5"))67 url = get_yt_link(query)68 if not url:69 return await xx.edit(get_string("unspl_1"))70 await xx.eor(get_string("youtube_6"))71 elif opt == "sv":72 ytd["format"] = "best"73 ytd["outtmpl"] = "%(id)s.mp4"74 ytd["postprocessors"] = [{"key": "FFmpegMetadata"}]75 try:76 query = event.text.split(" ", 1)[1]77 except IndexError:78 return await xx.eor(get_string("youtube_7"))79 url = get_yt_link(query)80 if not url:81 return await xx.edit(get_string("unspl_1"))82 await xx.eor(get_string("youtube_8"))83 else:84 return85 await download_yt(xx, url, ytd)86 