Spaces:
Runtime error
Runtime error
import re | |
import hashlib | |
import asyncio | |
import shlex | |
import os | |
from os.path import basename | |
import os.path | |
from PIL import Image | |
from yt_dlp import YoutubeDL | |
from typing import Optional, Union | |
from Zaid import Zaid as bot | |
LOGS = {} | |
SUDO_USERS = {} | |
from telethon.tl.functions.channels import GetParticipantRequest | |
from telethon.tl.types import ChannelParticipantAdmin, ChannelParticipantCreator, DocumentAttributeFilename | |
async def is_admin(chat_id, user_id): | |
req_jo = await bot(GetParticipantRequest( | |
channel=chat_id, | |
user_id=user_id | |
)) | |
chat_participant = req_jo.participant | |
if isinstance( | |
chat_participant, | |
ChannelParticipantCreator) or isinstance( | |
chat_participant, | |
ChannelParticipantAdmin): | |
return True | |
return False | |
# https://github.com/TeamUltroid/pyUltroid/blob/31c271cf4d35ab700e5880e952e54c82046812c2/pyUltroid/functions/helper.py#L154 | |
async def bash(cmd): | |
process = await asyncio.create_subprocess_shell( | |
cmd, | |
stdout=asyncio.subprocess.PIPE, | |
stderr=asyncio.subprocess.PIPE, | |
) | |
stdout, stderr = await process.communicate() | |
err = stderr.decode().strip() | |
out = stdout.decode().strip() | |
return out, err | |
ydl_opts = { | |
"format": "best", | |
"geo-bypass": True, | |
"noprogress": True, | |
"user-agent": "Mozilla/5.0 (Linux; Android 7.0; k960n_mt6580_32_n) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36", | |
"extractor-args": "youtube:player_client=all", | |
"nocheckcertificate": True, | |
"outtmpl": "downloads/%(id)s.%(ext)s", | |
} | |
ydl = YoutubeDL(ydl_opts) | |
def download_lagu(url: str) -> str: | |
info = ydl.extract_info(url, download=False) | |
ydl.download([url]) | |
return os.path.join("downloads", f"{info['id']}.{info['ext']}") | |