Пример #1
0
 async def startCall(self):
     if VIDEO_ON:
         for chats in VIDEO_ON:
             await VIDEO_ON[chats].stop()
         VIDEO_ON.clear()
         await asyncio.sleep(3)
     if self._video:
         for chats in list(CLIENTS):
             if chats != self._chat:
                 await CLIENTS[chats].stop()
                 del CLIENTS[chats]
         VIDEO_ON.update({self._chat: self.group_call})
     if self._chat not in ACTIVE_CALLS:
         try:
             self.group_call.on_network_status_changed(
                 self.on_network_changed)
             self.group_call.on_playout_ended(self.playout_ended_handler)
             await self.group_call.join(self._chat)
         except GroupCallNotFoundError as er:
             LOGS.info(er)
             dn, err = await self.make_vc_active()
             if err:
                 return False, err
         except Exception as e:
             LOGS.exception(e)
             return False, e
     return True, None
Пример #2
0
import sys
from os import listdir, path
from typing import Any, Dict, List, Union

from pyUltroid import udB, LOGS
try:
    from google_trans_new import google_translator
    Trs = google_translator()
except ImportError:
    LOGS.info("'google_trans_new' not installed!")
    Trs = None

try:
    from yaml import safe_load
except ModuleNotFoundError:
    LOGS.info("'pyYaml' not installed!\nPlease install it to use Ultroid.")
    sys.exit()

language = [udB.get_key("language") or "en"]
languages = {}

strings_folder = path.join(path.dirname(path.realpath(__file__)), "strings")

for file in listdir(strings_folder):
    if file.endswith(".yml"):
        code = file[:-4]
        try:
            languages[code] = safe_load(
                open(path.join(strings_folder, file), encoding="UTF-8"),
            )
        except Exception as er:
Пример #3
0
from pyUltroid.functions.admins import admin_check
from pyUltroid.functions.tools import is_url_ok
from pyUltroid.functions.ytdl import get_videos_link
from pyUltroid.misc import owner_and_sudos, sudoers
from pyUltroid.misc._assistant import in_pattern
from pyUltroid.misc._wrappers import eod, eor
from pyUltroid.version import __version__ as UltVer
from telethon import events
from telethon.tl import functions, types
from telethon.utils import get_display_name

try:
    from youtube_dl import YoutubeDL
except ImportError:
    YoutubeDL = None
    LOGS.info("'YoutubeDL' not found!")

from youtubesearchpython import Playlist, ResultMode, Video, VideosSearch

from strings import get_string

asstUserName = asst.me.username
LOG_CHANNEL = udB.get_key("LOG_CHANNEL")
ACTIVE_CALLS, VC_QUEUE = [], {}
MSGID_CACHE, VIDEO_ON = {}, {}
CLIENTS = {}


def VC_AUTHS():
    _vcsudos = udB.get_key("VC_SUDOS") or []
    return [int(a) for a in [*owner_and_sudos(), *_vcsudos]]
Пример #4
0
        return out


language = [udB.get_key("language") or "en"]
languages = {}

strings_folder = path.join(path.dirname(path.realpath(__file__)), "strings")

for file in listdir(strings_folder):
    if file.endswith(".yml"):
        code = file[:-4]
        try:
            languages[code] = safe_load(
                open(path.join(strings_folder, file), encoding="UTF-8"), )
        except Exception as er:
            LOGS.info(f"Error in {file[:-4]} language file")
            LOGS.exception(er)


def get_string(key: str) -> Any:
    lang = language[0]
    try:
        return languages[lang][key]
    except KeyError:
        try:
            en_ = languages["en"][key]
            if not Trs:
                return en_
            tr = Trs.translate(en_, lang_tgt=lang).replace("\ N", "\n")
            if en_.count("{}") != tr.count("{}"):
                tr = en_
Пример #5
0
from pyUltroid.functions.admins import admin_check
from pyUltroid.functions.tools import is_url_ok
from pyUltroid.functions.ytdl import get_videos_link
from pyUltroid.misc import owner_and_sudos, sudoers
from pyUltroid.misc._assistant import in_pattern
from pyUltroid.misc._wrappers import eod, eor
from pyUltroid.version import __version__ as UltVer
from telethon import events
from telethon.tl import functions, types
from telethon.utils import get_display_name

try:
    from yt_dlp import YoutubeDL
except ImportError:
    YoutubeDL = None
    LOGS.info("'yt-dlp' not found!")

from youtubesearchpython import Playlist, ResultMode, Video, VideosSearch

from strings import get_string

asstUserName = asst.me.username
LOG_CHANNEL = udB.get_key("LOG_CHANNEL")
ACTIVE_CALLS, VC_QUEUE = [], {}
MSGID_CACHE, VIDEO_ON = {}, {}
CLIENTS = {}


def VC_AUTHS():
    _vcsudos = udB.get_key("VC_SUDOS") or []
    return [int(a) for a in [*owner_and_sudos(), *_vcsudos]]