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
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:
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]]
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_
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]]