xteamki's picture
Upload 6 files
a58f1cc verified
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']}")