Browse Source

Removed ytdl

TheHamkerCat 5 years ago
parent
commit
f38cd89443
1 changed files with 0 additions and 147 deletions
  1. 0 147
      wbb/modules/ytdl.py

+ 0 - 147
wbb/modules/ytdl.py

@@ -1,147 +0,0 @@
-"""
-MIT License
-
-Copyright (c) 2021 TheHamkerCat
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-"""
-import traceback
-from asyncio import gather
-from os import remove
-from random import randint
-
-from pykeyboard import InlineKeyboard
-from pyrogram import filters
-from pyrogram.types import InlineKeyboardButton
-
-from wbb import app, arq
-from wbb.core.decorators.errors import capture_err
-from wbb.utils.formatter import \
-    convert_seconds_to_minutes as timeFormat
-from wbb.utils.functions import downloader
-
-__MODULE__ = "YoutubeDL"
-__HELP__ = "/ytdl [VIDEO_LINK] - Download a youtube video."
-
-
-VIDEO_DATA = {}
-
-
-@app.on_message(filters.command("ytdl"))
-@capture_err
-async def ytdl_func(_, message):
-    if len(message.command) != 2:
-        return await message.reply_text(
-            "**Usage:**/ytdl [VIDEO_LINK]"
-        )
-    m = await message.reply_text("Processing")
-    url = message.text.split(None, 1)[1]
-    results = await arq.ytdl(url)
-    if not results.ok:
-        return await m.edit(results.result)
-    result = results.result
-    title = result.title
-    thumbnail = result.thumbnail
-    duration = result.duration
-    video = result.video
-    buttons = InlineKeyboard(row_width=3)
-    keyboard = []
-    for media in video:
-        quality = media.quality
-        size = media.size
-        url = media.url
-        format = media.format
-        data = str(randint(999, 9999999))
-        VIDEO_DATA[data] = {
-            "url": url,
-            "title": title,
-            "quality": quality,
-            "duration": duration,
-            "format": format,
-            "thumbnail": thumbnail,
-            "cc": message.from_user.mention
-            if message.from_user
-            else "Anon",
-        }
-        keyboard.append(
-            InlineKeyboardButton(
-                text=f"{quality} | {size}",
-                callback_data=f"ytdl {data}",
-            )
-        )
-    buttons.add(*keyboard)
-    caption = f"""
-**Title:** {title}
-**Duration:** {await timeFormat(duration)}
-"""
-    await message.reply_photo(
-        thumbnail, caption=caption, reply_markup=buttons
-    )
-    await m.delete()
-
-
-@app.on_callback_query(filters.regex(r"^ytdl"))
-async def ytdlCallback(_, cq):
-    await cq.message.edit("Downloading")
-    data_ = cq.data.split()[1]
-    try:
-        data = VIDEO_DATA[data_]
-        url = data["url"]
-        title = data["title"]
-        duration = data["duration"]
-        format = data["format"]
-        thumbnail = data["thumbnail"]
-        cc = data["cc"]
-        caption = f"""
-**Title:** {title}
-**Format:** {format}
-**Duration:** {await timeFormat(duration)}
-**CC:** {cc}
-        """
-        media, thumb = await gather(
-            downloader.download(url), downloader.download(thumbnail)
-        )
-        await cq.message.edit("Uploading")
-        if format == "mp3":
-            await cq.message.reply_audio(
-                media,
-                quote=False,
-                caption=caption,
-                duration=duration,
-                thumb=thumb,
-                title=title,
-            )
-        else:
-            await cq.message.reply_video(
-                media,
-                caption=caption,
-                quote=False,
-                duration=duration,
-                thumb=thumb,
-                supports_streaming=True,
-            )
-        del VIDEO_DATA[data_]
-        remove(thumb)
-        remove(media)
-        await cq.message.delete()
-    except Exception as e:
-        e = traceback.format_exc()
-        print(e)
-        del VIDEO_DATA[data_]
-        await cq.message.delete()