diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..096343999f8d34d83bac806896b6aa711ce5a9c6 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.env +.cache +Yukkilogs.txt +.DS_Store +*.session +raw_files/ +cache/ +downloads/ +__pycache__/ +*.session-journal diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..a6344aac8c09253b3b630fb776ae94478aa0275b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..096343999f8d34d83bac806896b6aa711ce5a9c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.env +.cache +Yukkilogs.txt +.DS_Store +*.session +raw_files/ +cache/ +downloads/ +__pycache__/ +*.session-journal diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b113c0edbb447ac0fb064072abe96a3d953bae02 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM nikolaik/python-nodejs:python3.9-nodejs18 +RUN apt-get update -y && apt-get upgrade -y \ + && apt-get install -y --no-install-recommends ffmpeg \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* +COPY . /app + +RUN chmod 777 /app +WORKDIR /app +RUN pip3 install --no-cache-dir --upgrade --requirement requirements.txt + +CMD ["python", "-u","-m", "YukkiMusic"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..62b404219b17338d48d9726aadeac0208f559777 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Team Yukki + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..823facbfc9d95d9122a5968b3559491edda58947 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +--- +title: One Stream +emoji: 📈 +colorFrom: indigo +colorTo: gray +sdk: docker +pinned: false +license: gpl-2.0 +--- + +Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference diff --git a/YukkiMusic/__init__.py b/YukkiMusic/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a3a86c60477deefc5fe6c9edcef7cdc22ebed366 --- /dev/null +++ b/YukkiMusic/__init__.py @@ -0,0 +1,48 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from YukkiMusic.core.bot import YukkiBot +from YukkiMusic.core.dir import dirr +from YukkiMusic.core.git import git +from YukkiMusic.core.userbot import Userbot +from YukkiMusic.misc import dbb, heroku, sudo + +from .logging import LOGGER + + +# Directories +dirr() + +# Check Git Updates +git() + +# Initialize Memory DB +dbb() + +# Heroku APP +heroku() + +# Load Sudo Users from DB +sudo() + +# Bot Client +app = YukkiBot() + +# Assistant Client +userbot = Userbot() + +from .platforms import * + +YouTube = YouTubeAPI() +Carbon = CarbonAPI() +Spotify = SpotifyAPI() +Apple = AppleAPI() +Resso = RessoAPI() +SoundCloud = SoundAPI() +Telegram = TeleAPI() diff --git a/YukkiMusic/__main__.py b/YukkiMusic/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..38730b1e303fd4e13d6430490518801d96984334 --- /dev/null +++ b/YukkiMusic/__main__.py @@ -0,0 +1,86 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import importlib +import sys +from aiohttp import web +from pyrogram import idle +from pytgcalls.exceptions import NoActiveGroupCall + +import config +from config import BANNED_USERS +from YukkiMusic import LOGGER, app, userbot +from .alive import web_server +from YukkiMusic.core.call import Yukki +from YukkiMusic.plugins import ALL_MODULES +from YukkiMusic.utils.database import get_banned_users, get_gbanned + +loop = asyncio.get_event_loop() +server = web.AppRunner(web_server()) + +async def init(): + await server.setup() + await web.TCPSite(server,'0.0.0.0', 7860).start() + print("------------------------------Web Server Started ------------------------------") + + if ( + not config.STRING1 + and not config.STRING2 + and not config.STRING3 + and not config.STRING4 + and not config.STRING5 + ): + LOGGER("YukkiMusic").error( + "No Assistant Clients Vars Defined!.. Exiting Process." + ) + return + if ( + not config.SPOTIFY_CLIENT_ID + and not config.SPOTIFY_CLIENT_SECRET + ): + LOGGER("YukkiMusic").warning( + "No Spotify Vars defined. Your bot won't be able to play spotify queries." + ) + try: + users = await get_gbanned() + for user_id in users: + BANNED_USERS.add(user_id) + users = await get_banned_users() + for user_id in users: + BANNED_USERS.add(user_id) + except: + pass + await app.start() + for all_module in ALL_MODULES: + importlib.import_module("YukkiMusic.plugins" + all_module) + LOGGER("Yukkimusic.plugins").info("Successfully Imported Modules ") + + await userbot.start() + await Yukki.start() + try: + await Yukki.stream_call( + "http://docs.evostream.com/sample_content/assets/sintel1m720p.mp4" + ) + except NoActiveGroupCall: + LOGGER("YukkiMusic").error( + "[ERROR] - \n\nPlease turn on your Logger Group's Voice Call. Make sure you never close/end voice call in your log group" + ) + sys.exit() + except: + pass + await Yukki.decorators() + LOGGER("YukkiMusic").info("Yukki Music Bot Started Successfully") + await idle() + + +if __name__ == "__main__": + #keep_alive() + loop.run_until_complete(init()) + LOGGER("YukkiMusic").info("Stopping Yukki Music Bot! GoodBye") diff --git a/YukkiMusic/core/bot.py b/YukkiMusic/core/bot.py new file mode 100644 index 0000000000000000000000000000000000000000..877f785e8d33ae4f74cddff2e2a3ee5741c46b7a --- /dev/null +++ b/YukkiMusic/core/bot.py @@ -0,0 +1,73 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import sys + +from pyrogram import Client +from pyrogram.types import BotCommand + +import config + +from ..logging import LOGGER + + +class YukkiBot(Client): + + def __init__(self): + LOGGER(__name__).info(f"Starting Bot") + super().__init__( + "YukkiMusicBot", + api_id=config.API_ID, + api_hash=config.API_HASH, + bot_token=config.BOT_TOKEN, + ) + + async def start(self): + await super().start() + get_me = await self.get_me() + self.username = get_me.username + self.id = get_me.id + try: + await self.send_message(config.LOG_GROUP_ID, "Bot Started") + except: + LOGGER(__name__).error( + "Bot has failed to access the log Group. Make sure that you have added your bot to your log channel and promoted as admin!" + ) + sys.exit() + if config.SET_CMDS : + try: + await self.set_bot_commands([ + BotCommand("ping", "Check that bot is alive or dead"), + BotCommand("play", "Starts playing the requested song"), + BotCommand("webapp","Open webapp of the music bot for your chat."), + BotCommand("skip", "Moves to the next track in queue"), + BotCommand("pause", "Pause the current playing song"), + BotCommand("resume", "Resume the paused song"), + BotCommand("end", "Clear the queue and leave voice chat"), + BotCommand("shuffle", "Randomly shuffles the queued playlist."), + BotCommand("playmode","Allows you to change the default playmode for your chat"), + BotCommand("settings","Open the settings of the music bot for your chat.") + ]) + except: + pass + else: + pass + a = await self.get_chat_member(config.LOG_GROUP_ID, self.id) + #print(a) + '''if a.status != "ChatMemberStatus.ADMINISTRATOR": + LOGGER(__name__).error( + "Please promote Bot as Admin in Logger Group" + ) + sys.exit()''' + if get_me.last_name: + self.name = get_me.first_name + " " + get_me.last_name + else: + self.name = get_me.first_name + LOGGER(__name__).info(f"MusicBot Started as {self.name}") + diff --git a/YukkiMusic/core/call.py b/YukkiMusic/core/call.py new file mode 100644 index 0000000000000000000000000000000000000000..aadc8f20aca20ee611baceabde151fbe99033a6c --- /dev/null +++ b/YukkiMusic/core/call.py @@ -0,0 +1,750 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +from datetime import datetime, timedelta +from typing import Union + +from pyrogram import Client +from pyrogram.errors import (ChatAdminRequired, UserAlreadyParticipant, + UserNotParticipant) +from pyrogram.types import InlineKeyboardMarkup +from pytgcalls import PyTgCalls, StreamType +from pytgcalls.exceptions import (AlreadyJoinedError, NoActiveGroupCall) +from pytgcalls.types import (JoinedGroupCallParticipant, + LeftGroupCallParticipant, Update) +from pytgcalls.types.stream.legacy import AudioPiped, AudioVideoPiped +from pytgcalls.types.stream import MediaStream +from pytgcalls.types.stream import StreamAudioEnded + +import config +from strings import get_string +from YukkiMusic import LOGGER, YouTube, app +from YukkiMusic.misc import db +from YukkiMusic.utils.database import (add_active_chat, add_active_video_chat, + get_assistant, get_audio_bitrate, + get_lang, get_loop, get_video_bitrate, + group_assistant, is_autoend, music_on, + mute_off, remove_active_chat, + remove_active_video_chat, set_loop) +from YukkiMusic.utils.exceptions import AssistantErr +from YukkiMusic.utils.inline.play import (stream_markup, telegram_markup) +from YukkiMusic.utils.stream.autoclear import auto_clean +from YukkiMusic.utils.thumbnails import gen_thumb + +autoend = {} +counter = {} +AUTO_END_TIME = 3 + + +async def _clear_(chat_id): + db[chat_id] = [] + await remove_active_video_chat(chat_id) + await remove_active_chat(chat_id) + + +class Call(PyTgCalls): + + def __init__(self): + self.userbot1 = Client( + name="1", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING1), + ) + self.one = PyTgCalls( + self.userbot1, + cache_duration=100, + ) + self.userbot2 = Client( + name="2", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING2), + ) + self.two = PyTgCalls( + self.userbot2, + cache_duration=100, + ) + self.userbot3 = Client( + name="3", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING3), + ) + self.three = PyTgCalls( + self.userbot3, + cache_duration=100, + ) + self.userbot4 = Client( + name="4", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING4), + ) + self.four = PyTgCalls( + self.userbot4, + cache_duration=100, + ) + self.userbot5 = Client( + name="5", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING5), + + ) + self.five = PyTgCalls( + self.userbot5, + cache_duration=100, + ) + + async def pause_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + await assistant.pause_stream(chat_id) + + async def resume_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + await assistant.resume_stream(chat_id) + + async def mute_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + await assistant.mute_stream(chat_id) + + async def unmute_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + await assistant.unmute_stream(chat_id) + + async def stop_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + try: + await _clear_(chat_id) + await assistant.leave_group_call(chat_id) + except: + pass + + async def force_stop_stream(self, chat_id: int): + assistant = await group_assistant(self, chat_id) + try: + check = db.get(chat_id) + check.pop(0) + except: + pass + await remove_active_video_chat(chat_id) + await remove_active_chat(chat_id) + try: + await assistant.leave_group_call(chat_id) + except: + pass + + async def skip_stream(self, + chat_id: int, + link: str, + video: Union[bool, str] = None): + assistant = await group_assistant(self, chat_id) + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + stream = (AudioVideoPiped( + link, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if video else AudioPiped(link, audio_parameters=audio_stream_quality)) + await assistant.change_stream( + chat_id, + stream, + ) + + async def seek_stream(self, chat_id, file_path, to_seek, duration, mode): + assistant = await group_assistant(self, chat_id) + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + stream = (AudioVideoPiped( + file_path, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + additional_ffmpeg_parameters=f"-ss {to_seek} -to {duration}", + ) if mode == "video" else AudioPiped( + file_path, + audio_parameters=audio_stream_quality, + additional_ffmpeg_parameters=f"-ss {to_seek} -to {duration}", + )) + await assistant.change_stream(chat_id, stream) + + async def stream_call(self, link): + assistant = await group_assistant(self, config.LOG_GROUP_ID) + await assistant.join_group_call( + config.LOG_GROUP_ID, + AudioVideoPiped(link), + #stream_type=StreamType().pulse_stream, + ) + await asyncio.sleep(0.5) + await assistant.leave_group_call(config.LOG_GROUP_ID) + ##################################################################################################### + '''async def live_call(self): + assistant = await group_assistant(self, config.LOG_GROUP_ID) + video_url="https://rr3---sn-gwpa-jj0k.googlevideo.com/videoplayback?expire=1720992868&ei=BPCTZo2hIcms9fwPxuiMoAQ&ip=34.93.83.202&id=o-AMlVXbysivqlwX1nPegSYVckA8UO6qOI1HNjA_C3ILVm&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&bui=AXc671JgbdicNDMCvD64suPqy3V2hQF-GNxvsTkZ4Qpvo2dmu4bM_1b8SqzJ_I9_xQETqJurEz1vxgA2&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=73860085&dur=221.916&lmt=1720511440920986&keepalive=yes&lmw=1&c=ANDROID_TV&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAOjSd5GnA0fj9-jgOyQmW1sXSKx8WClSlO75pIYEZmjlAiEAkhn6qXR6My5_e1z4RBR6C6uGmYKrgaGnhWPYJ9S9ljc%3D&redirect_counter=1&rm=sn-cvh6l7e&fexp=24350516,24350518&req_id=f179ac02cc1ba3ee&cms_redirect=yes&cmsv=e&ipbypass=yes&mh=_i&mip=2409:40e1:1f:e1b6:6820:58cf:6a51:f4ca&mm=31&mn=sn-gwpa-jj0k&ms=au&mt=1720970964&mv=m&mvi=3&pl=48&lsparams=ipbypass,mh,mip,mm,mn,ms,mv,mvi,pl&lsig=AHlkHjAwRQIhAOJXJOUSYjnXhP8mIhp7BXilkWg27LhQwSgFo7h7Sqr9AiBFk9gtmm9mYJoANtxtJDYO92RdMgOq_AXd9D-mcxHuyw%3D%3D" + audio_url="https://rr3---sn-gwpa-jj0k.googlevideo.com/videoplayback?expire=1720992868&ei=BPCTZo2hIcms9fwPxuiMoAQ&ip=34.93.83.202&id=o-AMlVXbysivqlwX1nPegSYVckA8UO6qOI1HNjA_C3ILVm&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&bui=AXc671JgbdicNDMCvD64suPqy3V2hQF-GNxvsTkZ4Qpvo2dmu4bM_1b8SqzJ_I9_xQETqJurEz1vxgA2&vprv=1&mime=audio%2Fwebm&rqh=1&gir=yes&clen=3994328&dur=221.941&lmt=1720508953333763&keepalive=yes&lmw=1&c=ANDROID_TV&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgDKbPBz-4y2_EOaOVAA99AggLmKgrfnV21tW1KGXdPPICIQD3ZGqgy9ewLeEK2-WHYpE7P1-Lqm48qYyWOOwZzuvHCA%3D%3D&redirect_counter=1&rm=sn-cvh6l7e&fexp=24350516,24350518&req_id=877fdd961f2a3ee&cms_redirect=yes&cmsv=e&ipbypass=yes&mh=_i&mip=2409:40e1:1f:e1b6:6820:58cf:6a51:f4ca&mm=31&mn=sn-gwpa-jj0k&ms=au&mt=1720970964&mv=m&mvi=3&pl=48&lsparams=ipbypass,mh,mip,mm,mn,ms,mv,mvi,pl&lsig=AHlkHjAwRAIgJmYgFL-esOsvjZ0cLdtkGojJf2RAvyY3BghjEGHqxI4CIDMb2rdPML37UNGuGCZbrkwsKjgfI5FAZ3fOGO-3VO7X" + + await assistant.join_group_call( + config.LOG_GROUP_ID, + MediaStream( + media_path=video_url, + audio_path=audio_url, + ), + #stream_type=StreamType().pulse_stream, + ) + +''' + async def join_assistant(self, original_chat_id, chat_id): + language = await get_lang(original_chat_id) + _ = get_string(language) + userbot = await get_assistant(chat_id) + try: + try: + get = await app.get_chat_member(chat_id, userbot.id) + except ChatAdminRequired: + raise AssistantErr(_["call_1"]) + if get.status == "banned" or get.status == "kicked": + raise AssistantErr(_["call_2"].format(userbot.username, userbot.id)) + except UserNotParticipant: + chat = await app.get_chat(chat_id) + if chat.username: + try: + await userbot.join_chat(chat.username) + except UserAlreadyParticipant: + pass + except Exception as e: + raise AssistantErr(_["call_3"].format(e)) + else: + try: + try: + try: + invitelink = chat.invite_link + if invitelink is None: + invitelink = (await app.export_chat_invite_link(chat_id)) + except: + invitelink = (await app.export_chat_invite_link(chat_id)) + except ChatAdminRequired: + raise AssistantErr(_["call_4"]) + except Exception as e: + raise AssistantErr(e) + m = await app.send_message(original_chat_id, _["call_5"]) + if invitelink.startswith("https://t.me/+"): + invitelink = invitelink.replace("https://t.me/+", + "https://t.me/joinchat/") + await asyncio.sleep(3) + await userbot.join_chat(invitelink) + await asyncio.sleep(4) + await m.edit(_["call_6"].format(userbot.name)) + except UserAlreadyParticipant: + pass + except Exception as e: + raise AssistantErr(_["call_3"].format(e)) + + async def join_call( + self, + chat_id: int, + original_chat_id: int, + link, + video: Union[bool, str] = None, + ): + assistant = await group_assistant(self, chat_id) + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + stream = (AudioVideoPiped( + link, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if video else AudioPiped(link, audio_parameters=audio_stream_quality)) + try: + print("join call") + await assistant.join_group_call( + chat_id, + stream, + #stream_type=StreamType().pulse_stream, + ) + except NoActiveGroupCall: + try: + await self.join_assistant(original_chat_id, chat_id) + except Exception as e: + raise e + try: + await assistant.join_group_call( + chat_id, + stream, + #stream_type=StreamType().pulse_stream, + ) + except Exception as e: + raise AssistantErr( + "**No Active Voice Chat Found**\n\nPlease make sure group's voice chat is enabled. If already enabled, please end it and start fresh voice chat again and if the problem continues, try /restart" + ) + except AlreadyJoinedError: + raise AssistantErr( + "**Assistant Already in Voice Chat**\n\nSystems have detected that assistant is already there in the voice chat, this issue generally comes when you play 2 queries together.\n\nIf assistant is not present in voice chat, please end voice chat and start fresh voice chat again and if the problem continues, try /restart" + ) + '''except TelegramServerError: + raise AssistantErr( + "**Telegram Server Error**\n\nTelegram is having some internal server problems, Please try playing again.\n\n If this problem keeps coming everytime, please end your voice chat and start fresh voice chat again." + )''' + await add_active_chat(chat_id) + await mute_off(chat_id) + await music_on(chat_id) + if video: + await add_active_video_chat(chat_id) + if await is_autoend(): + counter[chat_id] = {} + users = len(await assistant.get_participants(chat_id)) + if users == 1: + autoend[chat_id] = datetime.now() + timedelta(minutes=AUTO_END_TIME) + + async def join_live_call( + self, + chat_id: int, + original_chat_id: int, + link, + video: Union[bool, str] = None, + ): + assistant = await group_assistant(self, chat_id) + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + '''stream = (AudioVideoPiped( + link, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if video else AudioPiped(link, audio_parameters=audio_stream_quality))''' + try: + print("join live call") + if video: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=link, + video_parameters=video_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + else: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=link, + audio_parameters=audio_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + except NoActiveGroupCall: + try: + await self.join_assistant(original_chat_id, chat_id) + except Exception as e: + raise e + try: + if video: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=link, + video_parameters=video_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + else: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=link, + audio_parameters=audio_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + except Exception as e: + raise AssistantErr( + "**No Active Voice Chat Found**\n\nPlease make sure group's voice chat is enabled. If already enabled, please end it and start fresh voice chat again and if the problem continues, try /restart" + ) + except AlreadyJoinedError: + raise AssistantErr( + "**Assistant Already in Voice Chat**\n\nSystems have detected that assistant is already there in the voice chat, this issue generally comes when you play 2 queries together.\n\nIf assistant is not present in voice chat, please end voice chat and start fresh voice chat again and if the problem continues, try /restart" + ) + '''except TelegramServerError: + raise AssistantErr( + "**Telegram Server Error**\n\nTelegram is having some internal server problems, Please try playing again.\n\n If this problem keeps coming everytime, please end your voice chat and start fresh voice chat again." + )''' + await add_active_chat(chat_id) + await mute_off(chat_id) + await music_on(chat_id) + if video: + await add_active_video_chat(chat_id) + if await is_autoend(): + counter[chat_id] = {} + users = len(await assistant.get_participants(chat_id)) + if users == 1: + autoend[chat_id] = datetime.now() + timedelta(minutes=AUTO_END_TIME) + + + + + async def live_call( + self, + chat_id: int, + original_chat_id: int, + video_url, + audio_url, + video: Union[bool, str] = None, + ): + + assistant = await group_assistant(self, chat_id) + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + '''stream = (AudioVideoPiped( + link, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if video else AudioPiped(link, audio_parameters=audio_stream_quality))''' + try: + print("live call") + if video: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=video_url, + audio_path=audio_url, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + else: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=audio_url, + audio_parameters=audio_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + except NoActiveGroupCall: + try: + await self.join_assistant(original_chat_id, chat_id) + except Exception as e: + raise e + try: + print("live call") + if video: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=video_url, + audio_path=audio_url, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + else: + await assistant.join_group_call( + chat_id, + MediaStream( + media_path=audio_url, + audio_parameters=audio_stream_quality, + ), + #stream_type=StreamType().pulse_stream, + ) + except Exception as e: + raise AssistantErr( + "**No Active Voice Chat Found**\n\nPlease make sure group's voice chat is enabled. If already enabled, please end it and start fresh voice chat again and if the problem continues, try /restart" + ) + except AlreadyJoinedError: + raise AssistantErr( + "**Assistant Already in Voice Chat**\n\nSystems have detected that assistant is already there in the voice chat, this issue generally comes when you play 2 queries together.\n\nIf assistant is not present in voice chat, please end voice chat and start fresh voice chat again and if the problem continues, try /restart" + ) + '''except TelegramServerError: + raise AssistantErr( + "**Telegram Server Error**\n\nTelegram is having some internal server problems, Please try playing again.\n\n If this problem keeps coming everytime, please end your voice chat and start fresh voice chat again." + )''' + await add_active_chat(chat_id) + await mute_off(chat_id) + await music_on(chat_id) + if video: + await add_active_video_chat(chat_id) + if await is_autoend(): + counter[chat_id] = {} + users = len(await assistant.get_participants(chat_id)) + if users == 1: + autoend[chat_id] = datetime.now() + timedelta(minutes=AUTO_END_TIME) + + async def change_stream(self, client, chat_id): + check = db.get(chat_id) + popped = None + loop = await get_loop(chat_id) + try: + if loop == 0: + popped = check.pop(0) + else: + loop = loop - 1 + await set_loop(chat_id, loop) + if popped: + if config.AUTO_DOWNLOADS_CLEAR == str(True): + await auto_clean(popped) + if not check: + await _clear_(chat_id) + return await client.leave_group_call(chat_id) + except: + try: + await _clear_(chat_id) + return await client.leave_group_call(chat_id) + except: + return + else: + queued = check[0]["file"] + language = await get_lang(chat_id) + _ = get_string(language) + title = (check[0]["title"]).title() + user = check[0]["by"] + original_chat_id = check[0]["chat_id"] + streamtype = check[0]["streamtype"] + audio_stream_quality = await get_audio_bitrate(chat_id) + video_stream_quality = await get_video_bitrate(chat_id) + videoid = check[0]["vidid"] + check[0]["played"] = 0 + if "live_" in queued: + n, link = await YouTube.video(videoid, True) + if n == 0: + return await app.send_message( + original_chat_id, + text=_["call_9"], + ) + stream = (AudioVideoPiped( + link, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if str(streamtype) == "video" else AudioPiped( + link, audio_parameters=audio_stream_quality)) + try: + await client.change_stream(chat_id, stream) + except Exception: + return await app.send_message( + original_chat_id, + text=_["call_9"], + ) + img = await gen_thumb(videoid) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif "vid_" in queued: + mystic = await app.send_message(original_chat_id, _["call_10"]) + try: + file_path, direct = await YouTube.download( + videoid, + mystic, + videoid=True, + video=True if str(streamtype) == "video" else False, + ) + except: + return await mystic.edit_text(_["call_9"], + disable_web_page_preview=True) + stream = (AudioVideoPiped( + file_path, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if str(streamtype) == "video" else AudioPiped( + file_path, + audio_parameters=audio_stream_quality, + )) + try: + await client.change_stream(chat_id, stream) + except Exception: + return await app.send_message( + original_chat_id, + text=_["call_9"], + ) + img = await gen_thumb(videoid) + button = stream_markup(_, videoid, chat_id) + await mystic.delete() + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + elif "index_" in queued: + stream = (AudioVideoPiped( + videoid, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if str(streamtype) == "video" else AudioPiped( + videoid, audio_parameters=audio_stream_quality)) + try: + await client.change_stream(chat_id, stream) + except Exception: + return await app.send_message( + original_chat_id, + text=_["call_9"], + ) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.STREAM_IMG_URL, + caption=_["stream_2"].format(user), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + else: + stream = (AudioVideoPiped( + queued, + audio_parameters=audio_stream_quality, + video_parameters=video_stream_quality, + ) if str(streamtype) == "video" else AudioPiped( + queued, audio_parameters=audio_stream_quality)) + try: + await client.change_stream(chat_id, stream) + except Exception: + return await app.send_message( + original_chat_id, + text=_["call_9"], + ) + if videoid == "telegram": + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.TELEGRAM_AUDIO_URL + if str(streamtype) == "audio" else config.TELEGRAM_VIDEO_URL, + caption=_["stream_3"].format(title, check[0]["dur"], user), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif videoid == "soundcloud": + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.SOUNCLOUD_IMG_URL, + caption=_["stream_3"].format(title, check[0]["dur"], user), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + else: + img = await gen_thumb(videoid) + button = stream_markup(_, videoid, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + + async def ping(self): + pings = [] + if config.STRING1: + pings.append(await self.one.ping) + if config.STRING2: + pings.append(await self.two.ping) + if config.STRING3: + pings.append(await self.three.ping) + if config.STRING4: + pings.append(await self.four.ping) + if config.STRING5: + pings.append(await self.five.ping) + return str(round(sum(pings) / len(pings), 3)) + + + async def start(self): + LOGGER(__name__).info("Starting PyTgCalls Client\n") + if config.STRING1: + await self.one.start() + if config.STRING2: + await self.two.start() + if config.STRING3: + await self.three.start() + if config.STRING4: + await self.four.start() + if config.STRING5: + await self.five.start() + + async def decorators(self): + + @self.one.on_kicked() + @self.two.on_kicked() + @self.three.on_kicked() + @self.four.on_kicked() + @self.five.on_kicked() + @self.one.on_closed_voice_chat() + @self.two.on_closed_voice_chat() + @self.three.on_closed_voice_chat() + @self.four.on_closed_voice_chat() + @self.five.on_closed_voice_chat() + @self.one.on_left() + @self.two.on_left() + @self.three.on_left() + @self.four.on_left() + @self.five.on_left() + async def stream_services_handler(_, chat_id: int): + await self.stop_stream(chat_id) + + @self.one.on_stream_end() + @self.two.on_stream_end() + @self.three.on_stream_end() + @self.four.on_stream_end() + @self.five.on_stream_end() + async def stream_end_handler1(client, update: Update): + if not isinstance(update, StreamAudioEnded): + return + await self.change_stream(client, update.chat_id) + + @self.one.on_participants_change() + @self.two.on_participants_change() + @self.three.on_participants_change() + @self.four.on_participants_change() + @self.five.on_participants_change() + async def participants_change_handler(client, update: Update): + if not isinstance(update, JoinedGroupCallParticipant) and not isinstance( + update, LeftGroupCallParticipant): + return + chat_id = update.chat_id + users = counter.get(chat_id) + if not users: + try: + got = len(await client.get_participants(chat_id)) + except: + return + counter[chat_id] = got + if got == 1: + autoend[chat_id] = datetime.now() + timedelta(minutes=AUTO_END_TIME) + return + autoend[chat_id] = {} + else: + final = (users + 1 if isinstance(update, JoinedGroupCallParticipant) + else users - 1) + counter[chat_id] = final + if final == 1: + autoend[chat_id] = datetime.now() + timedelta(minutes=AUTO_END_TIME) + return + autoend[chat_id] = {} + + + +Yukki = Call() diff --git a/YukkiMusic/core/dir.py b/YukkiMusic/core/dir.py new file mode 100644 index 0000000000000000000000000000000000000000..b02b03eb0781ea400c3a2eff0b9f7c2fdd5a1cc9 --- /dev/null +++ b/YukkiMusic/core/dir.py @@ -0,0 +1,33 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +import sys +from os import listdir, mkdir + +from ..logging import LOGGER + + +def dirr(): + if "assets" not in listdir(): + LOGGER(__name__).warning( + f"Assets Folder not Found. Please clone repository again." + ) + sys.exit() + for file in os.listdir(): + if file.endswith(".jpg"): + os.remove(file) + for file in os.listdir(): + if file.endswith(".jpeg"): + os.remove(file) + if "downloads" not in listdir(): + mkdir("downloads") + if "cache" not in listdir(): + mkdir("cache") + LOGGER(__name__).info("Directories Updated.") diff --git a/YukkiMusic/core/git.py b/YukkiMusic/core/git.py new file mode 100644 index 0000000000000000000000000000000000000000..2f3e0caf9a2ba1020ded35a476924fa6af0be05f --- /dev/null +++ b/YukkiMusic/core/git.py @@ -0,0 +1,84 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import shlex +from typing import Tuple + +from git import Repo +from git.exc import GitCommandError, InvalidGitRepositoryError + +import config + +from ..logging import LOGGER + + +def install_req(cmd: str) -> Tuple[str, str, int, int]: + async def install_requirements(): + args = shlex.split(cmd) + process = await asyncio.create_subprocess_exec( + *args, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await process.communicate() + return ( + stdout.decode("utf-8", "replace").strip(), + stderr.decode("utf-8", "replace").strip(), + process.returncode, + process.pid, + ) + + return asyncio.get_event_loop().run_until_complete( + install_requirements() + ) + + +def git(): + REPO_LINK = config.UPSTREAM_REPO + if config.GIT_TOKEN: + GIT_USERNAME = REPO_LINK.split("com/")[1].split("/")[0] + TEMP_REPO = REPO_LINK.split("https://")[1] + UPSTREAM_REPO = ( + f"https://{GIT_USERNAME}:{config.GIT_TOKEN}@{TEMP_REPO}" + ) + else: + UPSTREAM_REPO = config.UPSTREAM_REPO + try: + repo = Repo() + LOGGER(__name__).info(f"Git Client Found [VPS DEPLOYER]") + except GitCommandError: + LOGGER(__name__).info(f"Invalid Git Command") + except InvalidGitRepositoryError: + repo = Repo.init() + if "origin" in repo.remotes: + origin = repo.remote("origin") + else: + origin = repo.create_remote("origin", UPSTREAM_REPO) + origin.fetch() + repo.create_head( + config.UPSTREAM_BRANCH, + origin.refs[config.UPSTREAM_BRANCH], + ) + repo.heads[config.UPSTREAM_BRANCH].set_tracking_branch( + origin.refs[config.UPSTREAM_BRANCH] + ) + repo.heads[config.UPSTREAM_BRANCH].checkout(True) + try: + repo.create_remote("origin", config.UPSTREAM_REPO) + except BaseException: + pass + nrs = repo.remote("origin") + nrs.fetch(config.UPSTREAM_BRANCH) + try: + nrs.pull(config.UPSTREAM_BRANCH) + except GitCommandError: + repo.git.reset("--hard", "FETCH_HEAD") + install_req("pip3 install --no-cache-dir -r requirements.txt") + LOGGER(__name__).info(f"Fetched Updates from: {REPO_LINK}") diff --git a/YukkiMusic/core/mongo.py b/YukkiMusic/core/mongo.py new file mode 100644 index 0000000000000000000000000000000000000000..df7c8830f0c6505554dc00aa96d8266b23c13498 --- /dev/null +++ b/YukkiMusic/core/mongo.py @@ -0,0 +1,43 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from motor.motor_asyncio import AsyncIOMotorClient as _mongo_client_ +from pymongo import MongoClient +from pyrogram import Client + +import config + +from ..logging import LOGGER + +TEMP_MONGODB = "mongodb+srv://shikhar:shikhar@cluster0.6xzlh.mongodb.net/myFirstDatabase?retryWrites=true&w=majority" + + +if config.MONGO_DB_URI is None: + LOGGER(__name__).warning( + "No MONGO DB URL found.. Your Bot will work on Yukki's Database" + ) + temp_client = Client( + "Yukki", + bot_token=config.BOT_TOKEN, + api_id=config.API_ID, + api_hash=config.API_HASH, + ) + temp_client.start() + info = temp_client.get_me() + username = info.username + temp_client.stop() + _mongo_async_ = _mongo_client_(TEMP_MONGODB) + _mongo_sync_ = MongoClient(TEMP_MONGODB) + mongodb = _mongo_async_[username] + pymongodb = _mongo_sync_[username] +else: + _mongo_async_ = _mongo_client_(config.MONGO_DB_URI) + _mongo_sync_ = MongoClient(config.MONGO_DB_URI) + mongodb = _mongo_async_.Yukki + pymongodb = _mongo_sync_.Yukki diff --git a/YukkiMusic/core/userbot.py b/YukkiMusic/core/userbot.py new file mode 100644 index 0000000000000000000000000000000000000000..36a6a36eb0f7db05a4ad62feca02febcea2485f4 --- /dev/null +++ b/YukkiMusic/core/userbot.py @@ -0,0 +1,193 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import sys + +from pyrogram import Client + +import config + +from ..logging import LOGGER + +assistants = [] +assistantids = [] +multi_clients = {} +work_loads = {} + +async def req_client(): + index = min(work_loads, key=work_loads.get) + faster_client = multi_clients[index] + response = dict(index=index, client=faster_client) + return response + +class Userbot(Client): + + def __init__(self): + self.one = Client( + name="1", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING1), + no_updates=True, + ) + self.two = Client( + name="2", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING2), + no_updates=True, + ) + self.three = Client( + name="3", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING3), + no_updates=True, + ) + self.four = Client( + name="4", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING4), + no_updates=True, + ) + self.five = Client( + name="5", + api_id=config.API_ID, + api_hash=config.API_HASH, + session_string=str(config.STRING5), + no_updates=True, + ) + + async def start(self): + LOGGER(__name__).info(f"Starting Assistant Clients") + if config.STRING1: + await self.one.start() + + assistants.append(1) + try: + await self.one.send_message(config.LOG_GROUP_ID, f"Assistant Started") + except: + LOGGER(__name__).error( + f"Assistant Account 1 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " + ) + sys.exit() + get_me = await self.one.get_me() + self.one.username = get_me.username + self.one.id = get_me.id + assistantids.append(get_me.id) + if get_me.last_name: + self.one.name = (get_me.first_name + " " + get_me.last_name) + else: + self.one.name = get_me.first_name + LOGGER(__name__).info(f"Assistant Started as {self.one.name}") + if config.STRING2: + await self.two.start() + + assistants.append(2) + try: + await self.two.send_message( + config.LOG_GROUP_ID, "Assistant Started" + ) + except: + LOGGER(__name__).error( + f"Assistant Account 2 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " + ) + sys.exit() + get_me = await self.two.get_me() + self.two.username = get_me.username + self.two.id = get_me.id + assistantids.append(get_me.id) + if get_me.last_name: + self.two.name = ( + get_me.first_name + " " + get_me.last_name + ) + else: + self.two.name = get_me.first_name + LOGGER(__name__).info( + f"Assistant Two Started as {self.two.name}" + ) + if config.STRING3: + await self.three.start() + + assistants.append(3) + try: + await self.three.send_message( + config.LOG_GROUP_ID, "Assistant Started" + ) + except: + LOGGER(__name__).error( + f"Assistant Account 3 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " + ) + sys.exit() + get_me = await self.three.get_me() + self.three.username = get_me.username + self.three.id = get_me.id + assistantids.append(get_me.id) + if get_me.last_name: + self.three.name = ( + get_me.first_name + " " + get_me.last_name + ) + else: + self.three.name = get_me.first_name + LOGGER(__name__).info( + f"Assistant Three Started as {self.three.name}" + ) + if config.STRING4: + await self.four.start() + + assistants.append(4) + try: + await self.four.send_message( + config.LOG_GROUP_ID, "Assistant Started" + ) + except: + LOGGER(__name__).error( + f"Assistant Account 4 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " + ) + sys.exit() + get_me = await self.four.get_me() + self.four.username = get_me.username + self.four.id = get_me.id + assistantids.append(get_me.id) + if get_me.last_name: + self.four.name = ( + get_me.first_name + " " + get_me.last_name + ) + else: + self.four.name = get_me.first_name + LOGGER(__name__).info( + f"Assistant Four Started as {self.four.name}" + ) + if config.STRING5: + await self.five.start() + + assistants.append(5) + try: + await self.five.send_message( + config.LOG_GROUP_ID, "Assistant Started" + ) + except: + LOGGER(__name__).error( + f"Assistant Account 5 has failed to access the log Group. Make sure that you have added your assistant to your log group and promoted as admin! " + ) + sys.exit() + get_me = await self.five.get_me() + self.five.username = get_me.username + self.five.id = get_me.id + assistantids.append(get_me.id) + if get_me.last_name: + self.five.name = ( + get_me.first_name + " " + get_me.last_name + ) + else: + self.five.name = get_me.first_name + LOGGER(__name__).info( + f"Assistant Five Started as {self.five.name}" + ) diff --git a/YukkiMusic/logging.py b/YukkiMusic/logging.py new file mode 100644 index 0000000000000000000000000000000000000000..9c0f7c46619270716a809c03cbda245069fdfe94 --- /dev/null +++ b/YukkiMusic/logging.py @@ -0,0 +1,23 @@ +import logging +#from logging.handlers import RotatingFileHandler + +from config import LOG_FILE_NAME + +'''logging.basicConfig( + level=logging.INFO, + format="[%(asctime)s - %(levelname)s] - %(name)s - %(message)s", + datefmt="%d-%b-%y %H:%M:%S", + handlers=[ + RotatingFileHandler( + LOG_FILE_NAME, maxBytes=5000000, backupCount=10 + ), + logging.StreamHandler(), + ], +)''' + +logging.getLogger("pyrogram").setLevel(logging.ERROR) +logging.getLogger("pytgcalls").setLevel(logging.ERROR) + + +def LOGGER(name: str) -> logging.Logger: + return logging.getLogger(name) diff --git a/YukkiMusic/misc.py b/YukkiMusic/misc.py new file mode 100644 index 0000000000000000000000000000000000000000..a03332a17b57b26612ed0eb48275533ff7885454 --- /dev/null +++ b/YukkiMusic/misc.py @@ -0,0 +1,90 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import socket +import time + +import heroku3 +from pyrogram import filters + +import config +from YukkiMusic.core.mongo import pymongodb + +from .logging import LOGGER + +SUDOERS = filters.user() + +HAPP = None +_boot_ = time.time() + + +def is_heroku(): + return "heroku" in socket.getfqdn() + + +XCB = [ + "/", + "@", + ".", + "com", + ":", + "git", + "heroku", + "push", + str(config.HEROKU_API_KEY), + "https", + str(config.HEROKU_APP_NAME), + "HEAD", + "main", +] + + +def dbb(): + global db + db = {} + LOGGER(__name__).info(f"Database Initialized.") + + +def sudo(): + global SUDOERS + OWNER = config.OWNER_ID + if config.MONGO_DB_URI is None: + for user_id in OWNER: + SUDOERS.add(user_id) + else: + sudoersdb = pymongodb.sudoers + sudoers = sudoersdb.find_one({"sudo": "sudo"}) + sudoers = [] if not sudoers else sudoers["sudoers"] + for user_id in OWNER: + SUDOERS.add(user_id) + if user_id not in sudoers: + sudoers.append(user_id) + sudoersdb.update_one( + {"sudo": "sudo"}, + {"$set": {"sudoers": sudoers}}, + upsert=True, + ) + if sudoers: + for x in sudoers: + SUDOERS.add(x) + LOGGER(__name__).info(f"Sudoers Loaded.") + + +def heroku(): + global HAPP + if is_heroku: + if config.HEROKU_API_KEY and config.HEROKU_APP_NAME: + try: + Heroku = heroku3.from_key(config.HEROKU_API_KEY) + HAPP = Heroku.app(config.HEROKU_APP_NAME) + LOGGER(__name__).info(f"Heroku App Configured") + except BaseException: + LOGGER(__name__).warning( + f"Please make sure your Heroku API Key and Your App name are configured correctly in the heroku." + ) diff --git a/YukkiMusic/platforms/Apple.py b/YukkiMusic/platforms/Apple.py new file mode 100644 index 0000000000000000000000000000000000000000..b4a86a1b90cce324d1e5f4c1857746e60b164114 --- /dev/null +++ b/YukkiMusic/platforms/Apple.py @@ -0,0 +1,86 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import re +from typing import Union + +import aiohttp +from bs4 import BeautifulSoup +from youtubesearchpython.__future__ import VideosSearch + + +class AppleAPI: + def __init__(self): + self.regex = r"^(https:\/\/music.apple.com\/)(.*)$" + self.base = "https://music.apple.com/in/playlist/" + + async def valid(self, link: str): + if re.search(self.regex, link): + return True + else: + return False + + async def track(self, url, playid: Union[bool, str] = None): + if playid: + url = self.base + url + async with aiohttp.ClientSession() as session: + async with session.get(url) as response: + if response.status != 200: + return False + html = await response.text() + soup = BeautifulSoup(html, "html.parser") + search = None + for tag in soup.find_all("meta"): + if tag.get("property", None) == "og:title": + search = tag.get("content", None) + if search is None: + return False + results = VideosSearch(search, limit=1) + for result in (await results.next())["result"]: + title = result["title"] + ytlink = result["link"] + vidid = result["id"] + duration_min = result["duration"] + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + track_details = { + "title": title, + "link": ytlink, + "vidid": vidid, + "duration_min": duration_min, + "thumb": thumbnail, + } + return track_details, vidid + + async def playlist(self, url, playid: Union[bool, str] = None): + if playid: + url = self.base + url + playlist_id = url.split("playlist/")[1] + async with aiohttp.ClientSession() as session: + async with session.get(url) as response: + if response.status != 200: + return False + html = await response.text() + soup = BeautifulSoup(html, "html.parser") + applelinks = soup.find_all( + "meta", attrs={"property": "music:song"} + ) + results = [] + for item in applelinks: + try: + xx = ( + ((item["content"]).split("album/")[1]).split("/")[ + 0 + ] + ).replace("-", " ") + except: + xx = ((item["content"]).split("album/")[1]).split( + "/" + )[0] + results.append(xx) + return results, playlist_id diff --git a/YukkiMusic/platforms/Carbon.py b/YukkiMusic/platforms/Carbon.py new file mode 100644 index 0000000000000000000000000000000000000000..a59649163513c4104c522d6a69586f185cae90d8 --- /dev/null +++ b/YukkiMusic/platforms/Carbon.py @@ -0,0 +1,115 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random +from os.path import realpath + +import aiohttp +from aiohttp import client_exceptions + + +class UnableToFetchCarbon(Exception): + pass + + +themes = [ + "3024-night", + "a11y-dark", + "blackboard", + "base16-dark", + "base16-light", + "cobalt", + "duotone-dark", + "dracula-pro", + "hopscotch", + "lucario", + "material", + "monokai", + "nightowl", + "nord", + "oceanic-next", + "one-light", + "one-dark", + "panda-syntax", + "parasio-dark", + "seti", + "shades-of-purple", + "solarized+dark", + "solarized+light", + "synthwave-84", + "twilight", + "verminal", + "vscode", + "yeti", + "zenburn", +] + +colour = [ + "#FF0000", + "#FF5733", + "#FFFF00", + "#008000", + "#0000FF", + "#800080", + "#A52A2A", + "#FF00FF", + "#D2B48C", + "#00FFFF", + "#808000", + "#800000", + "#00FFFF", + "#30D5C8", + "#00FF00", + "#008080", + "#4B0082", + "#EE82EE", + "#FFC0CB", + "#000000", + "#FFFFFF", + "#808080", +] + + +class CarbonAPI: + def __init__(self): + self.language = "auto" + self.drop_shadow = True + self.drop_shadow_blur = "68px" + self.drop_shadow_offset = "20px" + self.font_family = "JetBrains Mono" + self.width_adjustment = True + self.watermark = False + + async def generate(self, text: str, user_id): + async with aiohttp.ClientSession( + headers={"Content-Type": "application/json"}, + ) as ses: + params = { + "code": text, + } + params["backgroundColor"] = random.choice(colour) + params["theme"] = random.choice(themes) + params["dropShadow"] = self.drop_shadow + params["dropShadowOffsetY"] = self.drop_shadow_offset + params["dropShadowBlurRadius"] = self.drop_shadow_blur + params["fontFamily"] = self.font_family + params["language"] = self.language + params["watermark"] = self.watermark + params["widthAdjustment"] = self.width_adjustment + try: + request = await ses.post( + "https://carbonara.vercel.app/api/cook", + json=params, + ) + except client_exceptions.ClientConnectorError: + raise UnableToFetchCarbon("Can not reach the Host!") + resp = await request.read() + with open(f"cache/carbon{user_id}.jpg", "wb") as f: + f.write(resp) + return realpath(f.name) diff --git a/YukkiMusic/platforms/Resso.py b/YukkiMusic/platforms/Resso.py new file mode 100644 index 0000000000000000000000000000000000000000..3ecfc00f7dcad1228f2b909120f8e25ddaeba68d --- /dev/null +++ b/YukkiMusic/platforms/Resso.py @@ -0,0 +1,63 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import re +from typing import Union + +import aiohttp +from bs4 import BeautifulSoup +from youtubesearchpython.__future__ import VideosSearch + + +class RessoAPI: + def __init__(self): + self.regex = r"^(https:\/\/m.resso.com\/)(.*)$" + self.base = "https://m.resso.com/" + + async def valid(self, link: str): + if re.search(self.regex, link): + return True + else: + return False + + async def track(self, url, playid: Union[bool, str] = None): + if playid: + url = self.base + url + async with aiohttp.ClientSession() as session: + async with session.get(url) as response: + if response.status != 200: + return False + html = await response.text() + soup = BeautifulSoup(html, "html.parser") + for tag in soup.find_all("meta"): + if tag.get("property", None) == "og:title": + title = tag.get("content", None) + if tag.get("property", None) == "og:description": + des = tag.get("content", None) + try: + des = des.split("¡")[0] + except: + pass + if des == "": + return + results = VideosSearch(title, limit=1) + for result in (await results.next())["result"]: + title = result["title"] + ytlink = result["link"] + vidid = result["id"] + duration_min = result["duration"] + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + track_details = { + "title": title, + "link": ytlink, + "vidid": vidid, + "duration_min": duration_min, + "thumb": thumbnail, + } + return track_details, vidid diff --git a/YukkiMusic/platforms/Soundcloud.py b/YukkiMusic/platforms/Soundcloud.py new file mode 100644 index 0000000000000000000000000000000000000000..0cab7def63feb16481454985cfffa892a3ca29e6 --- /dev/null +++ b/YukkiMusic/platforms/Soundcloud.py @@ -0,0 +1,49 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import re +from os import path + +from yt_dlp import YoutubeDL + +from YukkiMusic.utils.formatters import seconds_to_min + + +class SoundAPI: + def __init__(self): + self.opts = { + "outtmpl": "downloads/%(id)s.%(ext)s", + "format": "best", + "retries": 3, + "nooverwrites": False, + "continuedl": True, + } + + async def valid(self, link: str): + if "soundcloud" in link: + return True + else: + return False + + async def download(self, url): + d = YoutubeDL(self.opts) + try: + info = d.extract_info(url) + except: + return False + xyz = path.join("downloads", f"{info['id']}.{info['ext']}") + duration_min = seconds_to_min(info["duration"]) + track_details = { + "title": info["title"], + "duration_sec": info["duration"], + "duration_min": duration_min, + "uploader": info["uploader"], + "filepath": xyz, + } + return track_details, xyz diff --git a/YukkiMusic/platforms/Spotify.py b/YukkiMusic/platforms/Spotify.py new file mode 100644 index 0000000000000000000000000000000000000000..ff951a6c07f6d38dd918d90e6ff58dcf94873f3f --- /dev/null +++ b/YukkiMusic/platforms/Spotify.py @@ -0,0 +1,109 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import re + +import spotipy +from spotipy.oauth2 import SpotifyClientCredentials +from youtubesearchpython.__future__ import VideosSearch + +import config + + +class SpotifyAPI: + def __init__(self): + self.regex = r"^(https:\/\/open.spotify.com\/)(.*)$" + self.client_id = config.SPOTIFY_CLIENT_ID + self.client_secret = config.SPOTIFY_CLIENT_SECRET + if config.SPOTIFY_CLIENT_ID and config.SPOTIFY_CLIENT_SECRET: + self.client_credentials_manager = ( + SpotifyClientCredentials( + self.client_id, self.client_secret + ) + ) + self.spotify = spotipy.Spotify( + client_credentials_manager=self.client_credentials_manager + ) + else: + self.spotify = None + + async def valid(self, link: str): + if re.search(self.regex, link): + return True + else: + return False + + async def track(self, link: str): + track = self.spotify.track(link) + info = track["name"] + for artist in track["artists"]: + fetched = f' {artist["name"]}' + if "Various Artists" not in fetched: + info += fetched + results = VideosSearch(info, limit=1) + for result in (await results.next())["result"]: + ytlink = result["link"] + title = result["title"] + vidid = result["id"] + duration_min = result["duration"] + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + track_details = { + "title": title, + "link": ytlink, + "vidid": vidid, + "duration_min": duration_min, + "thumb": thumbnail, + } + return track_details, vidid + + async def playlist(self, url): + playlist = self.spotify.playlist(url) + playlist_id = playlist["id"] + results = [] + for item in playlist["tracks"]["items"]: + music_track = item["track"] + info = music_track["name"] + for artist in music_track["artists"]: + fetched = f' {artist["name"]}' + if "Various Artists" not in fetched: + info += fetched + results.append(info) + return results, playlist_id + + async def album(self, url): + album = self.spotify.album(url) + album_id = album["id"] + results = [] + for item in album["tracks"]["items"]: + info = item["name"] + for artist in item["artists"]: + fetched = f' {artist["name"]}' + if "Various Artists" not in fetched: + info += fetched + results.append(info) + + return ( + results, + album_id, + ) + + async def artist(self, url): + artistinfo = self.spotify.artist(url) + artist_id = artistinfo["id"] + results = [] + artisttoptracks = self.spotify.artist_top_tracks(url) + for item in artisttoptracks["tracks"]: + info = item["name"] + for artist in item["artists"]: + fetched = f' {artist["name"]}' + if "Various Artists" not in fetched: + info += fetched + results.append(info) + + return results, artist_id diff --git a/YukkiMusic/platforms/Telegram.py b/YukkiMusic/platforms/Telegram.py new file mode 100644 index 0000000000000000000000000000000000000000..46f5429ba7b950e8dcab8fecc241179e68453b24 --- /dev/null +++ b/YukkiMusic/platforms/Telegram.py @@ -0,0 +1,205 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import os +import time +from datetime import datetime, timedelta +from typing import Union + +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, Voice) + +import config +from config import MUSIC_BOT_NAME, lyrical +from YukkiMusic import app + +from ..utils.formatters import (convert_bytes, get_readable_time, + seconds_to_min) + +downloader = {} + + +class TeleAPI: + def __init__(self): + self.chars_limit = 4096 + self.sleep = config.TELEGRAM_DOWNLOAD_EDIT_SLEEP + + async def send_split_text(self, message, string): + n = self.chars_limit + out = [(string[i : i + n]) for i in range(0, len(string), n)] + j = 0 + for x in out: + if j <= 2: + j += 1 + await message.reply_text(x) + return True + + async def get_link(self, message): + if message.chat.username: + link = f"https://t.me/{message.chat.username}/{message.reply_to_message.id}" + else: + xf = str((message.chat.id))[4:] + link = f"https://t.me/c/{xf}/{message.reply_to_message.id}" + return link + + async def get_filename( + self, file, audio: Union[bool, str] = None + ): + try: + file_name = file.file_name + if file_name is None: + file_name = ( + "Telegram Audio File" + if audio + else "Telegram Video File" + ) + + except: + file_name = ( + "Telegram Audio File" + if audio + else "Telegram Video File" + ) + return file_name + + async def get_duration(self, file): + try: + dur = seconds_to_min(file.duration) + except: + dur = "Unknown" + return dur + + async def get_filepath( + self, + audio: Union[bool, str] = None, + video: Union[bool, str] = None, + ): + if audio: + try: + file_name = ( + audio.file_unique_id + + "." + + ( + (audio.file_name.split(".")[-1]) + if (not isinstance(audio, Voice)) + else "ogg" + ) + ) + except: + file_name = audio.file_unique_id + "." + ".ogg" + file_name = os.path.join( + os.path.realpath("downloads"), file_name + ) + if video: + try: + file_name = ( + video.file_unique_id + + "." + + (video.file_name.split(".")[-1]) + ) + except: + file_name = video.file_unique_id + "." + "mp4" + file_name = os.path.join( + os.path.realpath("downloads"), file_name + ) + return file_name + + async def download(self, _, message, mystic, fname): + left_time = {} + speed_counter = {} + if os.path.exists(fname): + return True + + async def down_load(): + async def progress(current, total): + if current == total: + return + current_time = time.time() + start_time = speed_counter.get(message.id) + check_time = current_time - start_time + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="đŸšĻ Cancel Downloading", + callback_data="stop_downloading", + ), + ] + ] + ) + if datetime.now() > left_time.get(message.id): + percentage = current * 100 / total + percentage = str(round(percentage, 2)) + speed = current / check_time + eta = int((total - current) / speed) + downloader[message.id] = eta + eta = get_readable_time(eta) + if not eta: + eta = "0 sec" + total_size = convert_bytes(total) + completed_size = convert_bytes(current) + speed = convert_bytes(speed) + text = f""" +**{MUSIC_BOT_NAME} Telegram Media Downloader** + +**Total FileSize:** {total_size} +**Completed:** {completed_size} +**Percentage:** {percentage[:5]}% + +**Speed:** {speed}/s +**ETA:** {eta}""" + try: + await mystic.edit_text(text, reply_markup=upl) + except: + pass + left_time[ + message.id + ] = datetime.now() + timedelta(seconds=self.sleep) + + speed_counter[message.id] = time.time() + left_time[message.id] = datetime.now() + + try: + await app.download_media( + message.reply_to_message, + file_name=fname, + progress=progress, + ) + await mystic.edit_text( + "Successfully Downloaded.. Processing file now" + ) + downloader.pop(message.id) + except: + await mystic.edit_text(_["tg_2"]) + + if len(downloader) > 10: + timers = [] + for x in downloader: + timers.append(downloader[x]) + try: + low = min(timers) + eta = get_readable_time(low) + except: + eta = "Unknown" + await mystic.edit_text(_["tg_1"].format(eta)) + return False + + task = asyncio.create_task(down_load()) + lyrical[mystic.id] = task + await task + downloaded = downloader.get(message.id) + if downloaded: + downloader.pop(message.id) + return False + verify = lyrical.get(mystic.id) + if not verify: + return False + lyrical.pop(mystic.id) + return True diff --git a/YukkiMusic/platforms/Youtube.py b/YukkiMusic/platforms/Youtube.py new file mode 100644 index 0000000000000000000000000000000000000000..aa8e1b420e635178e4d5d75d784da7b843a5024c --- /dev/null +++ b/YukkiMusic/platforms/Youtube.py @@ -0,0 +1,467 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import os +import re +from typing import Union + +import aiohttp +import yt_dlp +from pyrogram.types import Message +from youtubesearchpython.__future__ import VideosSearch +import scrapetube +from innertube import InnerTube +from pprint import pprint + + +import config +from YukkiMusic.utils.database import is_on_off +from YukkiMusic.utils.formatters import time_to_seconds + + +async def shell_cmd(cmd): + proc = await asyncio.create_subprocess_shell( + cmd, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + out, errorz = await proc.communicate() + if errorz: + if ( + "unavailable videos are hidden" + in (errorz.decode("utf-8")).lower() + ): + return out.decode("utf-8") + else: + return errorz.decode("utf-8") + return out.decode("utf-8") + + +class YouTubeAPI: + def __init__(self): + self.base = "https://www.youtube.com/watch?v=" + self.regex = r"(?:youtube\.com|youtu\.be)" + self.status = "https://www.youtube.com/oembed?url=" + self.listbase = "https://youtube.com/playlist?list=" + self.reg = re.compile( + r"\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])" + ) + + async def exists( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if re.search(self.regex, link): + return True + else: + return False + + async def url(self, message_1: Message) -> Union[str, None]: + messages = [message_1] + if message_1.reply_to_message: + messages.append(message_1.reply_to_message) + text = "" + offset = None + length = None + for message in messages: + if offset: + break + if message.entities: + for entity in message.entities: + if entity.type == "url": + text = message.text or message.caption + offset, length = entity.offset, entity.length + break + elif message.caption_entities: + for entity in message.caption_entities: + if entity.type == "text_link": + return entity.url + if offset in (None,): + return None + return text[offset : offset + length] + + async def details( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link1 = self.base + link + if "&" in link: + link1 = link.split("&")[0] + results = VideosSearch(link, limit=1) + for result in (await results.next())["result"]: + title = result["title"] + duration_min = result["duration"] + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + vidid = result["id"] + if str(duration_min) == "None": + duration_sec = 0 + else: + duration_sec = int(time_to_seconds(duration_min)) + return title, duration_min, duration_sec, thumbnail, vidid + + async def title( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + results = VideosSearch(link, limit=1) + for result in (await results.next())["result"]: + title = result["title"] + return title + + async def duration( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + results = VideosSearch(link, limit=1) + for result in (await results.next())["result"]: + duration = result["duration"] + return duration + + async def thumbnail( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + results = VideosSearch(link, limit=1) + for result in (await results.next())["result"]: + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + return thumbnail + + async def video( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + proc = await asyncio.create_subprocess_exec( + "yt-dlp", + "-g", + "-f", + "best[height<=?720][width<=?1280]", + f"{link}", + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await proc.communicate() + if stdout: + return 1, stdout.decode().split("\n")[0] + else: + return 0, stderr.decode() + + async def playlist( + self, link, limit, user_id, videoid: Union[bool, str] = None + ): + if videoid: + link1 = self.listbase + link + if "&" in link: + link1 = link.split("&")[0] + playlist = await shell_cmd( + f"yt-dlp -i --get-id --flat-playlist --playlist-end {limit} --skip-download {link}" + ) + try: + result = playlist.split("\n") + for key in result: + if key == "": + result.remove(key) + except: + result = [] + return result + + async def track( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + results = VideosSearch(link, limit=1) + #results = scrapetube.get_search(link,limit=1) + for result in (await results.next())["result"]: + #print(result) + title = result["id"] if result["title"]=='' else result["title"] + duration_min = result["duration"] + vidid = result["id"] + yturl = result["link"] + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + track_details = { + "title": title, + "link": yturl, + "vidid": vidid, + "duration_min": duration_min, + "thumb": thumbnail, + } + ''' + for result in results: + print(result) + title = result['title']['runs']['text'] + duration_min = result['lengthText']['simpleText'] + vidid = result['videoId'] + yturl = link + thumbnail = result['thumbnail']['thumbnails'][0]['url'] + + + track_details = { + "title":title , + "link": link, + "vidid": vidid, + "duration_min": duration_min, + "thumb": thumbnail, + }''' + return track_details, vidid + + async def formats( + self, link: str, videoid: Union[bool, str] = None + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + ytdl_opts = {"quiet": True} + ydl = yt_dlp.YoutubeDL(ytdl_opts) + with ydl: + formats_available = [] + r = ydl.extract_info(link, download=False) + for format in r["formats"]: + try: + str(format["format"]) + except: + continue + if not "dash" in str(format["format"]).lower(): + try: + format["format"] + format["filesize"] + format["format_id"] + format["ext"] + format["format_note"] + except: + continue + formats_available.append( + { + "format": format["format"], + "filesize": format["filesize"], + "format_id": format["format_id"], + "ext": format["ext"], + "format_note": format["format_note"], + "yturl": link, + } + ) + return formats_available, link + + async def slider( + self, + link: str, + query_type: int, + videoid: Union[bool, str] = None, + ): + if videoid: + link = self.base + link + if "&" in link: + link = link.split("&")[0] + a = VideosSearch(link, limit=10) + result = (await a.next()).get("result") + title = result[query_type]["title"] + duration_min = result[query_type]["duration"] + vidid = result[query_type]["id"] + thumbnail = result[query_type]["thumbnails"][0]["url"].split( + "?" + )[0] + return title, duration_min, thumbnail, vidid + + async def download( + self, + link: str, + mystic, + video: Union[bool, str] = None, + videoid: Union[bool, str] = None, + songaudio: Union[bool, str] = None, + songvideo: Union[bool, str] = None, + format_id: Union[bool, str] = None, + title: Union[bool, str] = None, + ) -> str: + if videoid: + link = self.base + link + loop = asyncio.get_running_loop() + + def audio_dl(): + ydl_optssx = { + "format": "bestaudio/best", + "outtmpl": "downloads/%(id)s.%(ext)s", + "geo_bypass": True, + "nocheckcertificate": True, + "quiet": True, + "no_warnings": True, + } + x = yt_dlp.YoutubeDL(ydl_optssx) + info = x.extract_info(link, False) + xyz = os.path.join( + "downloads", f"{info['id']}.{info['ext']}" + ) + if os.path.exists(xyz): + return xyz + x.download([link]) + return xyz + + def video_dl(): + ydl_optssx = { + "format": "(bestvideo[height<=?720][width<=?1280][ext=mp4])+(bestaudio[ext=m4a])", + "outtmpl": "downloads/%(id)s.%(ext)s", + "geo_bypass": True, + "nocheckcertificate": True, + "quiet": True, + "no_warnings": True, + } + x = yt_dlp.YoutubeDL(ydl_optssx) + info = x.extract_info(link, False) + xyz = os.path.join( + "downloads", f"{info['id']}.{info['ext']}" + ) + if os.path.exists(xyz): + return xyz + x.download([link]) + return xyz + + def song_video_dl(): + formats = f"{format_id}+140" + fpath = f"downloads/{title}" + ydl_optssx = { + "format": formats, + "outtmpl": fpath, + "geo_bypass": True, + "nocheckcertificate": True, + "quiet": True, + "no_warnings": True, + "prefer_ffmpeg": True, + "merge_output_format": "mp4", + } + x = yt_dlp.YoutubeDL(ydl_optssx) + x.download([link]) + + def song_audio_dl(): + fpath = f"downloads/{title}.%(ext)s" + ydl_optssx = { + "format": format_id, + "outtmpl": fpath, + "geo_bypass": True, + "nocheckcertificate": True, + "quiet": True, + "no_warnings": True, + "prefer_ffmpeg": True, + "postprocessors": [ + { + "key": "FFmpegExtractAudio", + "preferredcodec": "mp3", + "preferredquality": "192", + } + ], + } + x = yt_dlp.YoutubeDL(ydl_optssx) + x.download([link]) + + if songvideo: + await loop.run_in_executor(None, song_video_dl) + fpath = f"downloads/{title}.mp4" + return fpath + elif songaudio: + await loop.run_in_executor(None, song_audio_dl) + fpath = f"downloads/{title}.mp3" + return fpath + elif video: + if await is_on_off(config.YTDOWNLOADER): + direct = True + downloaded_file = await loop.run_in_executor( + None, video_dl + ) + else: + proc = await asyncio.create_subprocess_exec( + "yt-dlp", + "-g", + "-f", + "best[height<=?720][width<=?1280]", + f"{link}", + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await proc.communicate() + if stdout: + downloaded_file = stdout.decode().split("\n")[0] + direct = None + else: + return + else: + direct = True + downloaded_file = await loop.run_in_executor( + None, audio_dl + ) + return downloaded_file, direct + async def audio_video_url(self, + link: str, + mystic, + video: Union[bool, str] = None, + videoid: Union[bool, str] = None, + songaudio: Union[bool, str] = None, + songvideo: Union[bool, str] = None, + format_id: Union[bool, str] = None, + title: Union[bool, str] = None, + ) -> str: + if videoid: + video_id= link + loop = asyncio.get_running_loop() + + def get_audio_url(): + #yclient = InnerTube("ANDROID_TV") + yclient = InnerTube("ANDROID_LITE") + # Fetch the player data for the video + data = yclient.player(video_id) + + # List of streams of the video + streams = data["streamingData"]["adaptiveFormats"] + for stream in streams: + if stream["mimeType"].find('video'): + audio_url=stream['url'] + break + else: + continue + return audio_url + def get_video_url(): + + #yclient = InnerTube("ANDROID_TV") + yclient = InnerTube("ANDROID_LITE") + + + # Fetch the player data for the video + data = yclient.player(video_id) + + # List of streams of the video + streams = data["streamingData"]["adaptiveFormats"] + for stream in streams: + if stream["mimeType"].find('audio'): + video_url=stream['url'] + break + else: + continue + return video_url + video_url = await loop.run_in_executor( + None, get_video_url + ) + audio_url = await loop.run_in_executor( + None, get_audio_url + ) + + return video_url, audio_url diff --git a/YukkiMusic/platforms/YoutubeAPI/BS4scrapAPI.py b/YukkiMusic/platforms/YoutubeAPI/BS4scrapAPI.py new file mode 100644 index 0000000000000000000000000000000000000000..df33f0105ce023c85b4701123256f67f477f4a70 --- /dev/null +++ b/YukkiMusic/platforms/YoutubeAPI/BS4scrapAPI.py @@ -0,0 +1,179 @@ + +from bs4 import BeautifulSoup +from urllib.request import urlopen +from urllib.parse import urlencode +import requests +import re +import json + + + +async def extract_json_tranding(data): + # Join the list into a single string + combined_str = ''.join(data) + + # Use regular expression to find the JSON data after 'ytInitialData = ' + match = re.search(r'var ytInitialData\s*=\s*(\{.*\});', combined_str) + + if match: + json_str = match.group(1) # Extract the JSON string + json_str = json_str.encode('utf-8').decode('unicode_escape') + try: + # Parse the JSON data + json_data = json.loads(json_str) + return json_data + except json.JSONDecodeError as e: + print("Error decoding JSON:", e) + return None + else: + print("No JSON data found.") + return None + + + +async def search_videos(query): + searchresult_list=[] + + final_query={'search_query':query,'sp':'EgIQAQ%253D%253D','persist_gl':'IN'} + param=urlencode(final_query) + url = urlopen(f'https://www.youtube.com/results?{param}').read() + soup = BeautifulSoup(url, 'lxml') + allscript = soup.findAll('script') + text = '' + for script in allscript: + if 'var ytInitialData' in str(script.contents): + text = str(script.contents) + else: + continue + + json_data = await extract_json_tranding(text) + all_search_video = json_data.get('contents', {}).get( + 'twoColumnSearchResultsRenderer', + {}).get('primaryContents', + {}).get('sectionListRenderer', + {}).get('contents', [])[0].get('itemSectionRenderer', + {}).get('contents', []) + + for video in all_search_video: + if video.get('videoRenderer', {}): + if video.get('videoRenderer',{}).get('descriptionSnippet',{}): + description=video['videoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + details={ + "id":video['videoRenderer']['videoId'], + "title":video['videoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['videoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['videoRenderer']['publishedTimeText']['simpleText'] if video.get('videoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['videoRenderer']['lengthText']['simpleText'] if video.get('videoRenderer',{}).get('lengthText',{}) else '', + "views":video['videoRenderer']['viewCountText']['simpleText'] if video.get('videoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['videoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['videoRenderer']['shortViewCountText']['simpleText'] if video.get('videoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['videoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('videoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['videoRenderer']['ownerText']['runs'][0]['text'] + + } + searchresult_list.append(details) + elif video.get('childVideoRenderer', {}): + if video.get('childVideoRenderer',{}).get('descriptionSnippet',{}): + description=video['childVideoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + details={ + "id":video['childVideoRenderer']['videoId'], + "title":video['childVideoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['childVideoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['childVideoRenderer']['publishedTimeText']['simpleText'] if video.get('childVideoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['childVideoRenderer']['lengthText']['simpleText'] if video.get('childVideoRenderer',{}).get('lengthText',{}) else '', + "views":video['childVideoRenderer']['viewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['childVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['childVideoRenderer']['shortViewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['childVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('childVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['childVideoRenderer']['ownerText']['runs'][0]['text'] + + } + searchresult_list.append(details) + elif video.get('gridVideoRenderer', {}): + if video.get('gridVideoRenderer',{}).get('descriptionSnippet',{}): + description=video['gridVideoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + details={ + "id":video['gridVideoRenderer']['videoId'], + "title":video['gridVideoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['gridVideoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['gridVideoRenderer']['publishedTimeText']['simpleText'] if video.get('gridVideoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['gridVideoRenderer']['lengthText']['simpleText'] if video.get('gridVideoRenderer',{}).get('lengthText',{}) else '', + "views":video['gridVideoRenderer']['viewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['gridVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['gridVideoRenderer']['shortViewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['gridVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('gridVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['gridVideoRenderer']['ownerText']['runs'][0]['text'] + + } + searchresult_list.append(details) + #print(url,searchresult_list) + return searchresult_list + + + +async def tranding_videos(): + tranding_list=[] + url = urlopen('https://www.youtube.com/feed/trending/?persist_gl=1&gl=IN').read() + soup = BeautifulSoup(url, 'lxml') + allscript = soup.findAll('script') + text = '' + for script in allscript: + if 'var ytInitialData' in str(script.contents): + text = str(script.contents) + else: + continue + + json_data = await extract_json_tranding(text) + + all_video = json_data.get('contents', {}).get( + 'twoColumnBrowseResultsRenderer', + {}).get('tabs', [])[0].get('tabRenderer', {}).get('content', {}).get( + 'sectionListRenderer', + {}).get('contents', [])[3].get('itemSectionRenderer', {}).get( + 'contents', + [])[0].get('shelfRenderer', + {}).get('content', + {}).get('expandedShelfContentsRenderer', + {}).get('items', []) + #"descriptions":video['videoRenderer']['descriptionSnippet']['runs'][0]['text'], + '''nextPageToken = json_data['contents']['twoColumnSearchResultsRenderer']['primaryContents']['sectionListRenderer']['contents'][1]['continuationItemRenderer']['continuationEndpoint']['continuationCommand']['token'] if json_data.get('contents', {}).get( + 'twoColumnSearchResultsRenderer', + {}).get('primaryContents', + {}).get('sectionListRenderer', + {}).get('contents', [])[1].get('continuationItemRenderer',{}).get('continuationEndpoint',{}).get('continuationCommand',{}).get('token','') else None + ''' + + + + for video in all_video: + if video.get('videoRenderer',{}).get('descriptionSnippet',{}): + description=video['videoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + details={ + "id":video['videoRenderer']['videoId'], + "title":video['videoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['videoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['videoRenderer']['publishedTimeText']['simpleText'] if video.get('videoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['videoRenderer']['lengthText']['simpleText'] if video.get('videoRenderer',{}).get('lengthText',{}) else '', + "views":video['videoRenderer']['viewCountText']['simpleText'] if video.get('videoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['videoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['videoRenderer']['shortViewCountText']['simpleText'] if video.get('videoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['videoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('videoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['videoRenderer']['ownerText']['runs'][0]['text'] + + } + tranding_list.append(details) + #print(tranding_list) + return tranding_list + diff --git a/YukkiMusic/platforms/YoutubeAPI/InnertubeAPI.py b/YukkiMusic/platforms/YoutubeAPI/InnertubeAPI.py new file mode 100644 index 0000000000000000000000000000000000000000..eab2af39defd6e6af115e060f3be36b6901e57ec --- /dev/null +++ b/YukkiMusic/platforms/YoutubeAPI/InnertubeAPI.py @@ -0,0 +1,250 @@ +from urllib.request import urlopen +from urllib.parse import urlencode +import requests +import re +import json +import asyncio +import aiohttp +from .JSON_DATA import * + +async def trending_with_post_api(query): + #res = requests.get('https://www.youtube.com/') + searchresult_list=[] + + key_value ={ + "now":"", + "music":"4gINGgt5dG1hX2NoYXJ0cw%3D%3D", + "gaming":"4gIcGhpnYW1pbmdfY29ycHVzX21vc3RfcG9wdWxhcg%3D%3D", + "movies":"4gIKGgh0cmFpbGVycw%3D%3D", + } + + final_query={ + "browseId": "FEtrending", + "params": key_value.get(query), + "context": { + "client": { + "hl":"en", + "gl":"IN", + "clientName": "WEB", + "clientVersion": "2.20230728.00.00" + + } + } + } + + async with aiohttp.ClientSession() as session: + async with session.post( + 'https://youtubei.googleapis.com/youtubei/v1/browse', + json=final_query) as response: + + json_data= await response.text() + json_data=json.loads(json_data) + + + key_value_list=list(key_value.keys()) + print(key_value_list,key_value_list.index(query)) + all_search_video = json_data.get('contents', {}).get('twoColumnBrowseResultsRenderer',{}).get('tabs',[])[ key_value_list.index(query) ].get('tabRenderer',{}).get('content', {}).get('sectionListRenderer',{}).get('contents', [])[0].get('itemSectionRenderer',{}).get('contents', [])[0].get('shelfRenderer',{}).get('content',{}).get('expandedShelfContentsRenderer',{}).get('items',[]) + #.get('twoColumnSearchResultsRenderer',{}).get('tabs',[]) + #.get('sectionListRenderer',{}).get('contents', [])[0].get('itemSectionRenderer',{}).get('contents', [])[0].get('shelfRenderer',{}).get('content',{}).get('expandedShelfContentsRenderer',{}).get('items',[]) + #return all_search_video + for video in all_search_video: + if video.get('videoRenderer', {}): + searchresult_list.append(JSON_videoRenderer_Formatter(video)) + + if query == 'now': + all_video_Now = json_data.get('contents', {}).get('twoColumnBrowseResultsRenderer',{}).get('tabs',[])[ key_value_list.index(query) ].get('tabRenderer',{}).get('content', {}).get('sectionListRenderer',{}).get('contents', [])[2].get('itemSectionRenderer',{}).get('contents', [])[0].get('shelfRenderer',{}).get('content',{}).get('expandedShelfContentsRenderer',{}).get('items',[]) + for video in all_video_Now: + if video.get('videoRenderer', {}): + searchresult_list.append(JSON_videoRenderer_Formatter(video)) + + return searchresult_list + + + + +async def search_videos_with_post_api(query): + searchresult_list=[] + final_query={ + "query": query, + "key":"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", + "context": { + "client": { + "clientName": "WEB", + "clientVersion": "2.20230728.00.00" + } + } + } + async with aiohttp.ClientSession() as session: + async with session.post( + 'https://youtubei.googleapis.com/youtubei/v1/search', + json=final_query) as response: + + json_data= await response.text() + json_data=json.loads(json_data) + + all_search_video = json_data.get('contents', {}).get( + 'twoColumnSearchResultsRenderer', + {}).get('primaryContents', + {}).get('sectionListRenderer', + {}).get('contents', [])[0].get('itemSectionRenderer', + {}).get('contents', []) + + nextPageToken = json_data['contents']['twoColumnSearchResultsRenderer']['primaryContents']['sectionListRenderer']['contents'][1]['continuationItemRenderer']['continuationEndpoint']['continuationCommand']['token'] if json_data.get('contents', {}).get( + 'twoColumnSearchResultsRenderer', + {}).get('primaryContents', + {}).get('sectionListRenderer', + {}).get('contents', [])[1].get('continuationItemRenderer',{}).get('continuationEndpoint',{}).get('continuationCommand',{}).get('token','') else None + + + + for video in all_search_video: + if video.get('videoRenderer', {}): + searchresult_list.append(JSON_videoRenderer_Formatter(video)) + + elif video.get('childVideoRenderer', {}): + searchresult_list.append(JSON_childVideoRenderer_Formatter(video)) + + elif video.get('gridVideoRenderer', {}): + searchresult_list.append(JSON_childVideoRenderer_Formatter(video)) + + #print(url,searchresult_list) + return searchresult_list, nextPageToken + +async def search_scroll_videos_with_post_api(query): + searchresult_list=[] + + final_query={ + "continuation": query, + "key":"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", + "context": { + "client": { + "clientName": "WEB", + "clientVersion": "2.20230728.00.00" + } + } + } + + async with aiohttp.ClientSession() as session: + async with session.post( + 'https://youtubei.googleapis.com/youtubei/v1/search', + json=final_query) as response: + + json_data= await response.text() + json_data=json.loads(json_data) + #return json_data + all_search_video = json_data.get('onResponseReceivedCommands', [])[0].get( + 'appendContinuationItemsAction', + {}).get('continuationItems', + [])[0].get('itemSectionRenderer', + {}).get('contents', []) + + + nextPageToken =json_data['onResponseReceivedCommands'][0]['appendContinuationItemsAction']['continuationItems'][1]['continuationItemRenderer']['continuationEndpoint']['continuationCommand']['token'] if len(json_data.get('onResponseReceivedCommands', [])) > 0 and json_data.get('onResponseReceivedCommands', [])[0].get( + 'appendContinuationItemsAction', + {}).get('continuationItems', + [])[1].get('continuationItemRenderer',{}).get('continuationEndpoint',{}).get('continuationCommand',{}).get('token','') else None + + + for video in all_search_video: + if video.get('videoRenderer', {}): + searchresult_list.append(JSON_videoRenderer_Formatter(video)) + + elif video.get('childVideoRenderer', {}): + searchresult_list.append(JSON_childVideoRenderer_Formatter(video)) + + elif video.get('gridVideoRenderer', {}): + searchresult_list.append(JSON_childVideoRenderer_Formatter(video)) + + #print(url,searchresult_list) + return searchresult_list, nextPageToken + + + +#####-------------RETURN VIDEO LIST WITH STREAMING URL BY VIDEO ID------###### +async def search_player_data_with_post_api(query): + searchresult_list=[] + + + final_query={ + "videoId": query, + "key":"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", + "context": { + "client": { + "clientName": "ANDROID_TV", + "clientVersion": "2.16.032" + } + } + } + async with aiohttp.ClientSession() as session: + async with session.post( + 'https://youtubei.googleapis.com/youtubei/v1/player', + json=final_query) as response: + + json_data= await response.text() + json_data=json.loads(json_data) + #return json_data + all_formats_video = json_data.get('streamingData', {}).get( + 'formats', + []) + all_adaptive_formats_video = json_data.get('streamingData', {}).get( + 'adaptiveFormats', + []) + ''' video details content JSON DATA {} with key:value + demo data + { + "videoId": "k3g_WjLCsXM", + "title": "Sajni (Song): Arijit Singh, Ram Sampath | Laapataa Ladies | Aamir Khan Productions", + "lengthSeconds": "146", + "keywords": [ + "sajni laapata ladies", + "sajni laapataa ladies", + "sajni" + ], + "channelId": "UCq-Fj5jknLsUf-MWSy4_brA", + "isOwnerViewing": false, + "shortDescription": "Presenting the Song \"Sajni\" from the upcoming film Laapataa Ladies. Sung by Arijit Singh, Composed by Ram Sampath and Penned by Prashant Pandey.\n\n#LaapataaLadies #Sajni #ArijitSingh #RamSampath\n\nJio Studios Presents \nAamir Khan Productions \"LAAPATAA LADIES\" \n\nâ™ĒFull Song Available onâ™Ē \nJioSaavn: https://bit.ly/3SV0n0w\nSpotify: https://bit.ly/3wgICzV\nHungama: https://bit.ly/499FkNy\nApple Music: https://bit.ly/3SEqRlL\nAmazon Prime Music: https://bit.ly/3Uxi1Zv\nWynk: https://bit.ly/3uwyX7O\nYouTube Music: https://bit.ly/4bzkV5R\n\nSong Credits:\nSong Name: Sajni\nComposed By : Ram Sampath\nLyricist : Prashant Pandey\nSinger : Arijit Singh\nMusic Arranged & Produced by : Ram Sampath\nMusic Supervisor : Vrashal Chavan\nRecorded & Mixed at Omgrown Music, Mumbai by Amey Wadibhasme\nMastered by Gethin John at Hafod Mastering\nVocal Recordist : Sukanto Singha\nVocal Editor : Prithviraj Sarkar\nMusic Label: T-Series\n\nFilm Credits: \nDirected by Kiran Rao \nProduced by Aamir Khan, Kiran Rao & Jyoti Deshpande\nStarring : Nitanshi Goel, Pratibha Ranta, Sparsh Shrivastava, Ravi Kishan and Chhaya Kadam\nCo Stars : Bhaskar Jha, Durgesh Kumar, Geeta Aggarwal, Pankaj Sharma, Rachna Gupta, Abeer Jain, Kirti Jain, Daood Hussain, Pranjal Pateriya, Samarth Mohar, Satendra Soni, Ravi Kapadiya, Kishore Soni. \nOriginal Story : Biplab Goswami \nScreenplay & Dialogues : Sneha Desai \nAdditional Dialogues : Divyanidhi Sharma \nMusic : Ram Sampath \nLyricists : Swanand Kirkire, Prashant Pandey, Divyanidhi Sharma \nSingers: Shreya Ghoshal, Arijit Singh, Sukhwinder Singh, Sona Mohapatra\nDirector of Photography : Vikash Nowlakha\nEditor : Jabeen Merchant \nProduction Designer : Vikram Singh \nCostume Designer : Darshan Jalan \nCasting : Romil Jain \nSound Designer : Ayush Ahuja \nProduction Sound Mixer : Ravi Dev Singh \nMake Up Designer : Kamlesh Shinde \nHair Designer : Joyce Fernandez \n1st Assistant Director : Rakesh E. Nair \nLine Producer : Jaspal Dogra \nScript Supervisor : Mandira Roy \nDialect Coach : Sonu Anand \nDirector's Assistant : Pooja Kumar \nColorist : Michele Ricossa \nVisual Effects Studio : SM Rolling \nVFX DI Studio : Prasad Labs \nVisual Promotions : Just Right Studioz NX \nAKP Finance Team : Sharada Harihar, Aditya Shah, Huzvak Batliwala, Pankti Mehta, Tejasvi Gurav, Manisha Abhyankar\nFinancial Advisor : Bimal Parekh & Co \nExecutive Producers : Antara Banerjee & Naved Farooqui \nCo-Producers : B. Shrinivas Rao & Tanaji Dasgupta \n\nDownload Song Beat: https://bit.ly/3Cjh24R \n\n___________________________________\nEnjoy & stay connected with us!\n👉 Subscribe to T-Series: https://youtube.com/tseries\n👉 Like us on Facebook: https://www.facebook.com/tseriesmusic\n👉 Follow us on X: https://twitter.com/tseries\n👉 Follow us on Instagram: https://instagram.com/tseries.official", + "isCrawlable": true, + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/k3g_WjLCsXM/default.jpg", + "width": 120, + "height": 90 + }, + { + "url": "https://i.ytimg.com/vi/k3g_WjLCsXM/mqdefault.jpg", + "width": 320, + "height": 180 + }, + { + "url": "https://i.ytimg.com/vi/k3g_WjLCsXM/hqdefault.jpg", + "width": 480, + "height": 360 + }, + { + "url": "https://i.ytimg.com/vi/k3g_WjLCsXM/sddefault.jpg", + "width": 640, + "height": 480 + } + ] + }, + "allowRatings": true, + "viewCount": "70761818", + "author": "T-Series", + "isPrivate": false, + "isUnpluggedCorpus": false, + "isLiveContent": false + }''' + + videodetails = json_data.get('videoDetails', {}) + + + for video in all_formats_video: + + searchresult_list.append(video) + for video in all_adaptive_formats_video: + + searchresult_list.append(video) + + #print(url,searchresult_list) + return searchresult_list, videodetails diff --git a/YukkiMusic/platforms/YoutubeAPI/JSON_DATA.py b/YukkiMusic/platforms/YoutubeAPI/JSON_DATA.py new file mode 100644 index 0000000000000000000000000000000000000000..33645528d15e9eb8547fd04dd7740c190709c5c3 --- /dev/null +++ b/YukkiMusic/platforms/YoutubeAPI/JSON_DATA.py @@ -0,0 +1,58 @@ +def JSON_gridVideoRenderer_Formatter(video): + if video.get('gridVideoRenderer',{}).get('descriptionSnippet',{}): + description=video['gridVideoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + + return{ + "id":video['gridVideoRenderer']['videoId'], + "title":video['gridVideoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['gridVideoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['gridVideoRenderer']['publishedTimeText']['simpleText'] if video.get('gridVideoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['gridVideoRenderer']['lengthText']['simpleText'] if video.get('gridVideoRenderer',{}).get('lengthText',{}) else '', + "views":video['gridVideoRenderer']['viewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['gridVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['gridVideoRenderer']['shortViewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['gridVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('gridVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['gridVideoRenderer']['ownerText']['runs'][0]['text'] + } + +def JSON_childVideoRenderer_Formatter(video): + if video.get('childVideoRenderer',{}).get('descriptionSnippet',{}): + description=video['childVideoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + + return { + "id":video['childVideoRenderer']['videoId'], + "title":video['childVideoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['childVideoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['childVideoRenderer']['publishedTimeText']['simpleText'] if video.get('childVideoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['childVideoRenderer']['lengthText']['simpleText'] if video.get('childVideoRenderer',{}).get('lengthText',{}) else '', + "views":video['childVideoRenderer']['viewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['childVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['childVideoRenderer']['shortViewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['childVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('childVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['childVideoRenderer']['ownerText']['runs'][0]['text'] + } + +def JSON_videoRenderer_Formatter(video): + if video.get('videoRenderer',{}).get('descriptionSnippet',{}): + description=video['videoRenderer']['descriptionSnippet']['runs'][0]['text'] + else: + description='' + return{ + "id":video['videoRenderer']['videoId'], + "title":video['videoRenderer']['title']['runs'][0]['text'], + "thumbnails":video['videoRenderer']['thumbnail']['thumbnails'], + "description":description, + "publishedTime":video['videoRenderer']['publishedTimeText']['simpleText'] if video.get('videoRenderer',{}).get('publishedTimeText',{}) else '' , + "length":video['videoRenderer']['lengthText']['simpleText'] if video.get('videoRenderer',{}).get('lengthText',{}) else '', + "views":video['videoRenderer']['viewCountText']['simpleText'] if video.get('videoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '', + "url":f"https://www.youtube.com{video['videoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}", + "short_views":video['videoRenderer']['shortViewCountText']['simpleText'] if video.get('videoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '', + "channelThumbnail":video['videoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('videoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '', + "channel":video['videoRenderer']['ownerText']['runs'][0]['text'] + } \ No newline at end of file diff --git a/YukkiMusic/platforms/YoutubeAPI/__init__.py b/YukkiMusic/platforms/YoutubeAPI/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/YukkiMusic/platforms/__init__.py b/YukkiMusic/platforms/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..298d55ed593cb6bc6ef71fc4ace1ce9786ab9755 --- /dev/null +++ b/YukkiMusic/platforms/__init__.py @@ -0,0 +1,16 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from .Apple import AppleAPI +from .Carbon import CarbonAPI +from .Resso import RessoAPI +from .Soundcloud import SoundAPI +from .Spotify import SpotifyAPI +from .Telegram import TeleAPI +from .Youtube import YouTubeAPI diff --git a/YukkiMusic/platforms/custom_dl.py b/YukkiMusic/platforms/custom_dl.py new file mode 100644 index 0000000000000000000000000000000000000000..a0a4ccda20130c3822b86bc9386953bbbb58aad4 --- /dev/null +++ b/YukkiMusic/platforms/custom_dl.py @@ -0,0 +1,185 @@ +import asyncio +import logging +from typing import Dict, Union +from YukkiMusic.core.userbot import work_loads +from pyrogram import Client, utils, raw +#from .file_properties import get_file_ids +from pyrogram.session import Session, Auth +from pyrogram.errors import AuthBytesInvalid +from pyrogram.file_id import FileId, FileType, ThumbnailSource +from pyrogram.types import Message + + +class ByteStreamer: + + def __init__(self, client: Client): + self.clean_timer = 30 * 60 + self.client: Client = client + self.cached_file_ids: Dict[str, FileId] = {} + asyncio.create_task(self.clean_cache()) + + + + async def generate_media_session(self, client: Client, + file_id: FileId) -> Session: + """ + Generates the media session for the DC that contains the media file. + This is required for getting the bytes from Telegram servers. + """ + + media_session = client.media_sessions.get(file_id.dc_id, None) + + if media_session is None: + if file_id.dc_id != await client.storage.dc_id(): + media_session = Session( + client, + file_id.dc_id, + await Auth(client, file_id.dc_id, await + client.storage.test_mode()).create(), + await client.storage.test_mode(), + is_media=True, + ) + await media_session.start() + + for _ in range(6): + exported_auth = await client.invoke( + raw.functions.auth.ExportAuthorization(dc_id=file_id.dc_id)) + + try: + await media_session.invoke( + raw.functions.auth.ImportAuthorization( + id=exported_auth.id, bytes=exported_auth.bytes)) + break + except AuthBytesInvalid: + logging.debug( + f"Invalid authorization bytes for DC {file_id.dc_id}") + continue + else: + await media_session.stop() + raise AuthBytesInvalid + else: + media_session = Session( + client, + file_id.dc_id, + await client.storage.auth_key(), + await client.storage.test_mode(), + is_media=True, + ) + await media_session.start() + logging.debug(f"Created media session for DC {file_id.dc_id}") + client.media_sessions[file_id.dc_id] = media_session + else: + logging.debug(f"Using cached media session for DC {file_id.dc_id}") + return media_session + + @staticmethod + async def get_location( + file_id: FileId + ) -> Union[ + raw.types.InputPhotoFileLocation, + raw.types.InputDocumentFileLocation, + raw.types.InputPeerPhotoFileLocation, + ]: + """ + Returns the file location for the media file. + """ + file_type = file_id.file_type + + if file_type == FileType.CHAT_PHOTO: + if file_id.chat_id > 0: + peer = raw.types.InputPeerUser(user_id=file_id.chat_id, + access_hash=file_id.chat_access_hash) + else: + if file_id.chat_access_hash == 0: + peer = raw.types.InputPeerChat(chat_id=-file_id.chat_id) + else: + peer = raw.types.InputPeerChannel( + channel_id=utils.get_channel_id(file_id.chat_id), + access_hash=file_id.chat_access_hash, + ) + + location = raw.types.InputPeerPhotoFileLocation( + peer=peer, + volume_id=file_id.volume_id, + local_id=file_id.local_id, + big=file_id.thumbnail_source == ThumbnailSource.CHAT_PHOTO_BIG, + ) + elif file_type == FileType.PHOTO: + location = raw.types.InputPhotoFileLocation( + id=file_id.media_id, + access_hash=file_id.access_hash, + file_reference=file_id.file_reference, + thumb_size=file_id.thumbnail_size, + ) + else: + location = raw.types.InputDocumentFileLocation( + id=file_id.media_id, + access_hash=file_id.access_hash, + file_reference=file_id.file_reference, + thumb_size=file_id.thumbnail_size, + ) + return location + + async def yield_file( + self, + file_id: FileId, + index: int, + offset: int, + first_part_cut: int, + last_part_cut: int, + part_count: int, + chunk_size: int, + ) -> Union[str, None]: + + client = self.client + #work_loads[index] += 1 + logging.debug(f"Starting to yielding file with client {index}.") + media_session = await self.generate_media_session(client, file_id) + + current_part = 1 + + location = await self.get_location(file_id) + + try: + r = await media_session.invoke( + raw.functions.upload.GetFile(location=location, + offset=offset, + limit=chunk_size), ) + if isinstance(r, raw.types.upload.File): + while True: + chunk = r.bytes + if not chunk: + break + elif part_count == 1: + yield chunk[first_part_cut:last_part_cut] + elif current_part == 1: + yield chunk[first_part_cut:] + elif current_part == part_count: + yield chunk[:last_part_cut] + else: + yield chunk + + current_part += 1 + offset += chunk_size + + if current_part > part_count: + break + + r = await media_session.invoke( + raw.functions.upload.GetFile(location=location, + offset=offset, + limit=chunk_size), ) + except (TimeoutError, AttributeError): + pass + finally: + logging.debug(f"Finished yielding file with {current_part} parts.") + #work_loads[index] -= 1 + + async def clean_cache(self) -> None: + """ + function to clean the cache to reduce memory usage + """ + while True: + await asyncio.sleep(self.clean_timer) + self.cached_file_ids.clear() + logging.debug("Cleaned the cache") diff --git a/YukkiMusic/platforms/file_properties.py b/YukkiMusic/platforms/file_properties.py new file mode 100644 index 0000000000000000000000000000000000000000..6a569a52f7b478f3c4c18c974d77226edbce00b4 --- /dev/null +++ b/YukkiMusic/platforms/file_properties.py @@ -0,0 +1,98 @@ +from __future__ import annotations +import logging +from datetime import datetime +from pyrogram import Client +from typing import Any, Optional + +from pyrogram.enums import ParseMode, ChatType +from pyrogram.types import Message +from pyrogram.file_id import FileId +#----------------------------------------------------- + + + + +#------------------------------ +def get_media_from_message(message: "Message") -> Any: + media_types = ( + "audio", + "document", + "photo", + "sticker", + "animation", + "video", + "voice", + "video_note", + ) + for attr in media_types: + media = getattr(message, attr, None) + if media: + return media + + +def get_media_file_size(m): + media = get_media_from_message(m) + return getattr(media, "file_size", "None") + + +def get_name(media_msg: Message | FileId) -> str: + if isinstance(media_msg, Message): + media = get_media_from_message(media_msg) + file_name = getattr(media, "file_name", "") + + elif isinstance(media_msg, FileId): + file_name = getattr(media_msg, "file_name", "") + + if not file_name: + if isinstance(media_msg, Message) and media_msg.media: + media_type = media_msg.media.value + elif media_msg.file_type: + media_type = media_msg.file_type.name.lower() + else: + media_type = "file" + + formats = { + "photo": "jpg", + "audio": "mp3", + "voice": "ogg", + "video": "mp4", + "animation": "mp4", + "video_note": "mp4", + "sticker": "webp" + } + + ext = formats.get(media_type) + ext = "." + ext if ext else "" + + date = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + file_name = f"{media_type}-{date}{ext}" + + return file_name + + +def get_file_info(message): + media = get_media_from_message(message) + """ + //Used a single Liner Insted of this Block + if message.chat.type == ChatType.PRIVATE: + user_idx = message.from_user.id + else: + user_idx = message.chat.id + """ + + return { + + "message_id": message.id, + "location": message.from_user.id if (message.chat.type == ChatType.PRIVATE) else message.chat.id, + "file": { + "file_id": getattr(media, "file_id", ""), + "file_unique_id": getattr(media, "file_unique_id", ""), + "file_name": get_name(message), + "file_size": getattr(media, "file_size", 0), + "mime_type": getattr(media, "mime_type", "None/unknown"), + + }, + } + + + diff --git a/YukkiMusic/plugins/__init__.py b/YukkiMusic/plugins/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..6f64d5804767298f1f978ef7dd39a8f21bf47ae5 --- /dev/null +++ b/YukkiMusic/plugins/__init__.py @@ -0,0 +1,31 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. +# + +import glob +from os.path import dirname, isfile + + +def __list_all_modules(): + work_dir = dirname(__file__) + mod_paths = glob.glob(work_dir + "/*/*.py") + + all_modules = [ + (((f.replace(work_dir, "")).replace("/", "."))[:-3]) + for f in mod_paths + if isfile(f) + and f.endswith(".py") + and not f.endswith("__init__.py") + ] + + return all_modules + + +ALL_MODULES = sorted(__list_all_modules()) +__all__ = ALL_MODULES + ["ALL_MODULES"] diff --git a/YukkiMusic/plugins/admins/auth.py b/YukkiMusic/plugins/admins/auth.py new file mode 100644 index 0000000000000000000000000000000000000000..974287701ad4aac47b97c5686ba7105d30900ed4 --- /dev/null +++ b/YukkiMusic/plugins/admins/auth.py @@ -0,0 +1,159 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS, adminlist +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.database import (delete_authuser, get_authuser, + get_authuser_names, + save_authuser) +from YukkiMusic.utils.decorators import AdminActual, language +from YukkiMusic.utils.formatters import int_to_alpha + +# Command +AUTH_COMMAND = get_command("AUTH_COMMAND") +UNAUTH_COMMAND = get_command("UNAUTH_COMMAND") +AUTHUSERS_COMMAND = get_command("AUTHUSERS_COMMAND") + + +@app.on_message( + filters.command(AUTH_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminActual +async def auth(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + user_id = message.from_user.id + token = await int_to_alpha(user.id) + from_user_name = message.from_user.first_name + from_user_id = message.from_user.id + _check = await get_authuser_names(message.chat.id) + count = len(_check) + if int(count) == 20: + return await message.reply_text(_["auth_1"]) + if token not in _check: + assis = { + "auth_user_id": user.id, + "auth_name": user.first_name, + "admin_id": from_user_id, + "admin_name": from_user_name, + } + get = adminlist.get(message.chat.id) + if get: + if user.id not in get: + get.append(user.id) + await save_authuser(message.chat.id, token, assis) + return await message.reply_text(_["auth_2"]) + else: + await message.reply_text(_["auth_3"]) + return + from_user_id = message.from_user.id + user_id = message.reply_to_message.from_user.id + user_name = message.reply_to_message.from_user.first_name + token = await int_to_alpha(user_id) + from_user_name = message.from_user.first_name + _check = await get_authuser_names(message.chat.id) + count = 0 + for smex in _check: + count += 1 + if int(count) == 20: + return await message.reply_text(_["auth_1"]) + if token not in _check: + assis = { + "auth_user_id": user_id, + "auth_name": user_name, + "admin_id": from_user_id, + "admin_name": from_user_name, + } + get = adminlist.get(message.chat.id) + if get: + if user_id not in get: + get.append(user_id) + await save_authuser(message.chat.id, token, assis) + return await message.reply_text(_["auth_2"]) + else: + await message.reply_text(_["auth_3"]) + + +@app.on_message( + filters.command(UNAUTH_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminActual +async def unauthusers(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + token = await int_to_alpha(user.id) + deleted = await delete_authuser(message.chat.id, token) + get = adminlist.get(message.chat.id) + if get: + if user.id in get: + get.remove(user.id) + if deleted: + return await message.reply_text(_["auth_4"]) + else: + return await message.reply_text(_["auth_5"]) + user_id = message.reply_to_message.from_user.id + token = await int_to_alpha(user_id) + deleted = await delete_authuser(message.chat.id, token) + get = adminlist.get(message.chat.id) + if get: + if user_id in get: + get.remove(user_id) + if deleted: + return await message.reply_text(_["auth_4"]) + else: + return await message.reply_text(_["auth_5"]) + + +@app.on_message( + filters.command(AUTHUSERS_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def authusers(client, message: Message, _): + _playlist = await get_authuser_names(message.chat.id) + if not _playlist: + return await message.reply_text(_["setting_5"]) + else: + j = 0 + mystic = await message.reply_text(_["auth_6"]) + text = _["auth_7"] + for note in _playlist: + _note = await get_authuser(message.chat.id, note) + user_id = _note["auth_user_id"] + admin_id = _note["admin_id"] + admin_name = _note["admin_name"] + try: + user = await app.get_users(user_id) + user = user.first_name + j += 1 + except Exception: + continue + text += f"{j}➤ {user}[`{user_id}`]\n" + text += f" {_['auth_8']} {admin_name}[`{admin_id}`]\n\n" + await mystic.delete() + await message.reply_text(text) diff --git a/YukkiMusic/plugins/admins/callback.py b/YukkiMusic/plugins/admins/callback.py new file mode 100644 index 0000000000000000000000000000000000000000..010f122143f170b981c493cfa64c5d6acb93537b --- /dev/null +++ b/YukkiMusic/plugins/admins/callback.py @@ -0,0 +1,444 @@ +import random + +from pyrogram import filters +from pyrogram.types import CallbackQuery, InlineKeyboardMarkup + +from config import (AUTO_DOWNLOADS_CLEAR, BANNED_USERS, + SOUNCLOUD_IMG_URL, STREAM_IMG_URL, + TELEGRAM_AUDIO_URL, TELEGRAM_VIDEO_URL, adminlist) +from YukkiMusic import YouTube, app +from YukkiMusic.core.call import Yukki +from YukkiMusic.misc import SUDOERS, db +from YukkiMusic.utils.database import (is_active_chat, + is_music_playing, is_muted, + is_nonadmin_chat, music_off, + music_on, mute_off, mute_on, + set_loop) +from YukkiMusic.utils.decorators.language import languageCB +from YukkiMusic.utils.formatters import seconds_to_min +from YukkiMusic.utils.inline.play import (panel_markup_1, + panel_markup_2, + panel_markup_3, + stream_markup, + telegram_markup) +from YukkiMusic.utils.stream.autoclear import auto_clean +from YukkiMusic.utils.thumbnails import gen_thumb + +wrong = {} + + +@app.on_callback_query(filters.regex("PanelMarkup") & ~BANNED_USERS) +@languageCB +async def markup_panel(client, CallbackQuery: CallbackQuery, _): + await CallbackQuery.answer() + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + videoid, chat_id = callback_request.split("|") + chat_id = CallbackQuery.message.chat.id + buttons = panel_markup_1(_, videoid, chat_id) + try: + await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except: + return + if chat_id not in wrong: + wrong[chat_id] = {} + wrong[chat_id][CallbackQuery.message.id] = False + + +@app.on_callback_query(filters.regex("MainMarkup") & ~BANNED_USERS) +@languageCB +async def del_back_playlist(client, CallbackQuery, _): + await CallbackQuery.answer() + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + videoid, chat_id = callback_request.split("|") + if videoid == str(None): + buttons = telegram_markup(_, chat_id) + else: + buttons = stream_markup(_, videoid, chat_id) + chat_id = CallbackQuery.message.chat.id + try: + await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except: + return + if chat_id not in wrong: + wrong[chat_id] = {} + wrong[chat_id][CallbackQuery.message.message.id] = True + + +@app.on_callback_query(filters.regex("Pages") & ~BANNED_USERS) +@languageCB +async def del_back_playlist(client, CallbackQuery, _): + await CallbackQuery.answer() + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + state, pages, videoid, chat = callback_request.split("|") + chat_id = int(chat) + pages = int(pages) + if state == "Forw": + if pages == 0: + buttons = panel_markup_2(_, videoid, chat_id) + if pages == 2: + buttons = panel_markup_1(_, videoid, chat_id) + if pages == 1: + buttons = panel_markup_3(_, videoid, chat_id) + if state == "Back": + if pages == 2: + buttons = panel_markup_2(_, videoid, chat_id) + if pages == 1: + buttons = panel_markup_1(_, videoid, chat_id) + if pages == 0: + buttons = panel_markup_3(_, videoid, chat_id) + try: + await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except: + return + + +downvote = {} +downvoters = {} + + +@app.on_callback_query(filters.regex("ADMIN") & ~BANNED_USERS) +@languageCB +async def del_back_playlist(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + command, chat = callback_request.split("|") + chat_id = int(chat) + if not await is_active_chat(chat_id): + return await CallbackQuery.answer( + _["general_6"], show_alert=True + ) + mention = CallbackQuery.from_user.mention + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + if CallbackQuery.from_user.id not in SUDOERS: + admins = adminlist.get(CallbackQuery.message.chat.id) + if not admins: + return await CallbackQuery.answer( + _["admin_18"], show_alert=True + ) + else: + if CallbackQuery.from_user.id not in admins: + return await CallbackQuery.answer( + _["admin_19"], show_alert=True + ) + if command == "Pause": + if not await is_music_playing(chat_id): + return await CallbackQuery.answer( + _["admin_1"], show_alert=True + ) + await CallbackQuery.answer() + await music_off(chat_id) + await Yukki.pause_stream(chat_id) + await CallbackQuery.message.reply_text( + _["admin_2"].format(mention) + ) + elif command == "Resume": + if await is_music_playing(chat_id): + return await CallbackQuery.answer( + _["admin_3"], show_alert=True + ) + await CallbackQuery.answer() + await music_on(chat_id) + await Yukki.resume_stream(chat_id) + await CallbackQuery.message.reply_text( + _["admin_4"].format(mention) + ) + elif command == "Stop" or command == "End": + await CallbackQuery.answer() + await Yukki.stop_stream(chat_id) + await set_loop(chat_id, 0) + await CallbackQuery.message.reply_text( + _["admin_9"].format(mention) + ) + elif command == "Mute": + if await is_muted(chat_id): + return await CallbackQuery.answer( + _["admin_5"], show_alert=True + ) + await CallbackQuery.answer() + await mute_on(chat_id) + await Yukki.mute_stream(chat_id) + await CallbackQuery.message.reply_text( + _["admin_6"].format(mention) + ) + elif command == "Unmute": + if not await is_muted(chat_id): + return await CallbackQuery.answer( + _["admin_7"], show_alert=True + ) + await CallbackQuery.answer() + await mute_off(chat_id) + await Yukki.unmute_stream(chat_id) + await CallbackQuery.message.reply_text( + _["admin_8"].format(mention) + ) + elif command == "Loop": + await CallbackQuery.answer() + await set_loop(chat_id, 3) + await CallbackQuery.message.reply_text( + _["admin_25"].format(mention, 3) + ) + elif command == "Shuffle": + check = db.get(chat_id) + if not check: + return await CallbackQuery.answer( + _["admin_21"], show_alert=True + ) + try: + popped = check.pop(0) + except: + return await CallbackQuery.answer( + _["admin_22"], show_alert=True + ) + check = db.get(chat_id) + if not check: + check.insert(0, popped) + return await CallbackQuery.answer( + _["admin_22"], show_alert=True + ) + await CallbackQuery.answer() + random.shuffle(check) + check.insert(0, popped) + await CallbackQuery.message.reply_text( + _["admin_23"].format(mention) + ) + elif command == "Skip": + check = db.get(chat_id) + txt = f"Skipped by {mention}" + popped = None + try: + popped = check.pop(0) + if popped: + if AUTO_DOWNLOADS_CLEAR == str(True): + await auto_clean(popped) + if not check: + await CallbackQuery.edit_message_text( + f"Skipped by {mention}" + ) + await CallbackQuery.message.reply_text( + _["admin_10"].format(mention) + ) + try: + return await Yukki.stop_stream(chat_id) + except: + return + except: + try: + await CallbackQuery.edit_message_text( + f"Skipped by {mention}" + ) + await CallbackQuery.message.reply_text( + _["admin_10"].format(mention) + ) + return await Yukki.stop_stream(chat_id) + except: + return + await CallbackQuery.answer() + queued = check[0]["file"] + title = (check[0]["title"]).title() + user = check[0]["by"] + streamtype = check[0]["streamtype"] + videoid = check[0]["vidid"] + status = True if str(streamtype) == "video" else None + db[chat_id][0]["played"] = 0 + if "live_" in queued: + n, link = await YouTube.video(videoid, True) + if n == 0: + return await CallbackQuery.message.reply_text( + _["admin_11"].format(title) + ) + try: + await Yukki.skip_stream(chat_id, link, video=status) + except Exception: + return await CallbackQuery.message.reply_text( + _["call_9"] + ) + button = telegram_markup(_, chat_id) + img = await gen_thumb(videoid) + run = await CallbackQuery.message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + await CallbackQuery.edit_message_text(txt) + elif "vid_" in queued: + mystic = await CallbackQuery.message.reply_text( + _["call_10"], disable_web_page_preview=True + ) + try: + file_path, direct = await YouTube.download( + videoid, + mystic, + videoid=True, + video=status, + ) + except: + return await mystic.edit_text(_["call_9"]) + try: + await Yukki.skip_stream( + chat_id, file_path, video=status + ) + except Exception: + return await mystic.edit_text(_["call_9"]) + button = stream_markup(_, videoid, chat_id) + img = await gen_thumb(videoid) + run = await CallbackQuery.message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + await CallbackQuery.edit_message_text(txt) + await mystic.delete() + elif "index_" in queued: + try: + await Yukki.skip_stream( + chat_id, videoid, video=status + ) + except Exception: + return await CallbackQuery.message.reply_text( + _["call_9"] + ) + button = telegram_markup(_, chat_id) + run = await CallbackQuery.message.reply_photo( + photo=STREAM_IMG_URL, + caption=_["stream_2"].format(user), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + await CallbackQuery.edit_message_text(txt) + else: + try: + await Yukki.skip_stream(chat_id, queued, video=status) + except Exception: + return await CallbackQuery.message.reply_text( + _["call_9"] + ) + if videoid == "telegram": + button = telegram_markup(_, chat_id) + run = await CallbackQuery.message.reply_photo( + photo=TELEGRAM_AUDIO_URL + if str(streamtype) == "audio" + else TELEGRAM_VIDEO_URL, + caption=_["stream_3"].format( + title, check[0]["dur"], user + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif videoid == "soundcloud": + button = telegram_markup(_, chat_id) + run = await CallbackQuery.message.reply_photo( + photo=SOUNCLOUD_IMG_URL + if str(streamtype) == "audio" + else TELEGRAM_VIDEO_URL, + caption=_["stream_3"].format( + title, check[0]["dur"], user + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + else: + button = stream_markup(_, videoid, chat_id) + img = await gen_thumb(videoid) + run = await CallbackQuery.message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + await CallbackQuery.edit_message_text(txt) + else: + playing = db.get(chat_id) + if not playing: + return await CallbackQuery.answer( + _["queue_2"], show_alert=True + ) + duration_seconds = int(playing[0]["seconds"]) + if duration_seconds == 0: + return await CallbackQuery.answer( + _["admin_30"], show_alert=True + ) + file_path = playing[0]["file"] + if "index_" in file_path or "live_" in file_path: + return await CallbackQuery.answer( + _["admin_30"], show_alert=True + ) + duration_played = int(playing[0]["played"]) + if int(command) in [1, 2]: + duration_to_skip = 10 + else: + duration_to_skip = 30 + duration = playing[0]["dur"] + if int(command) in [1, 3]: + if (duration_played - duration_to_skip) <= 10: + bet = seconds_to_min(duration_played) + return await CallbackQuery.answer( + f"Bot is not able to seek due to total duration has been exceeded.\n\nCurrently played** {bet}** mins out of **{duration}** mins", + show_alert=True, + ) + to_seek = duration_played - duration_to_skip + 1 + else: + if ( + duration_seconds + - (duration_played + duration_to_skip) + ) <= 10: + bet = seconds_to_min(duration_played) + return await CallbackQuery.answer( + f"Bot is not able to seek due to total duration has been exceeded.\n\nCurrently played** {bet}** mins out of **{duration}** mins", + show_alert=True, + ) + to_seek = duration_played + duration_to_skip + 1 + await CallbackQuery.answer() + mystic = await CallbackQuery.message.reply_text(_["admin_32"]) + if "vid_" in file_path: + n, file_path = await YouTube.video( + playing[0]["vidid"], True + ) + if n == 0: + return await mystic.edit_text(_["admin_30"]) + try: + await Yukki.seek_stream( + chat_id, + file_path, + seconds_to_min(to_seek), + duration, + playing[0]["streamtype"], + ) + except: + return await mystic.edit_text(_["admin_34"]) + if int(command) in [1, 3]: + db[chat_id][0]["played"] -= duration_to_skip + else: + db[chat_id][0]["played"] += duration_to_skip + string = _["admin_33"].format(seconds_to_min(to_seek)) + await mystic.edit_text( + f"{string}\n\nChanges done by: {mention}" + ) diff --git a/YukkiMusic/plugins/admins/loop.py b/YukkiMusic/plugins/admins/loop.py new file mode 100644 index 0000000000000000000000000000000000000000..1a7ecd19f1e4d054d4804910d6342830a8071cec --- /dev/null +++ b/YukkiMusic/plugins/admins/loop.py @@ -0,0 +1,60 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.database.memorydatabase import (get_loop, + set_loop) +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +LOOP_COMMAND = get_command("LOOP_COMMAND") + + +@app.on_message( + filters.command(LOOP_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def admins(cli, message: Message, _, chat_id): + usage = _["admin_24"] + if len(message.command) != 2: + return await message.reply_text(usage) + state = message.text.split(None, 1)[1].strip() + if state.isnumeric(): + state = int(state) + if 1 <= state <= 10: + got = await get_loop(chat_id) + if got != 0: + state = got + state + if int(state) > 10: + state = 10 + await set_loop(chat_id, state) + return await message.reply_text( + _["admin_25"].format( + message.from_user.first_name, state + ) + ) + else: + return await message.reply_text(_["admin_26"]) + elif state.lower() == "enable": + await set_loop(chat_id, 10) + return await message.reply_text( + _["admin_25"].format(message.from_user.first_name, 10) + ) + elif state.lower() == "disable": + await set_loop(chat_id, 0) + return await message.reply_text(_["admin_27"]) + else: + return await message.reply_text(usage) diff --git a/YukkiMusic/plugins/admins/mute.py b/YukkiMusic/plugins/admins/mute.py new file mode 100644 index 0000000000000000000000000000000000000000..c27300d4957d06daecb08553d8f6f4fba52c3245 --- /dev/null +++ b/YukkiMusic/plugins/admins/mute.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils.database import is_muted, mute_on +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +MUTE_COMMAND = get_command("MUTE_COMMAND") + + +@app.on_message( + filters.command(MUTE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def mute_admin(cli, message: Message, _, chat_id): + if not len(message.command) == 1 or message.reply_to_message: + return await message.reply_text(_["general_2"]) + if await is_muted(chat_id): + return await message.reply_text(_["admin_5"]) + await mute_on(chat_id) + await Yukki.mute_stream(chat_id) + await message.reply_text( + _["admin_6"].format(message.from_user.mention) + ) diff --git a/YukkiMusic/plugins/admins/pause.py b/YukkiMusic/plugins/admins/pause.py new file mode 100644 index 0000000000000000000000000000000000000000..6e82ba0c93869058b6c0725c4d53128aa7c28f8e --- /dev/null +++ b/YukkiMusic/plugins/admins/pause.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils.database import is_music_playing, music_off +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +PAUSE_COMMAND = get_command("PAUSE_COMMAND") + + +@app.on_message( + filters.command(PAUSE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def pause_admin(cli, message: Message, _, chat_id): + if not len(message.command) == 1: + return await message.reply_text(_["general_2"]) + if not await is_music_playing(chat_id): + return await message.reply_text(_["admin_1"]) + await music_off(chat_id) + await Yukki.pause_stream(chat_id) + await message.reply_text( + _["admin_2"].format(message.from_user.mention) + ) diff --git a/YukkiMusic/plugins/admins/resume.py b/YukkiMusic/plugins/admins/resume.py new file mode 100644 index 0000000000000000000000000000000000000000..1cde4b972173a8fce3c0a1f75d17160e2fcb8b3a --- /dev/null +++ b/YukkiMusic/plugins/admins/resume.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils.database import is_music_playing, music_on +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +RESUME_COMMAND = get_command("RESUME_COMMAND") + + +@app.on_message( + filters.command(RESUME_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def resume_com(cli, message: Message, _, chat_id): + if not len(message.command) == 1: + return await message.reply_text(_["general_2"]) + if await is_music_playing(chat_id): + return await message.reply_text(_["admin_3"]) + await music_on(chat_id) + await Yukki.resume_stream(chat_id) + await message.reply_text( + _["admin_4"].format(message.from_user.mention) + ) diff --git a/YukkiMusic/plugins/admins/seek.py b/YukkiMusic/plugins/admins/seek.py new file mode 100644 index 0000000000000000000000000000000000000000..0476cf193cb56753a898684df4d7bd055fa4dded --- /dev/null +++ b/YukkiMusic/plugins/admins/seek.py @@ -0,0 +1,87 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import YouTube, app +from YukkiMusic.core.call import Yukki +from YukkiMusic.misc import db +from YukkiMusic.utils import AdminRightsCheck, seconds_to_min + +# Commands +SEEK_COMMAND = get_command("SEEK_COMMAND") + + +@app.on_message( + filters.command(SEEK_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def seek_comm(cli, message: Message, _, chat_id): + if len(message.command) == 1: + return await message.reply_text(_["admin_28"]) + query = message.text.split(None, 1)[1].strip() + if not query.isnumeric(): + return await message.reply_text(_["admin_29"]) + playing = db.get(chat_id) + if not playing: + return await message.reply_text(_["queue_2"]) + duration_seconds = int(playing[0]["seconds"]) + if duration_seconds == 0: + return await message.reply_text(_["admin_30"]) + file_path = playing[0]["file"] + if "index_" in file_path or "live_" in file_path: + return await message.reply_text(_["admin_30"]) + duration_played = int(playing[0]["played"]) + duration_to_skip = int(query) + duration = playing[0]["dur"] + if message.command[0][-2] == "c": + if (duration_played - duration_to_skip) <= 10: + return await message.reply_text( + _["admin_31"].format( + seconds_to_min(duration_played), duration + ) + ) + to_seek = duration_played - duration_to_skip + 1 + else: + if ( + duration_seconds - (duration_played + duration_to_skip) + ) <= 10: + return await message.reply_text( + _["admin_31"].format( + seconds_to_min(duration_played), duration + ) + ) + to_seek = duration_played + duration_to_skip + 1 + mystic = await message.reply_text(_["admin_32"]) + if "vid_" in file_path: + n, file_path = await YouTube.video(playing[0]["vidid"], True) + if n == 0: + return await message.reply_text(_["admin_30"]) + try: + await Yukki.seek_stream( + chat_id, + file_path, + seconds_to_min(to_seek), + duration, + playing[0]["streamtype"], + ) + except: + return await mystic.edit_text(_["admin_34"]) + if message.command[0][-2] == "c": + db[chat_id][0]["played"] -= duration_to_skip + else: + db[chat_id][0]["played"] += duration_to_skip + await mystic.edit_text( + _["admin_33"].format(seconds_to_min(to_seek)) + ) diff --git a/YukkiMusic/plugins/admins/shuffle.py b/YukkiMusic/plugins/admins/shuffle.py new file mode 100644 index 0000000000000000000000000000000000000000..12b8d0e10717495b13344b891b12463190a6338c --- /dev/null +++ b/YukkiMusic/plugins/admins/shuffle.py @@ -0,0 +1,49 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import db +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +SHUFFLE_COMMAND = get_command("SHUFFLE_COMMAND") + + +@app.on_message( + filters.command(SHUFFLE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def admins(Client, message: Message, _, chat_id): + if not len(message.command) == 1: + return await message.reply_text(_["general_2"]) + check = db.get(chat_id) + if not check: + return await message.reply_text(_["admin_21"]) + try: + popped = check.pop(0) + except: + return await message.reply_text(_["admin_22"]) + check = db.get(chat_id) + if not check: + check.insert(0, popped) + return await message.reply_text(_["admin_22"]) + random.shuffle(check) + check.insert(0, popped) + await message.reply_text( + _["admin_23"].format(message.from_user.first_name) + ) diff --git a/YukkiMusic/plugins/admins/skip.py b/YukkiMusic/plugins/admins/skip.py new file mode 100644 index 0000000000000000000000000000000000000000..dce86404246dd06bde63fdfef40376d892e15ad1 --- /dev/null +++ b/YukkiMusic/plugins/admins/skip.py @@ -0,0 +1,223 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import InlineKeyboardMarkup, Message + +import config +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import YouTube, app +from YukkiMusic.core.call import Yukki +from YukkiMusic.misc import db +from YukkiMusic.utils.database import get_loop +from YukkiMusic.utils.decorators import AdminRightsCheck +from YukkiMusic.utils.inline.play import (stream_markup, + telegram_markup) +from YukkiMusic.utils.stream.autoclear import auto_clean +from YukkiMusic.utils.thumbnails import gen_thumb + +# Commands +SKIP_COMMAND = get_command("SKIP_COMMAND") + + +@app.on_message( + filters.command(SKIP_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def skip(cli, message: Message, _, chat_id): + if not len(message.command) < 2: + loop = await get_loop(chat_id) + if loop != 0: + return await message.reply_text(_["admin_12"]) + state = message.text.split(None, 1)[1].strip() + if state.isnumeric(): + state = int(state) + check = db.get(chat_id) + if check: + count = len(check) + if count > 2: + count = int(count - 1) + if 1 <= state <= count: + for x in range(state): + popped = None + try: + popped = check.pop(0) + except: + return await message.reply_text( + _["admin_16"] + ) + if popped: + if ( + config.AUTO_DOWNLOADS_CLEAR + == str(True) + ): + await auto_clean(popped) + if not check: + try: + await message.reply_text( + _["admin_10"].format( + message.from_user.first_name + ) + ) + await Yukki.stop_stream(chat_id) + except: + return + break + else: + return await message.reply_text( + _["admin_15"].format(count) + ) + else: + return await message.reply_text(_["admin_14"]) + else: + return await message.reply_text(_["queue_2"]) + else: + return await message.reply_text(_["admin_13"]) + else: + check = db.get(chat_id) + popped = None + try: + popped = check.pop(0) + if popped: + if config.AUTO_DOWNLOADS_CLEAR == str(True): + await auto_clean(popped) + if not check: + await message.reply_text( + _["admin_10"].format(message.from_user.first_name) + ) + try: + return await Yukki.stop_stream(chat_id) + except: + return + except: + try: + await message.reply_text( + _["admin_10"].format(message.from_user.first_name) + ) + return await Yukki.stop_stream(chat_id) + except: + return + queued = check[0]["file"] + title = (check[0]["title"]).title() + user = check[0]["by"] + streamtype = check[0]["streamtype"] + videoid = check[0]["vidid"] + status = True if str(streamtype) == "video" else None + if "live_" in queued: + n, link = await YouTube.video(videoid, True) + if n == 0: + return await message.reply_text( + _["admin_11"].format(title) + ) + try: + await Yukki.skip_stream(chat_id, link, video=status) + except Exception: + return await message.reply_text(_["call_9"]) + button = telegram_markup(_, chat_id) + img = await gen_thumb(videoid) + run = await message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif "vid_" in queued: + mystic = await message.reply_text( + _["call_10"], disable_web_page_preview=True + ) + try: + file_path, direct = await YouTube.download( + videoid, + mystic, + videoid=True, + video=status, + ) + except: + return await mystic.edit_text(_["call_9"]) + try: + await Yukki.skip_stream(chat_id, file_path, video=status) + except Exception: + return await mystic.edit_text(_["call_9"]) + button = stream_markup(_, videoid, chat_id) + img = await gen_thumb(videoid) + run = await message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + await mystic.delete() + elif "index_" in queued: + try: + await Yukki.skip_stream(chat_id, videoid, video=status) + except Exception: + return await message.reply_text(_["call_9"]) + button = telegram_markup(_, chat_id) + run = await message.reply_photo( + photo=config.STREAM_IMG_URL, + caption=_["stream_2"].format(user), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + else: + try: + await Yukki.skip_stream(chat_id, queued, video=status) + except Exception: + return await message.reply_text(_["call_9"]) + if videoid == "telegram": + button = telegram_markup(_, chat_id) + run = await message.reply_photo( + photo=config.TELEGRAM_AUDIO_URL + if str(streamtype) == "audio" + else config.TELEGRAM_VIDEO_URL, + caption=_["stream_3"].format( + title, check[0]["dur"], user + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif videoid == "soundcloud": + button = telegram_markup(_, chat_id) + run = await message.reply_photo( + photo=config.SOUNCLOUD_IMG_URL + if str(streamtype) == "audio" + else config.TELEGRAM_VIDEO_URL, + caption=_["stream_3"].format( + title, check[0]["dur"], user + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + else: + button = stream_markup(_, videoid, chat_id) + img = await gen_thumb(videoid) + run = await message.reply_photo( + photo=img, + caption=_["stream_1"].format( + user, + f"https://t.me/{app.username}?start=info_{videoid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" diff --git a/YukkiMusic/plugins/admins/stop.py b/YukkiMusic/plugins/admins/stop.py new file mode 100644 index 0000000000000000000000000000000000000000..8c52e140188fd919f792fc070e57d9d9eaf41eaa --- /dev/null +++ b/YukkiMusic/plugins/admins/stop.py @@ -0,0 +1,37 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils.database import set_loop +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +STOP_COMMAND = get_command("STOP_COMMAND") + + +@app.on_message( + filters.command(STOP_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def stop_music(cli, message: Message, _, chat_id): + if not len(message.command) == 1: + return await message.reply_text(_["general_2"]) + await Yukki.stop_stream(chat_id) + await set_loop(chat_id, 0) + await message.reply_text( + _["admin_9"].format(message.from_user.mention) + ) diff --git a/YukkiMusic/plugins/admins/unmute.py b/YukkiMusic/plugins/admins/unmute.py new file mode 100644 index 0000000000000000000000000000000000000000..c5f3ecc37221f2e762a78014dd98ab6527fa2f7b --- /dev/null +++ b/YukkiMusic/plugins/admins/unmute.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils.database import is_muted, mute_off +from YukkiMusic.utils.decorators import AdminRightsCheck + +# Commands +UNMUTE_COMMAND = get_command("UNMUTE_COMMAND") + + +@app.on_message( + filters.command(UNMUTE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminRightsCheck +async def unmute_admin(Client, message: Message, _, chat_id): + if not len(message.command) == 1 or message.reply_to_message: + return await message.reply_text(_["general_2"]) + if not await is_muted(chat_id): + return await message.reply_text(_["admin_7"]) + await mute_off(chat_id) + await Yukki.unmute_stream(chat_id) + await message.reply_text( + _["admin_8"].format(message.from_user.mention) + ) diff --git a/YukkiMusic/plugins/bot/help.py b/YukkiMusic/plugins/bot/help.py new file mode 100644 index 0000000000000000000000000000000000000000..cc71087259159c10bd02a29b906efde743b5dd97 --- /dev/null +++ b/YukkiMusic/plugins/bot/help.py @@ -0,0 +1,122 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +from typing import Union + +from pyrogram import filters, types +from pyrogram.types import InlineKeyboardMarkup, Message + +from config import BANNED_USERS +from strings import get_command, get_string, helpers +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils import help_pannel +from YukkiMusic.utils.database import get_lang, is_commanddelete_on +from YukkiMusic.utils.decorators.language import (LanguageStart, + languageCB) +from YukkiMusic.utils.inline.help import (help_back_markup, + private_help_panel) + +### Command +HELP_COMMAND = get_command("HELP_COMMAND") + + +@app.on_message( + filters.command(HELP_COMMAND) + & filters.private + & ~BANNED_USERS +) +@app.on_callback_query( + filters.regex("settings_back_helper") & ~BANNED_USERS +) +async def helper_private( + client: app, update: Union[types.Message, types.CallbackQuery] +): + is_callback = isinstance(update, types.CallbackQuery) + if is_callback: + try: + await update.answer() + except: + pass + chat_id = update.message.chat.id + language = await get_lang(chat_id) + _ = get_string(language) + keyboard = help_pannel(_, True) + if update.message.photo: + await update.message.delete() + await update.message.reply_text( + _["help_1"], reply_markup=keyboard + ) + else: + await update.edit_message_text( + _["help_1"], reply_markup=keyboard + ) + else: + chat_id = update.chat.id + if await is_commanddelete_on(update.chat.id): + try: + await update.delete() + except: + pass + language = await get_lang(chat_id) + _ = get_string(language) + keyboard = help_pannel(_) + await update.reply_text(_["help_1"], reply_markup=keyboard) + + +@app.on_message( + filters.command(HELP_COMMAND) + & filters.group + & ~BANNED_USERS +) +@LanguageStart +async def help_com_group(client, message: Message, _): + keyboard = private_help_panel(_) + await message.reply_text( + _["help_2"], reply_markup=InlineKeyboardMarkup(keyboard) + ) + + +@app.on_callback_query(filters.regex("help_callback") & ~BANNED_USERS) +@languageCB +async def helper_cb(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + cb = callback_data.split(None, 1)[1] + keyboard = help_back_markup(_) + if cb == "hb5": + if CallbackQuery.from_user.id not in SUDOERS: + return await CallbackQuery.answer( + "Only for Sudo Users", show_alert=True + ) + else: + await CallbackQuery.edit_message_text( + helpers.HELP_5, reply_markup=keyboard + ) + return await CallbackQuery.answer() + try: + await CallbackQuery.answer() + except: + pass + if cb == "hb1": + await CallbackQuery.edit_message_text( + helpers.HELP_1, reply_markup=keyboard + ) + elif cb == "hb2": + await CallbackQuery.edit_message_text( + helpers.HELP_2, reply_markup=keyboard + ) + elif cb == "hb3": + await CallbackQuery.edit_message_text( + helpers.HELP_3, reply_markup=keyboard + ) + elif cb == "hb4": + await CallbackQuery.edit_message_text( + helpers.HELP_4, reply_markup=keyboard + ) diff --git a/YukkiMusic/plugins/bot/inline.py b/YukkiMusic/plugins/bot/inline.py new file mode 100644 index 0000000000000000000000000000000000000000..f711a15014412c00c63c20079dcbf70082e13f75 --- /dev/null +++ b/YukkiMusic/plugins/bot/inline.py @@ -0,0 +1,83 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, + InlineQueryResultPhoto) +from youtubesearchpython.__future__ import VideosSearch + +from config import BANNED_USERS, MUSIC_BOT_NAME +from YukkiMusic import app +from YukkiMusic.utils.inlinequery import answer + + +@app.on_inline_query(~BANNED_USERS) +async def inline_query_handler(client, query): + text = query.query.strip().lower() + answers = [] + if text.strip() == "": + try: + await client.answer_inline_query( + query.id, results=answer, cache_time=10 + ) + except: + return + else: + a = VideosSearch(text, limit=20) + result = (await a.next()).get("result") + for x in range(15): + title = (result[x]["title"]).title() + duration = result[x]["duration"] + views = result[x]["viewCount"]["short"] + thumbnail = result[x]["thumbnails"][0]["url"].split("?")[ + 0 + ] + channellink = result[x]["channel"]["link"] + channel = result[x]["channel"]["name"] + link = result[x]["link"] + published = result[x]["publishedTime"] + description = f"{views} | {duration} Mins | {channel} | {published}" + buttons = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="đŸŽĨ Watch on Youtube", + url=link, + ) + ], + ] + ) + searched_text = f""" + â‡ī¸**Title:** [{title}]({link}) + + âŗ**Duration:** {duration} Mins + 👀**Views:** `{views}` + ⏰**Published Time:** {published} + đŸŽĨ**Channel Name:** {channel} + 📎**Channel Link:** [Visit From Here]({channellink}) + + __Reply with /play on this searched message to stream it on voice chat.__ + + âšĄī¸ ** Inline Search By {MUSIC_BOT_NAME} **""" + answers.append( + InlineQueryResultPhoto( + photo_url=thumbnail, + title=title, + thumb_url=thumbnail, + description=description, + caption=searched_text, + reply_markup=buttons, + ) + ) + try: + return await client.answer_inline_query( + query.id, results=answers + ) + except: + return diff --git a/YukkiMusic/plugins/bot/settings.py b/YukkiMusic/plugins/bot/settings.py new file mode 100644 index 0000000000000000000000000000000000000000..671c24a601b4e296fc61a8ab992afbd6a53f6c4f --- /dev/null +++ b/YukkiMusic/plugins/bot/settings.py @@ -0,0 +1,568 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.errors import MessageNotModified +from pyrogram.types import (CallbackQuery, InlineKeyboardButton, + InlineKeyboardMarkup, Message) + +from config import (BANNED_USERS, CLEANMODE_DELETE_MINS, + MUSIC_BOT_NAME, OWNER_ID) +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.database import (add_nonadmin_chat, + cleanmode_off, cleanmode_on, + commanddelete_off, + commanddelete_on, + get_aud_bit_name, get_authuser, + get_authuser_names, + get_playmode, get_playtype, + get_vid_bit_name, + is_cleanmode_on, + is_commanddelete_on, + is_nonadmin_chat, + is_suggestion, + remove_nonadmin_chat, + save_audio_bitrate, + save_video_bitrate, + set_playmode, set_playtype, + suggestion_off, suggestion_on) +from YukkiMusic.utils.decorators.admins import ActualAdminCB +from YukkiMusic.utils.decorators.language import language, languageCB +from YukkiMusic.utils.inline.settings import ( + audio_quality_markup, auth_users_markup, + cleanmode_settings_markup, playmode_users_markup, setting_markup, + video_quality_markup) +from YukkiMusic.utils.inline.start import private_panel + +### Command +SETTINGS_COMMAND = get_command("SETTINGS_COMMAND") + + +@app.on_message( + filters.command(SETTINGS_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def settings_mar(client, message: Message, _): + buttons = setting_markup(_) + await message.reply_text( + _["setting_1"].format(message.chat.title, message.chat.id), + reply_markup=InlineKeyboardMarkup(buttons), + ) + + +@app.on_callback_query( + filters.regex("settings_helper") & ~BANNED_USERS +) +@languageCB +async def settings_cb(client, CallbackQuery, _): + try: + await CallbackQuery.answer(_["set_cb_8"]) + except: + pass + buttons = setting_markup(_) + return await CallbackQuery.edit_message_text( + _["setting_1"].format( + CallbackQuery.message.chat.title, + CallbackQuery.message.chat.id, + ), + reply_markup=InlineKeyboardMarkup(buttons), + ) + + +@app.on_callback_query( + filters.regex("settingsback_helper") & ~BANNED_USERS +) +@languageCB +async def settings_back_markup( + client, CallbackQuery: CallbackQuery, _ +): + try: + await CallbackQuery.answer() + except: + pass + if CallbackQuery.message.chat.type == "private": + try: + await app.resolve_peer(OWNER_ID[0]) + OWNER = OWNER_ID[0] + except: + OWNER = None + buttons = private_panel(_, app.username, OWNER) + return await CallbackQuery.edit_message_text( + _["start_2"].format(MUSIC_BOT_NAME), + reply_markup=InlineKeyboardMarkup(buttons), + ) + else: + buttons = setting_markup(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +## Audio and Video Quality +async def gen_buttons_aud(_, aud): + if aud == "High": + buttons = audio_quality_markup(_, high=True) + elif aud == "Medium": + buttons = audio_quality_markup(_, medium=True) + elif aud == "Low": + buttons = audio_quality_markup(_, low=True) + return buttons + + +async def gen_buttons_vid(_, aud): + if aud == "High": + buttons = video_quality_markup(_, high=True) + elif aud == "Medium": + buttons = video_quality_markup(_, medium=True) + elif aud == "Low": + buttons = video_quality_markup(_, low=True) + return buttons + + +# without admin rights + + +@app.on_callback_query( + filters.regex( + pattern=r"^(SEARCHANSWER|PLAYMODEANSWER|PLAYTYPEANSWER|AUTHANSWER|CMANSWER|COMMANDANSWER|SUGGANSWER|CM|AQ|VQ|PM|AU)$" + ) + & ~BANNED_USERS +) +@languageCB +async def without_Admin_rights(client, CallbackQuery, _): + command = CallbackQuery.matches[0].group(1) + if command == "SEARCHANSWER": + try: + return await CallbackQuery.answer( + _["setting_3"], show_alert=True + ) + except: + return + if command == "PLAYMODEANSWER": + try: + return await CallbackQuery.answer( + _["setting_10"], show_alert=True + ) + except: + return + if command == "PLAYTYPEANSWER": + try: + return await CallbackQuery.answer( + _["setting_11"], show_alert=True + ) + except: + return + if command == "AUTHANSWER": + try: + return await CallbackQuery.answer( + _["setting_4"], show_alert=True + ) + except: + return + if command == "CMANSWER": + try: + return await CallbackQuery.answer( + _["setting_9"].format(CLEANMODE_DELETE_MINS), + show_alert=True, + ) + except: + return + if command == "COMMANDANSWER": + try: + return await CallbackQuery.answer( + _["setting_14"], show_alert=True + ) + except: + return + if command == "SUGGANSWER": + try: + return await CallbackQuery.answer( + _["setting_16"], show_alert=True + ) + except: + return + if command == "CM": + try: + await CallbackQuery.answer(_["set_cb_5"], show_alert=True) + except: + pass + sta = None + cle = None + if await is_cleanmode_on(CallbackQuery.message.chat.id): + cle = True + if await is_commanddelete_on(CallbackQuery.message.chat.id): + sta = True + sug = None + if await is_suggestion(CallbackQuery.message.chat.id): + sug = True + buttons = cleanmode_settings_markup( + _, status=cle, dels=sta, sug=sug + ) + if command == "AQ": + try: + await CallbackQuery.answer(_["set_cb_1"], show_alert=True) + except: + pass + aud = await get_aud_bit_name(CallbackQuery.message.chat.id) + buttons = await gen_buttons_aud(_, aud) + if command == "VQ": + try: + await CallbackQuery.answer(_["set_cb_2"], show_alert=True) + except: + pass + aud = await get_vid_bit_name(CallbackQuery.message.chat.id) + buttons = await gen_buttons_vid(_, aud) + if command == "PM": + try: + await CallbackQuery.answer(_["set_cb_4"], show_alert=True) + except: + pass + playmode = await get_playmode(CallbackQuery.message.chat.id) + if playmode == "Direct": + Direct = True + else: + Direct = None + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + Group = True + else: + Group = None + playty = await get_playtype(CallbackQuery.message.chat.id) + if playty == "Everyone": + Playtype = None + else: + Playtype = True + buttons = playmode_users_markup(_, Direct, Group, Playtype) + if command == "AU": + try: + await CallbackQuery.answer(_["set_cb_3"], show_alert=True) + except: + pass + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + buttons = auth_users_markup(_, True) + else: + buttons = auth_users_markup(_) + try: + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except MessageNotModified: + return + + +# Audio Video Quality + + +@app.on_callback_query( + filters.regex(pattern=r"^(LQA|MQA|HQA|LQV|MQV|HQV)$") + & ~BANNED_USERS +) +@ActualAdminCB +async def aud_vid_cb(client, CallbackQuery, _): + command = CallbackQuery.matches[0].group(1) + try: + await CallbackQuery.answer(_["set_cb_6"], show_alert=True) + except: + pass + if command == "LQA": + await save_audio_bitrate(CallbackQuery.message.chat.id, "Low") + buttons = audio_quality_markup(_, low=True) + if command == "MQA": + await save_audio_bitrate( + CallbackQuery.message.chat.id, "Medium" + ) + buttons = audio_quality_markup(_, medium=True) + if command == "HQA": + await save_audio_bitrate( + CallbackQuery.message.chat.id, "High" + ) + buttons = audio_quality_markup(_, high=True) + if command == "LQV": + await save_video_bitrate(CallbackQuery.message.chat.id, "Low") + buttons = video_quality_markup(_, low=True) + if command == "MQV": + await save_video_bitrate( + CallbackQuery.message.chat.id, "Medium" + ) + buttons = video_quality_markup(_, medium=True) + if command == "HQV": + await save_video_bitrate( + CallbackQuery.message.chat.id, "High" + ) + buttons = video_quality_markup(_, high=True) + try: + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except MessageNotModified: + return + + +# Play Mode Settings +@app.on_callback_query( + filters.regex( + pattern=r"^(|MODECHANGE|CHANNELMODECHANGE|PLAYTYPECHANGE)$" + ) + & ~BANNED_USERS +) +@ActualAdminCB +async def playmode_ans(client, CallbackQuery, _): + command = CallbackQuery.matches[0].group(1) + if command == "CHANNELMODECHANGE": + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + await add_nonadmin_chat(CallbackQuery.message.chat.id) + Group = None + else: + await remove_nonadmin_chat(CallbackQuery.message.chat.id) + Group = True + playmode = await get_playmode(CallbackQuery.message.chat.id) + if playmode == "Direct": + Direct = True + else: + Direct = None + playty = await get_playtype(CallbackQuery.message.chat.id) + if playty == "Everyone": + Playtype = None + else: + Playtype = True + buttons = playmode_users_markup(_, Direct, Group, Playtype) + if command == "MODECHANGE": + try: + await CallbackQuery.answer(_["set_cb_6"], show_alert=True) + except: + pass + playmode = await get_playmode(CallbackQuery.message.chat.id) + if playmode == "Direct": + await set_playmode( + CallbackQuery.message.chat.id, "Inline" + ) + Direct = None + else: + await set_playmode( + CallbackQuery.message.chat.id, "Direct" + ) + Direct = True + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + Group = True + else: + Group = None + playty = await get_playtype(CallbackQuery.message.chat.id) + if playty == "Everyone": + Playtype = False + else: + Playtype = True + buttons = playmode_users_markup(_, Direct, Group, Playtype) + if command == "PLAYTYPECHANGE": + try: + await CallbackQuery.answer(_["set_cb_6"], show_alert=True) + except: + pass + playty = await get_playtype(CallbackQuery.message.chat.id) + if playty == "Everyone": + await set_playtype(CallbackQuery.message.chat.id, "Admin") + Playtype = False + else: + await set_playtype( + CallbackQuery.message.chat.id, "Everyone" + ) + Playtype = True + playmode = await get_playmode(CallbackQuery.message.chat.id) + if playmode == "Direct": + Direct = True + else: + Direct = None + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + Group = True + else: + Group = None + buttons = playmode_users_markup(_, Direct, Group, Playtype) + try: + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except MessageNotModified: + return + + +# Auth Users Settings +@app.on_callback_query( + filters.regex(pattern=r"^(AUTH|AUTHLIST)$") & ~BANNED_USERS +) +@ActualAdminCB +async def authusers_mar(client, CallbackQuery, _): + command = CallbackQuery.matches[0].group(1) + if command == "AUTHLIST": + _authusers = await get_authuser_names( + CallbackQuery.message.chat.id + ) + if not _authusers: + try: + return await CallbackQuery.answer( + _["setting_5"], show_alert=True + ) + except: + return + else: + try: + await CallbackQuery.answer( + _["set_cb_7"], show_alert=True + ) + except: + pass + j = 0 + await CallbackQuery.edit_message_text(_["auth_6"]) + msg = _["auth_7"] + for note in _authusers: + _note = await get_authuser( + CallbackQuery.message.chat.id, note + ) + user_id = _note["auth_user_id"] + admin_id = _note["admin_id"] + admin_name = _note["admin_name"] + try: + user = await client.get_users(user_id) + user = user.first_name + j += 1 + except Exception: + continue + msg += f"{j}➤ {user}[`{user_id}`]\n" + msg += ( + f" {_['auth_8']} {admin_name}[`{admin_id}`]\n\n" + ) + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], callback_data=f"AU" + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data=f"close", + ), + ] + ] + ) + try: + return await CallbackQuery.edit_message_text( + msg, reply_markup=upl + ) + except MessageNotModified: + return + try: + await CallbackQuery.answer(_["set_cb_6"], show_alert=True) + except: + pass + if command == "AUTH": + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + await add_nonadmin_chat(CallbackQuery.message.chat.id) + buttons = auth_users_markup(_) + else: + await remove_nonadmin_chat(CallbackQuery.message.chat.id) + buttons = auth_users_markup(_, True) + try: + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except MessageNotModified: + return + + +## Clean Mode + + +@app.on_callback_query( + filters.regex( + pattern=r"^(CLEANMODE|COMMANDELMODE|SUGGESTIONCHANGE)$" + ) + & ~BANNED_USERS +) +@ActualAdminCB +async def cleanmode_mark(client, CallbackQuery, _): + command = CallbackQuery.matches[0].group(1) + try: + await CallbackQuery.answer(_["set_cb_6"], show_alert=True) + except: + pass + if command == "CLEANMODE": + sta = None + if await is_commanddelete_on(CallbackQuery.message.chat.id): + sta = True + sug = None + if await is_suggestion(CallbackQuery.message.chat.id): + sug = True + cle = None + if await is_cleanmode_on(CallbackQuery.message.chat.id): + await cleanmode_off(CallbackQuery.message.chat.id) + else: + await cleanmode_on(CallbackQuery.message.chat.id) + cle = True + buttons = cleanmode_settings_markup( + _, status=cle, dels=sta, sug=sug + ) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + if command == "COMMANDELMODE": + cle = None + sta = None + if await is_cleanmode_on(CallbackQuery.message.chat.id): + cle = True + sug = None + if await is_suggestion(CallbackQuery.message.chat.id): + sug = True + if await is_commanddelete_on(CallbackQuery.message.chat.id): + await commanddelete_off(CallbackQuery.message.chat.id) + else: + await commanddelete_on(CallbackQuery.message.chat.id) + sta = True + buttons = cleanmode_settings_markup( + _, status=cle, dels=sta, sug=sug + ) + if command == "SUGGESTIONCHANGE": + cle = None + sta = None + if await is_cleanmode_on(CallbackQuery.message.chat.id): + cle = True + if await is_commanddelete_on(CallbackQuery.message.chat.id): + sta = True + if await is_suggestion(CallbackQuery.message.chat.id): + await suggestion_off(CallbackQuery.message.chat.id) + sug = False + else: + await suggestion_on(CallbackQuery.message.chat.id) + sug = True + buttons = cleanmode_settings_markup( + _, status=cle, dels=sta, sug=sug + ) + try: + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except MessageNotModified: + return diff --git a/YukkiMusic/plugins/bot/start.py b/YukkiMusic/plugins/bot/start.py new file mode 100644 index 0000000000000000000000000000000000000000..7a22dd70a76b80e3b17ab5b8dd1b937547ec9f94 --- /dev/null +++ b/YukkiMusic/plugins/bot/start.py @@ -0,0 +1,294 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio + +from pyrogram import filters +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, Message) +from youtubesearchpython.__future__ import VideosSearch + +import config +from config import BANNED_USERS +from config.config import OWNER_ID +from strings import get_command, get_string +from YukkiMusic import Telegram, YouTube, app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.plugins.play.playlist import del_plist_msg +from YukkiMusic.plugins.sudo.sudoers import sudoers_list +from YukkiMusic.utils.database import (add_served_chat, + add_served_user, + blacklisted_chats, + get_assistant, get_lang, + get_userss, is_on_off, + is_served_private_chat) +from YukkiMusic.utils.decorators.language import LanguageStart +from YukkiMusic.utils.inline import (help_pannel, private_panel, + start_pannel) + +loop = asyncio.get_running_loop() + + +@app.on_message( + filters.command(get_command("START_COMMAND")) + & filters.private + & ~BANNED_USERS +) +@LanguageStart +async def start_comm(client, message: Message, _): + await add_served_user(message.from_user.id) + if len(message.text.split()) > 1: + name = message.text.split(None, 1)[1] + if name[0:4] == "help": + keyboard = help_pannel(_) + return await message.reply_text( + _["help_1"], reply_markup=keyboard + ) + if name[0:4] == "song": + return await message.reply_text(_["song_2"]) + if name[0:3] == "sta": + m = await message.reply_text( + "🔎 Fetching your personal stats.!" + ) + stats = await get_userss(message.from_user.id) + tot = len(stats) + if not stats: + await asyncio.sleep(1) + return await m.edit(_["ustats_1"]) + + def get_stats(): + msg = "" + limit = 0 + results = {} + for i in stats: + top_list = stats[i]["spot"] + results[str(i)] = top_list + list_arranged = dict( + sorted( + results.items(), + key=lambda item: item[1], + reverse=True, + ) + ) + if not results: + return m.edit(_["ustats_1"]) + tota = 0 + videoid = None + for vidid, count in list_arranged.items(): + tota += count + if limit == 10: + continue + if limit == 0: + videoid = vidid + limit += 1 + details = stats.get(vidid) + title = (details["title"][:35]).title() + if vidid == "telegram": + msg += f"🔗[Telegram Files and Audios](https://t.me/telegram) ** played {count} times**\n\n" + else: + msg += f"🔗 [{title}](https://www.youtube.com/watch?v={vidid}) ** played {count} times**\n\n" + msg = _["ustats_2"].format(tot, tota, limit) + msg + return videoid, msg + + try: + videoid, msg = await loop.run_in_executor( + None, get_stats + ) + except Exception as e: + print(e) + return + thumbnail = await YouTube.thumbnail(videoid, True) + await m.delete() + await message.reply_photo(photo=thumbnail, caption=msg) + return + if name[0:3] == "sud": + await sudoers_list(client=client, message=message, _=_) + if await is_on_off(config.LOG): + sender_id = message.from_user.id + sender_name = message.from_user.first_name + return await app.send_message( + config.LOG_GROUP_ID, + f"{message.from_user.mention} has just started bot to check SUDOLIST\n\n**USER ID:** {sender_id}\n**USER NAME:** {sender_name}", + ) + return + if name[0:3] == "lyr": + query = (str(name)).replace("lyrics_", "", 1) + lyrical = config.lyrical + lyrics = lyrical.get(query) + if lyrics: + return await Telegram.send_split_text(message, lyrics) + else: + return await message.reply_text( + "Failed to get lyrics." + ) + if name[0:3] == "del": + await del_plist_msg(client=client, message=message, _=_) + if name[0:3] == "inf": + m = await message.reply_text("🔎 Fetching Info!") + query = (str(name)).replace("info_", "", 1) + query = f"https://www.youtube.com/watch?v={query}" + results = VideosSearch(query, limit=1) + for result in (await results.next())["result"]: + title = result["title"] + duration = result["duration"] + views = result["viewCount"]["short"] + thumbnail = result["thumbnails"][0]["url"].split("?")[ + 0 + ] + channellink = result["channel"]["link"] + channel = result["channel"]["name"] + link = result["link"] + published = result["publishedTime"] + searched_text = f""" + 🔍__**Video Track Information**__ + + â‡ī¸**Title:** {title} + + âŗ**Duration:** {duration} Mins + 👀**Views:** `{views}` + ⏰**Published Time:** {published} + đŸŽĨ**Channel Name:** {channel} + 📎**Channel Link:** [Visit From Here]({channellink}) + 🔗**Video Link:** [Link]({link}) + + âšĄī¸ __Searched Powered By {config.MUSIC_BOT_NAME}__""" + key = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="đŸŽĨ Watch ", url=f"{link}" + ), + InlineKeyboardButton( + text="🔄 Close", callback_data="close" + ), + ], + ] + ) + await m.delete() + await app.send_photo( + message.chat.id, + photo=thumbnail, + caption=searched_text, + reply_markup=key, + ) + if await is_on_off(config.LOG): + sender_id = message.from_user.id + sender_name = message.from_user.first_name + return await app.send_message( + config.LOG_GROUP_ID, + f"{message.from_user.mention} has just started bot to check VIDEO INFORMATION\n\n**USER ID:** {sender_id}\n**USER NAME:** {sender_name}", + ) + else: + try: + await app.resolve_peer(OWNER_ID[0]) + OWNER = OWNER_ID[0] + except: + OWNER = None + out = private_panel(_, app.username, OWNER) + if config.START_IMG_URL: + try: + await message.reply_photo( + photo=config.START_IMG_URL, + caption=_["start_2"].format( + config.MUSIC_BOT_NAME + ), + reply_markup=InlineKeyboardMarkup(out), + ) + except: + await message.reply_text( + _["start_2"].format(config.MUSIC_BOT_NAME), + reply_markup=InlineKeyboardMarkup(out), + ) + else: + await message.reply_text( + _["start_2"].format(config.MUSIC_BOT_NAME), + reply_markup=InlineKeyboardMarkup(out), + ) + if await is_on_off(config.LOG): + sender_id = message.from_user.id + sender_name = message.from_user.first_name + return await app.send_message( + config.LOG_GROUP_ID, + f"{message.from_user.mention} has just started Bot.\n\n**USER ID:** {sender_id}\n**USER NAME:** {sender_name}", + ) + + +@app.on_message( + filters.command(get_command("START_COMMAND")) + & filters.group + & ~BANNED_USERS +) +@LanguageStart +async def testbot(client, message: Message, _): + out = start_pannel(_) + return await message.reply_text( + _["start_1"].format( + message.chat.title, config.MUSIC_BOT_NAME + ), + reply_markup=InlineKeyboardMarkup(out), + ) + + +welcome_group = 2 + + +@app.on_message(filters.new_chat_members, group=welcome_group) +async def welcome(client, message: Message): + chat_id = message.chat.id + + if config.PRIVATE_BOT_MODE == str(True): + if not await is_served_private_chat(message.chat.id): + await message.reply_text( + "**Private Music Bot**\n\nOnly for authorized chats from the owner. Ask my owner to allow your chat first." + ) + return await app.leave_chat(message.chat.id) + else: + await add_served_chat(chat_id) + for member in message.new_chat_members: + try: + language = await get_lang(message.chat.id) + _ = get_string(language) + if member.id == app.id: + chat_type = message.chat.type + + if chat_type != "SUPERGROUP": + await message.reply_text(_["start_6"]) + return await app.leave_chat(message.chat.id) + if chat_id in await blacklisted_chats(): + await message.reply_text( + _["start_7"].format( + f"https://t.me/{app.username}?start=sudolist" + ) + ) + return await app.leave_chat(chat_id) + userbot = await get_assistant(message.chat.id) + out = start_pannel(_) + await message.reply_text( + _["start_3"].format( + config.MUSIC_BOT_NAME, + userbot.username, + userbot.id, + ), + reply_markup=InlineKeyboardMarkup(out), + ) + if member.id in config.OWNER_ID: + return await message.reply_text( + _["start_4"].format( + config.MUSIC_BOT_NAME, member.mention + ) + ) + if member.id in SUDOERS: + return await message.reply_text( + _["start_5"].format( + config.MUSIC_BOT_NAME, member.mention + ) + ) + return + except: + return diff --git a/YukkiMusic/plugins/devs/dev.py b/YukkiMusic/plugins/devs/dev.py new file mode 100644 index 0000000000000000000000000000000000000000..baa8ca5e1385210683222aeca3c7c99f15fb6fe1 --- /dev/null +++ b/YukkiMusic/plugins/devs/dev.py @@ -0,0 +1,225 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. +# +# This aeval and sh module is taken from < https://github.com/TheHamkerCat/WilliamButcherBot > +# Credit goes to TheHamkerCat. +# + +import os +import re +import subprocess +import sys +import traceback +from inspect import getfullargspec +from io import StringIO +from time import time + +from pyrogram import filters +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, Message) + +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS + + +async def aexec(code, client, message): + exec( + "async def __aexec(client, message): " + + "".join(f"\n {a}" for a in code.split("\n")) + ) + return await locals()["__aexec"](client, message) + + +async def edit_or_reply(msg: Message, **kwargs): + func = msg.edit_text if msg.from_user.is_self else msg.reply + spec = getfullargspec(func.__wrapped__).args + await func(**{k: v for k, v in kwargs.items() if k in spec}) + + +@app.on_message( + filters.command("eval") + & SUDOERS + & ~filters.forwarded + & ~filters.via_bot +) +async def executor(client, message): + if len(message.command) < 2: + return await edit_or_reply( + message, text="__Nigga Give me some command to execute.__" + ) + try: + cmd = message.text.split(" ", maxsplit=1)[1] + except IndexError: + return await message.delete() + t1 = time() + old_stderr = sys.stderr + old_stdout = sys.stdout + redirected_output = sys.stdout = StringIO() + redirected_error = sys.stderr = StringIO() + stdout, stderr, exc = None, None, None + try: + await aexec(cmd, client, message) + except Exception: + exc = traceback.format_exc() + stdout = redirected_output.getvalue() + stderr = redirected_error.getvalue() + sys.stdout = old_stdout + sys.stderr = old_stderr + evaluation = "" + if exc: + evaluation = exc + elif stderr: + evaluation = stderr + elif stdout: + evaluation = stdout + else: + evaluation = "Success" + final_output = f"**OUTPUT**:\n```{evaluation.strip()}```" + if len(final_output) > 4096: + filename = "output.txt" + with open(filename, "w+", encoding="utf8") as out_file: + out_file.write(str(evaluation.strip())) + t2 = time() + keyboard = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="âŗ", + callback_data=f"runtime {t2-t1} Seconds", + ) + ] + ] + ) + await message.reply_document( + document=filename, + caption=f"**INPUT:**\n`{cmd[0:980]}`\n\n**OUTPUT:**\n`Attached Document`", + quote=False, + reply_markup=keyboard, + ) + await message.delete() + os.remove(filename) + else: + t2 = time() + keyboard = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="âŗ", + callback_data=f"runtime {round(t2-t1, 3)} Seconds", + ), + InlineKeyboardButton( + text="🗑", + callback_data=f"forceclose abc|{message.from_user.id}", + ), + ] + ] + ) + await edit_or_reply( + message, text=final_output, reply_markup=keyboard + ) + + +@app.on_callback_query(filters.regex(r"runtime")) +async def runtime_func_cq(_, cq): + runtime = cq.data.split(None, 1)[1] + await cq.answer(runtime, show_alert=True) + + +@app.on_callback_query(filters.regex("forceclose")) +async def forceclose_command(_, CallbackQuery): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + query, user_id = callback_request.split("|") + if CallbackQuery.from_user.id != int(user_id): + try: + return await CallbackQuery.answer( + "You're not allowed to close this.", show_alert=True + ) + except: + return + await CallbackQuery.message.delete() + try: + await CallbackQuery.answer() + except: + return + + +@app.on_message( + filters.command("sh") + & SUDOERS + & ~filters.forwarded + & ~filters.via_bot +) +async def shellrunner(client, message): + if len(message.command) < 2: + return await edit_or_reply( + message, text="**Usage:**\n/sh git pull" + ) + text = message.text.split(None, 1)[1] + if "\n" in text: + code = text.split("\n") + output = "" + for x in code: + shell = re.split( + """ (?=(?:[^'"]|'[^']*'|"[^"]*")*$)""", x + ) + try: + process = subprocess.Popen( + shell, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + except Exception as err: + print(err) + await edit_or_reply( + message, text=f"**ERROR:**\n```{err}```" + ) + output += f"**{code}**\n" + output += process.stdout.read()[:-1].decode("utf-8") + output += "\n" + else: + shell = re.split(""" (?=(?:[^'"]|'[^']*'|"[^"]*")*$)""", text) + for a in range(len(shell)): + shell[a] = shell[a].replace('"', "") + try: + process = subprocess.Popen( + shell, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + except Exception as err: + print(err) + exc_type, exc_obj, exc_tb = sys.exc_info() + errors = traceback.format_exception( + etype=exc_type, + value=exc_obj, + tb=exc_tb, + ) + return await edit_or_reply( + message, text=f"**ERROR:**\n```{''.join(errors)}```" + ) + output = process.stdout.read()[:-1].decode("utf-8") + if str(output) == "\n": + output = None + if output: + if len(output) > 4096: + with open("output.txt", "w+") as file: + file.write(output) + await client.send_document( + message.chat.id, + "output.txt", + reply_to_message_id=message.message_id, + caption="`Output`", + ) + return os.remove("output.txt") + await edit_or_reply( + message, text=f"**OUTPUT:**\n```{output}```" + ) + else: + await edit_or_reply(message, text="**OUTPUT: **\n`No output`") diff --git a/YukkiMusic/plugins/misc/autoleave.py b/YukkiMusic/plugins/misc/autoleave.py new file mode 100644 index 0000000000000000000000000000000000000000..cdbe20ad409dfd565574d49e5028aa335ca97424 --- /dev/null +++ b/YukkiMusic/plugins/misc/autoleave.py @@ -0,0 +1,88 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +from datetime import datetime + +import config +from YukkiMusic import app +from YukkiMusic.core.call import Yukki, autoend +from YukkiMusic.utils.database import (get_client, is_active_chat, + is_autoend) + + +async def auto_leave(): + if config.AUTO_LEAVING_ASSISTANT == str(True): + while not await asyncio.sleep( + config.AUTO_LEAVE_ASSISTANT_TIME + ): + from YukkiMusic.core.userbot import assistants + + for num in assistants: + client = await get_client(num) + left = 0 + try: + async for i in client.iter_dialogs(): + chat_type = i.chat.type + if chat_type in [ + "supergroup", + "group", + "channel", + ]: + chat_id = i.chat.id + if ( + chat_id != config.LOG_GROUP_ID + and chat_id != -1001190342892 + and chat_id != -1001733534088 + and chat_id != -1001443281821 + ): + if left == 20: + continue + if not await is_active_chat(chat_id): + try: + await client.leave_chat( + chat_id + ) + left += 1 + except: + continue + except: + pass + + +asyncio.create_task(auto_leave()) + + +async def auto_end(): + while not await asyncio.sleep(5): + if not await is_autoend(): + continue + for chat_id in autoend: + timer = autoend.get(chat_id) + if not timer: + continue + if datetime.now() > timer: + if not await is_active_chat(chat_id): + autoend[chat_id] = {} + continue + autoend[chat_id] = {} + try: + await Yukki.stop_stream(chat_id) + except: + continue + try: + await app.send_message( + chat_id, + "Bot has left voice chat due to inactivity to avoid overload on servers. No-one was listening to the bot on voice chat.", + ) + except: + continue + + +asyncio.create_task(auto_end()) diff --git a/YukkiMusic/plugins/misc/cleanmode.py b/YukkiMusic/plugins/misc/cleanmode.py new file mode 100644 index 0000000000000000000000000000000000000000..1b016769995a5256125b08ed06159059dbced003 --- /dev/null +++ b/YukkiMusic/plugins/misc/cleanmode.py @@ -0,0 +1,279 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +from datetime import datetime, timedelta + +from pyrogram import filters +from pyrogram.errors import FloodWait +from pyrogram.raw import types + +import config +from config import adminlist, chatstats, clean, userstats +from strings import get_command +from YukkiMusic import app, userbot +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (get_active_chats, + get_authuser_names, get_client, + get_particular_top, + get_served_chats, + get_served_users, get_user_top, + is_cleanmode_on, set_queries, + update_particular_top, + update_user_top) +from YukkiMusic.utils.decorators.language import language +from YukkiMusic.utils.formatters import alpha_to_int + +BROADCAST_COMMAND = get_command("BROADCAST_COMMAND") +AUTO_DELETE = config.CLEANMODE_DELETE_MINS +AUTO_SLEEP = 5 +IS_BROADCASTING = False +cleanmode_group = 15 + + +@app.on_raw_update(group=cleanmode_group) +async def clean_mode(client, update, users, chats): + global IS_BROADCASTING + if IS_BROADCASTING: + return + try: + if not isinstance(update, types.UpdateReadChannelOutbox): + return + except: + return + if users: + return + if chats: + return + message_id = update.max_id + chat_id = int(f"-100{update.channel_id}") + if not await is_cleanmode_on(chat_id): + return + if chat_id not in clean: + clean[chat_id] = [] + time_now = datetime.now() + put = { + "msg_id": message_id, + "timer_after": time_now + timedelta(minutes=AUTO_DELETE), + } + clean[chat_id].append(put) + await set_queries(1) + + +@app.on_message(filters.command(BROADCAST_COMMAND) & SUDOERS) +@language +async def braodcast_message(client, message, _): + global IS_BROADCASTING + if message.reply_to_message: + x = message.reply_to_message.message_id + y = message.chat.id + else: + if len(message.command) < 2: + return await message.reply_text(_["broad_5"]) + query = message.text.split(None, 1)[1] + if "-pin" in query: + query = query.replace("-pin", "") + if "-nobot" in query: + query = query.replace("-nobot", "") + if "-pinloud" in query: + query = query.replace("-pinloud", "") + if "-assistant" in query: + query = query.replace("-assistant", "") + if "-user" in query: + query = query.replace("-user", "") + if query == "": + return await message.reply_text(_["broad_6"]) + + IS_BROADCASTING = True + + # Bot broadcast inside chats + if "-nobot" not in message.text: + sent = 0 + pin = 0 + chats = [] + schats = await get_served_chats() + for chat in schats: + chats.append(int(chat["chat_id"])) + for i in chats: + if i == -1001733534088: + continue + try: + m = ( + await app.forward_messages(i, y, x) + if message.reply_to_message + else await app.send_message(i, text=query) + ) + if "-pin" in message.text: + try: + await m.pin(disable_notification=True) + pin += 1 + except Exception: + continue + elif "-pinloud" in message.text: + try: + await m.pin(disable_notification=False) + pin += 1 + except Exception: + continue + sent += 1 + except FloodWait as e: + flood_time = int(e.x) + if flood_time > 200: + continue + await asyncio.sleep(flood_time) + except Exception: + continue + try: + await message.reply_text(_["broad_1"].format(sent, pin)) + except: + pass + + # Bot broadcasting to users + if "-user" in message.text: + susr = 0 + served_users = [] + susers = await get_served_users() + for user in susers: + served_users.append(int(user["user_id"])) + for i in served_users: + try: + m = ( + await app.forward_messages(i, y, x) + if message.reply_to_message + else await app.send_message(i, text=query) + ) + susr += 1 + except FloodWait as e: + flood_time = int(e.x) + if flood_time > 200: + continue + await asyncio.sleep(flood_time) + except Exception: + pass + try: + await message.reply_text(_["broad_7"].format(susr)) + except: + pass + + # Bot broadcasting by assistant + if "-assistant" in message.text: + aw = await message.reply_text(_["broad_2"]) + text = _["broad_3"] + from YukkiMusic.core.userbot import assistants + + for num in assistants: + sent = 0 + client = await get_client(num) + async for dialog in client.iter_dialogs(): + if dialog.chat.id == -1001733534088: + continue + try: + await client.forward_messages( + dialog.chat.id, y, x + ) if message.reply_to_message else await client.send_message( + dialog.chat.id, text=query + ) + sent += 1 + except FloodWait as e: + flood_time = int(e.x) + if flood_time > 200: + continue + await asyncio.sleep(flood_time) + except Exception as e: + print(e) + continue + text += _["broad_4"].format(num, sent) + try: + await aw.edit_text(text) + except: + pass + IS_BROADCASTING = False + + +async def auto_clean(): + while not await asyncio.sleep(AUTO_SLEEP): + try: + for chat_id in chatstats: + for dic in chatstats[chat_id]: + vidid = dic["vidid"] + title = dic["title"] + chatstats[chat_id].pop(0) + spot = await get_particular_top(chat_id, vidid) + if spot: + spot = spot["spot"] + next_spot = spot + 1 + new_spot = {"spot": next_spot, "title": title} + await update_particular_top( + chat_id, vidid, new_spot + ) + else: + next_spot = 1 + new_spot = {"spot": next_spot, "title": title} + await update_particular_top( + chat_id, vidid, new_spot + ) + for user_id in userstats: + for dic in userstats[user_id]: + vidid = dic["vidid"] + title = dic["title"] + userstats[user_id].pop(0) + spot = await get_user_top(user_id, vidid) + if spot: + spot = spot["spot"] + next_spot = spot + 1 + new_spot = {"spot": next_spot, "title": title} + await update_user_top( + user_id, vidid, new_spot + ) + else: + next_spot = 1 + new_spot = {"spot": next_spot, "title": title} + await update_user_top( + user_id, vidid, new_spot + ) + except: + continue + try: + for chat_id in clean: + if chat_id == config.LOG_GROUP_ID: + continue + for x in clean[chat_id]: + if datetime.now() > x["timer_after"]: + try: + await app.delete_messages( + chat_id, x["msg_id"] + ) + except FloodWait as e: + await asyncio.sleep(e.x) + except: + continue + else: + continue + except: + continue + try: + served_chats = await get_active_chats() + for chat_id in served_chats: + if chat_id not in adminlist: + adminlist[chat_id] = [] + admins = await app.get_chat_members( + chat_id, filter="administrators" + ) + for user in admins: + if user.can_manage_voice_chats: + adminlist[chat_id].append(user.user.id) + authusers = await get_authuser_names(chat_id) + for user in authusers: + user_id = await alpha_to_int(user) + adminlist[chat_id].append(user_id) + except: + continue + + +asyncio.create_task(auto_clean()) diff --git a/YukkiMusic/plugins/misc/seeker.py b/YukkiMusic/plugins/misc/seeker.py new file mode 100644 index 0000000000000000000000000000000000000000..02e0588bf37fe15ef876b54dbbb07321f1c1a516 --- /dev/null +++ b/YukkiMusic/plugins/misc/seeker.py @@ -0,0 +1,103 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio + +from pyrogram.types import InlineKeyboardMarkup + +from strings import get_string +from YukkiMusic.misc import db +from YukkiMusic.utils.database import (get_active_chats, get_lang, + is_music_playing) +from YukkiMusic.utils.formatters import seconds_to_min +from YukkiMusic.utils.inline import (stream_markup_timer, + telegram_markup_timer) + +from ..admins.callback import wrong + +checker = {} + + +async def timer(): + while not await asyncio.sleep(1): + active_chats = await get_active_chats() + for chat_id in active_chats: + if not await is_music_playing(chat_id): + continue + playing = db.get(chat_id) + if not playing: + continue + file_path = playing[0]["file"] + if "index_" in file_path or "live_" in file_path: + continue + duration = int(playing[0]["seconds"]) + if duration == 0: + continue + db[chat_id][0]["played"] += 1 + + +asyncio.create_task(timer()) + + +async def markup_timer(): + while not await asyncio.sleep(4): + active_chats = await get_active_chats() + for chat_id in active_chats: + try: + if not await is_music_playing(chat_id): + continue + playing = db.get(chat_id) + if not playing: + continue + duration_seconds = int(playing[0]["seconds"]) + if duration_seconds == 0: + continue + try: + mystic = playing[0]["mystic"] + markup = playing[0]["markup"] + except: + continue + try: + check = wrong[chat_id][mystic.message_id] + if check is False: + continue + except: + pass + try: + language = await get_lang(chat_id) + _ = get_string(language) + except: + _ = get_string("en") + try: + buttons = ( + stream_markup_timer( + _, + playing[0]["vidid"], + chat_id, + seconds_to_min(playing[0]["played"]), + playing[0]["dur"], + ) + if markup == "stream" + else telegram_markup_timer( + _, + chat_id, + seconds_to_min(playing[0]["played"]), + playing[0]["dur"], + ) + ) + await mystic.edit_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + except: + continue + except: + continue + + +asyncio.create_task(markup_timer()) diff --git a/YukkiMusic/plugins/misc/suggestion.py b/YukkiMusic/plugins/misc/suggestion.py new file mode 100644 index 0000000000000000000000000000000000000000..be6ef4a68108636ac5bbd8ff5e5efb06cf42b370 --- /dev/null +++ b/YukkiMusic/plugins/misc/suggestion.py @@ -0,0 +1,89 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import random +from datetime import datetime, timedelta + +import config +from config import clean +from strings import get_string +from YukkiMusic import app +from YukkiMusic.utils.database import (get_lang, + get_private_served_chats, + get_served_chats, + is_suggestion) + +LEAVE_TIME = config.AUTO_SUGGESTION_TIME + + +strings = [] +suggestor = {} + +for item in get_string("en"): + if item[0:3] == "sug" and item != "sug_0": + strings.append(item) + + +async def dont_do_this(): + if config.AUTO_SUGGESTION_MODE == str(True): + while not await asyncio.sleep(LEAVE_TIME): + try: + chats = [] + if config.PRIVATE_BOT_MODE == str(True): + schats = await get_private_served_chats() + else: + schats = await get_served_chats() + for chat in schats: + chats.append(int(chat["chat_id"])) + total = len(chats) + if total >= 100: + total //= 10 + send_to = 0 + random.shuffle(chats) + for x in chats: + if send_to == total: + break + if x == config.LOG_GROUP_ID: + continue + if not await is_suggestion(x): + continue + try: + language = await get_lang(x) + _ = get_string(language) + except: + _ = get_string("en") + string = random.choice(strings) + previous = suggestor.get(x) + if previous: + while previous == (string.split("_")[1]): + string = random.choice(strings) + suggestor[x] = string.split("_")[1] + try: + msg = _["sug_0"] + _[string] + sent = await app.send_message(x, msg) + if x not in clean: + clean[x] = [] + time_now = datetime.now() + put = { + "msg_id": sent.message_id, + "timer_after": time_now + + timedelta( + minutes=config.CLEANMODE_DELETE_MINS + ), + } + clean[x].append(put) + send_to += 1 + except: + pass + except: + pass + + +asyncio.create_task(dont_do_this()) diff --git a/YukkiMusic/plugins/play/Chat_Selecter.py b/YukkiMusic/plugins/play/Chat_Selecter.py new file mode 100644 index 0000000000000000000000000000000000000000..87cdfdc732650ad36e0b51345c82f50d567898fb --- /dev/null +++ b/YukkiMusic/plugins/play/Chat_Selecter.py @@ -0,0 +1,125 @@ +import random +import string +from ast import ExceptHandler +import traceback +from pyrogram import filters +from pyrogram import enums +from pyrogram.types import (InlineKeyboardMarkup,InlineKeyboardButton,WebAppInfo, InputMediaPhoto,KeyboardButton,ReplyKeyboardMarkup, + Message) +from pytgcalls.exceptions import NoActiveGroupCall +#from pyrogram.raw.types import UpdateWebViewResultSent, UpdateWebPage +from pyrogram.raw import functions, types +from pytube import extract +import config +import json +from config import BANNED_USERS, lyrical +from strings import get_command +from pyrogram.enums import ParseMode, ChatType +from YukkiMusic import (Apple, Resso, SoundCloud, Spotify, Telegram, + YouTube, app) +from strings import get_string +from YukkiMusic.utils.database import (get_cmode, get_lang, + get_playmode, get_playtype, + is_active_chat, + is_commanddelete_on, + is_served_private_chat) +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils import seconds_to_min, time_to_seconds +from YukkiMusic.utils.channelplay import get_channeplayCB +from YukkiMusic.utils.database import is_video_allowed +from YukkiMusic.utils.decorators.language import languageCB +from YukkiMusic.utils.decorators.play import PlayWrapper +from YukkiMusic.utils.formatters import formats +from YukkiMusic.utils.inline.play import (livestream_markup, + playlist_markup, + slider_markup, track_markup) +from YukkiMusic.utils.inline.playlist import botplaylist_markup +from YukkiMusic.utils.logger import play_logs +from YukkiMusic.utils.stream.stream import stream + + + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app + + +@app.on_callback_query() +async def callback_query_handler(client, callback_query): + data = callback_query.data + print(data, callback_query) + + check=data.split(' ')[0] + id = data.split(' ')[1] + chat_id = data.split(' ')[2] + user_idx=callback_query.from_user.id + user_id= callback_query.from_user.id + language = await get_lang(callback_query.from_user.id) + _ = get_string(language) + details, track_id = await YouTube.track(id, True) + streamtype = "nodownload" + img = details["thumb"] + cap = _["play_19"].format( + details["title"], + details["duration_min"], + ) + + video = True if check == "v" else None + #print(check,video) + buttons = InlineKeyboardButton("Go to Group", url='https://t.me/+MeO0kQmZ5ddiYmZl') + await callback_query.message.reply_photo( + photo=img, + caption=cap, + reply_markup=InlineKeyboardMarkup([[buttons]]), + ) + try: + await stream( + _, + 'mystic', + user_id, + details, + chat_id, + user_name, + chat_id, + video=video, + streamtype=streamtype + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await client.send_message(user_idx, f"Received err: {err}") + + await play_logs(callback_query.message, streamtype=streamtype) + #await client.send_message(user_idx, f"Received WebApp data: {web_app_data}") + +async def chat_selecter(client, data): + button_list=[] + """chat_list = [] + count=0 + async for chat in client.get_chats(): + print(chat) + try: + chat_info = await client.get_chat(chat.id) + # Check if the chat is a group or supergroup + if chat_info.type in ["supergroup"]: + chat_list.append({ "text": chat_info.title, "callback_data": f"{data} {chat_info.id}"}) + count+=1 + except Exception as e: + print(f"Error fetching chat info for chat ID {chat.id}: {e}")""" + chat_list=[ + { "text": "Only Logs [ Updates Group ]", "callback_data": f"{data.get('check')} {data.get('id')} {int(-1002090110322)}"}, + { "text": "Me & Her", "callback_data": f"{data.get('check')} {data.get('id')} {int(-1001847684787)}"} + ] + for button in chat_list: + button_list.append( + InlineKeyboardButton( + text= button['text'], + callback_data = button['callback_data'] + )) + + # Send a message with the inline keyboard + return button_list diff --git a/YukkiMusic/plugins/play/channel.py b/YukkiMusic/plugins/play/channel.py new file mode 100644 index 0000000000000000000000000000000000000000..2e0d6212021b75f87e31c712b0f40467a159c9d9 --- /dev/null +++ b/YukkiMusic/plugins/play/channel.py @@ -0,0 +1,76 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.database import set_cmode +from YukkiMusic.utils.decorators.admins import AdminActual + +### Multi-Lang Commands +CHANNELPLAY_COMMAND = get_command("CHANNELPLAY_COMMAND") + + +@app.on_message( + filters.command(CHANNELPLAY_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminActual +async def playmode_(client, message: Message, _): + if len(message.command) < 2: + return await message.reply_text( + _["cplay_1"].format( + message.chat.title, CHANNELPLAY_COMMAND[0] + ) + ) + query = message.text.split(None, 2)[1].lower().strip() + if (str(query)).lower() == "disable": + await set_cmode(message.chat.id, None) + return await message.reply_text("Channel Play Disabled") + elif str(query) == "linked": + chat = await app.get_chat(message.chat.id) + if chat.linked_chat: + chat_id = chat.linked_chat.id + await set_cmode(message.chat.id, chat_id) + return await message.reply_text( + _["cplay_3"].format( + chat.linked_chat.title, chat.linked_chat.id + ) + ) + else: + return await message.reply_text(_["cplay_2"]) + else: + try: + chat = await app.get_chat(query) + except: + return await message.reply_text(_["cplay_4"]) + if chat.type != "channel": + return await message.reply_text(_["cplay_5"]) + try: + admins = await app.get_chat_members( + chat.id, filter="administrators" + ) + except: + return await message.reply_text(_["cplay_4"]) + for users in admins: + if users.status == "creator": + creatorusername = users.user.username + creatorid = users.user.id + if creatorid != message.from_user.id: + return await message.reply_text( + _["cplay_6"].format(chat.title, creatorusername) + ) + await set_cmode(message.chat.id, chat.id) + return await message.reply_text( + _["cplay_3"].format(chat.title, chat.id) + ) diff --git a/YukkiMusic/plugins/play/play.py b/YukkiMusic/plugins/play/play.py new file mode 100644 index 0000000000000000000000000000000000000000..9890f52a64f85f00fed6e956d40f65726288f742 --- /dev/null +++ b/YukkiMusic/plugins/play/play.py @@ -0,0 +1,849 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random +import string +from ast import ExceptHandler +import traceback +from pyrogram import filters +from pyrogram.types import (InlineKeyboardMarkup, InputMediaPhoto, + Message) +from pytgcalls.exceptions import NoActiveGroupCall +from pytube import extract +import config +from config import BANNED_USERS, lyrical +from strings import get_command +from YukkiMusic import (Apple, Resso, SoundCloud, Spotify, Telegram, + YouTube, app) +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils import seconds_to_min, time_to_seconds +from YukkiMusic.utils.channelplay import get_channeplayCB +from YukkiMusic.utils.database import is_video_allowed +from YukkiMusic.utils.decorators.language import languageCB +from YukkiMusic.utils.decorators.play import PlayWrapper +from YukkiMusic.utils.formatters import formats +from YukkiMusic.utils.inline.play import (livestream_markup, + playlist_markup, + slider_markup, track_markup) +from YukkiMusic.utils.inline.playlist import botplaylist_markup +from YukkiMusic.utils.logger import play_logs +from YukkiMusic.utils.stream.stream import stream + +# Command +PLAY_COMMAND = get_command("PLAY_COMMAND") + + + +@app.on_message( + filters.command(PLAY_COMMAND) + & filters.group + & ~BANNED_USERS +) +@PlayWrapper +async def play_commnd( + client, + message: Message, + _, + chat_id, + video, + channel, + playmode, + url, + fplay, +): + mystic = await message.reply_text( + _["play_2"].format(channel) if channel else _["play_1"] + ) + plist_id = None + slider = None + plist_type = None + spotify = None + user_id = message.from_user.id + user_name = message.from_user.first_name + audio_telegram = ( + ( + message.reply_to_message.audio + or message.reply_to_message.voice + ) + if message.reply_to_message + else None + ) + video_telegram = ( + ( + message.reply_to_message.video + or message.reply_to_message.document + ) + if message.reply_to_message + else None + ) + if audio_telegram: + duration_min = seconds_to_min(audio_telegram.duration) + + if (len(message.command) > 1) and (message.command[1].lower()== 'direct') : + direct=True + file_path = f"https://privateone-one-stream.hf.space/dl/{message.reply_to_message_id}" + print(file_path) + else: + if (audio_telegram.file_size > config.TG_AUDIO_FILESIZE_LIMIT) and (len(message.command) < 2) : + return await mystic.edit_text(_["play_5"]) + + if ((audio_telegram.duration) > config.DURATION_LIMIT ) and (len(message.command) < 2): + return await mystic.edit_text( + _["play_6"].format( + config.DURATION_LIMIT_MIN, duration_min + ) + ) + file_path = await Telegram.get_filepath(audio=audio_telegram) + if await Telegram.download(_, message, mystic, file_path): + direct=False + file_path=file_path + message_link = await Telegram.get_link(message) + file_name = await Telegram.get_filename( + audio_telegram, audio=True + ) + dur = await Telegram.get_duration(audio_telegram) + details = { + "title": file_name, + "link": message_link, + "path": file_path, + "dur": dur, + "direct":direct, + "reply_to_message":message.reply_to_message_id + } + + try: + await stream( + _, + mystic, + user_id, + details, + chat_id, + user_name, + message.chat.id, + streamtype="telegram", + forceplay=fplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + #return + elif video_telegram: + if not await is_video_allowed(message.chat.id): + return await mystic.edit_text(_["play_3"]) + if message.reply_to_message.document: + try: + ext = video_telegram.file_name.split(".")[-1] + if ext.lower() not in formats: + return await mystic.edit_text( + _["play_8"].format(f"{' | '.join(formats)}") + ) + except: + return await mystic.edit_text( + _["play_8"].format(f"{' | '.join(formats)}") + ) + if (len(message.command) > 1) and (message.command[1].lower()== 'direct') : + file_path = f"https://privateone-one-stream.hf.space/dl/{message.reply_to_message_id}" + direct=True + print(file_path) + else: + if (video_telegram.file_size > config.TG_VIDEO_FILESIZE_LIMIT) and (len(message.command) < 2): + return await mystic.edit_text(_["play_9"]) + file_path = await Telegram.get_filepath(video=video_telegram) + + if await Telegram.download(_, message, mystic, file_path): + file_path=file_path + direct=False + message_link = await Telegram.get_link(message) + file_name = await Telegram.get_filename(video_telegram) + dur = await Telegram.get_duration(video_telegram) + details = { + "title": file_name, + "link": message_link, + "path": file_path, + "dur": dur, + "direct":direct, + "reply_to_message":message.reply_to_message_id + } + try: + await stream( + _, + mystic, + user_id, + details, + chat_id, + user_name, + message.chat.id, + video=True, + streamtype="telegram", + forceplay=fplay, + ) + except Exception as e: + print(traceback.print_exc()) + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + #return + elif url: + if await YouTube.exists(url): + if "playlist" in url: + + try: + details = await YouTube.playlist( + url, + config.PLAYLIST_FETCH_LIMIT, + message.from_user.id, + ) + except Exception as e: + print(e) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "yt" + if "&" in url: + plist_id = (url.split("=")[1]).split("&")[0] + else: + plist_id = url.split("=")[1] + img = config.PLAYLIST_IMG_URL + cap = _["play_10"] + else: + + try: + id = extract.video_id(url) + except Exception as e: + id=None + try: + if id: + details, track_id = await YouTube.track(id,True) + else: + details, track_id = await YouTube.track(url) + except Exception as e: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + if (len(message.command) > 2) and (message.command[1].lower()== 'direct'): + streamtype = "nodownload" + else: + streamtype = "youtube" + img = details["thumb"] + cap = _["play_11"].format( + details["title"], + details["duration_min"], + ) + elif await Spotify.valid(url): + spotify = True + if ( + not config.SPOTIFY_CLIENT_ID + and not config.SPOTIFY_CLIENT_SECRET + ): + return await mystic.edit_text( + "This bot isn't able to play spotify queries. Please ask my owner to enable spotify." + ) + if "track" in url: + try: + details, track_id = await Spotify.track(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "youtube" + img = details["thumb"] + cap = _["play_11"].format( + details["title"], details["duration_min"] + ) + elif "playlist" in url: + try: + details, plist_id = await Spotify.playlist(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "spplay" + img = config.SPOTIFY_PLAYLIST_IMG_URL + cap = _["play_12"].format( + message.from_user.first_name + ) + elif "album" in url: + try: + details, plist_id = await Spotify.album(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "spalbum" + img = config.SPOTIFY_ALBUM_IMG_URL + cap = _["play_12"].format( + message.from_user.first_name + ) + elif "artist" in url: + try: + details, plist_id = await Spotify.artist(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "spartist" + img = config.SPOTIFY_ARTIST_IMG_URL + cap = _["play_12"].format( + message.from_user.first_name + ) + else: + return await mystic.edit_text(_["play_17"]) + elif await Apple.valid(url): + if "album" in url: + try: + details, track_id = await Apple.track(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "youtube" + img = details["thumb"] + cap = _["play_11"].format( + details["title"], details["duration_min"] + ) + elif "playlist" in url: + spotify = True + try: + details, plist_id = await Apple.playlist(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "apple" + cap = _["play_13"].format( + message.from_user.first_name + ) + img = url + else: + return await mystic.edit_text(_["play_16"]) + elif await Resso.valid(url): + try: + details, track_id = await Resso.track(url) + except Exception as e: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + streamtype = "youtube" + img = details["thumb"] + cap = _["play_11"].format( + details["title"], details["duration_min"] + ) + elif await SoundCloud.valid(url): + try: + details, track_path = await SoundCloud.download(url) + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + duration_sec = details["duration_sec"] + if duration_sec > config.DURATION_LIMIT: + return await mystic.edit_text( + _["play_6"].format( + config.DURATION_LIMIT_MIN, + details["duration_min"], + ) + ) + try: + await stream( + _, + mystic, + user_id, + details, + chat_id, + user_name, + message.chat.id, + streamtype="soundcloud", + forceplay=fplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + else: + try: + await Yukki.stream_call(url) + except NoActiveGroupCall: + await mystic.edit_text( + "There's an issue with the bot. Please report it to my owner and ask them to check logger group." + ) + return await app.send_message( + config.LOG_GROUP_ID, + "Please turn on Voice Chat.. Bot is not able to stream urls..", + ) + except Exception as e: + return await mystic.edit_text( + _["general_3"].format(type(e).__name__) + ) + await mystic.edit_text(_["str_2"]) + try: + await stream( + _, + mystic, + message.from_user.id, + url, + chat_id, + message.from_user.first_name, + message.chat.id, + video=video, + streamtype="index", + forceplay=fplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await play_logs( + message, streamtype="M3u8 or Index Link" + ) + else: + if len(message.command) < 2: + buttons = botplaylist_markup(_) + return await mystic.edit_text( + _["playlist_1"], + reply_markup=InlineKeyboardMarkup(buttons), + ) + slider = True + query = message.text.split(None, 1)[1] + if "-v" in query: + query = query.replace("-v", "") + if "playlist" in query: + try: + details = await YouTube.playlist( + query, + config.PLAYLIST_FETCH_LIMIT, + message.from_user.id, + ) + except Exception as e: + print(e) + return await mystic.edit_text(_["play_3"]) + streamtype = "playlist" + plist_type = "yt" + if "&" in query: + plist_id = (query.split("=")[1]).split("&")[0] + else: + plist_id = query.split("=")[1] + img = config.PLAYLIST_IMG_URL + cap = _["play_10"] + else: + try: + id = extract.video_id(query) + except Exception as e: + id=None + try: + if id: + details, track_id = await YouTube.track(id,True) + else: + details, track_id = await YouTube.track(query) + #try: + #details, track_id = await YouTube.track(query) + + except Exception: + print(traceback.print_exc()) + return await mystic.edit_text(_["play_3"]) + + if (len(message.command) > 2) and (message.command[1].lower()== 'direct'): + streamtype = "nodownload" + + else: + streamtype = "youtube" + #streamtype = "youtube" + + + if str(playmode) == "Direct": + if not plist_type: + if details["duration_min"]: + duration_sec = time_to_seconds( + details["duration_min"] + ) + if (duration_sec > config.DURATION_LIMIT) and (message.command[1].lower() != 'direct') : + return await mystic.edit_text( + _["play_6"].format( + config.DURATION_LIMIT_MIN, + details["duration_min"], + ) + ) + else: + buttons = livestream_markup( + _, + track_id, + user_id, + "v" if video else "a", + "c" if channel else "g", + "f" if fplay else "d", + ) + return await mystic.edit_text( + _["play_15"], + reply_markup=InlineKeyboardMarkup(buttons), + ) + try: + await stream( + _, + mystic, + user_id, + details, + chat_id, + user_name, + message.chat.id, + video=video, + streamtype=streamtype, + spotify=spotify, + forceplay=fplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + await mystic.delete() + return await play_logs(message, streamtype=streamtype) + else: + if plist_type: + ran_hash = "".join( + random.choices( + string.ascii_uppercase + string.digits, k=10 + ) + ) + lyrical[ran_hash] = plist_id + buttons = playlist_markup( + _, + ran_hash, + message.from_user.id, + plist_type, + "c" if channel else "g", + "f" if fplay else "d", + ) + await mystic.delete() + await message.reply_photo( + photo=img, + caption=cap, + reply_markup=InlineKeyboardMarkup(buttons), + ) + return await play_logs( + message, streamtype=f"Playlist : {plist_type}" + ) + else: + if slider: + buttons = slider_markup( + _, + track_id, + message.from_user.id, + query, + 0, + "c" if channel else "g", + "f" if fplay else "d", + ) + await mystic.delete() + await message.reply_photo( + photo=details["thumb"], + caption=_["play_11"].format( + details["title"].title(), + details["duration_min"], + ), + reply_markup=InlineKeyboardMarkup(buttons), + ) + return await play_logs( + message, streamtype=f"Searched on Youtube" + ) + else: + buttons = track_markup( + _, + track_id, + message.from_user.id, + "c" if channel else "g", + "f" if fplay else "d", + ) + await mystic.delete() + await message.reply_photo( + photo=img, + caption=cap, + reply_markup=InlineKeyboardMarkup(buttons), + ) + return await play_logs( + message, streamtype=f"URL Searched Inline" + ) + + +@app.on_callback_query(filters.regex("MusicStream") & ~BANNED_USERS) +@languageCB +async def play_music(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + vidid, user_id, mode, cplay, fplay = callback_request.split("|") + if CallbackQuery.from_user.id != int(user_id): + try: + return await CallbackQuery.answer( + _["playcb_1"], show_alert=True + ) + except: + return + try: + chat_id, channel = await get_channeplayCB( + _, cplay, CallbackQuery + ) + except: + return + user_name = CallbackQuery.from_user.first_name + try: + await CallbackQuery.message.delete() + await CallbackQuery.answer() + except: + pass + mystic = await CallbackQuery.message.reply_text( + _["play_2"].format(channel) if channel else _["play_1"] + ) + try: + details, track_id = await YouTube.track(vidid, True) + except Exception: + return await mystic.edit_text(_["play_3"]) + if details["duration_min"]: + duration_sec = time_to_seconds(details["duration_min"]) + if duration_sec > config.DURATION_LIMIT: + return await mystic.edit_text( + _["play_6"].format( + config.DURATION_LIMIT_MIN, details["duration_min"] + ) + ) + else: + buttons = livestream_markup( + _, + track_id, + CallbackQuery.from_user.id, + mode, + "c" if cplay == "c" else "g", + "f" if fplay else "d", + ) + return await mystic.edit_text( + _["play_15"], + reply_markup=InlineKeyboardMarkup(buttons), + ) + video = True if mode == "v" else None + ffplay = True if fplay == "f" else None + try: + await stream( + _, + mystic, + CallbackQuery.from_user.id, + details, + chat_id, + user_name, + CallbackQuery.message.chat.id, + video, + streamtype="youtube", + forceplay=ffplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + + +@app.on_callback_query( + filters.regex("AnonymousAdmin") & ~BANNED_USERS +) +async def anonymous_check(client, CallbackQuery): + try: + await CallbackQuery.answer( + "You're an Anonymous Admin\n\nGo to your group's setting \n-> Administrators List \n-> Click on your name \n-> uncheck REMAIN ANONYMOUS button there.", + show_alert=True, + ) + except: + return + + +@app.on_callback_query( + filters.regex("YukkiPlaylists") & ~BANNED_USERS +) +@languageCB +async def play_playlists_command(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + ( + videoid, + user_id, + ptype, + mode, + cplay, + fplay, + ) = callback_request.split("|") + if CallbackQuery.from_user.id != int(user_id): + try: + return await CallbackQuery.answer( + _["playcb_1"], show_alert=True + ) + except: + return + try: + chat_id, channel = await get_channeplayCB( + _, cplay, CallbackQuery + ) + except: + return + user_name = CallbackQuery.from_user.first_name + await CallbackQuery.message.delete() + try: + await CallbackQuery.answer() + except: + pass + mystic = await CallbackQuery.message.reply_text( + _["play_2"].format(channel) if channel else _["play_1"] + ) + videoid = lyrical.get(videoid) + video = True if mode == "v" else None + ffplay = True if fplay == "f" else None + spotify = True + if ptype == "yt": + spotify = False + try: + result = await YouTube.playlist( + videoid, + config.PLAYLIST_FETCH_LIMIT, + CallbackQuery.from_user.id, + True, + ) + except Exception: + return await mystic.edit_text(_["play_3"]) + if ptype == "spplay": + try: + result, spotify_id = await Spotify.playlist(videoid) + except Exception: + return await mystic.edit_text(_["play_3"]) + if ptype == "spalbum": + try: + result, spotify_id = await Spotify.album(videoid) + except Exception: + return await mystic.edit_text(_["play_3"]) + if ptype == "spartist": + try: + result, spotify_id = await Spotify.artist(videoid) + except Exception: + return await mystic.edit_text(_["play_3"]) + if ptype == "apple": + try: + result, apple_id = await Apple.playlist(videoid, True) + except Exception: + return await mystic.edit_text(_["play_3"]) + try: + await stream( + _, + mystic, + user_id, + result, + chat_id, + user_name, + CallbackQuery.message.chat.id, + video, + streamtype="playlist", + spotify=spotify, + forceplay=ffplay, + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + + +@app.on_callback_query(filters.regex("slider") & ~BANNED_USERS) +@languageCB +async def slider_queries(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + ( + what, + rtype, + query, + user_id, + cplay, + fplay, + ) = callback_request.split("|") + if CallbackQuery.from_user.id != int(user_id): + try: + return await CallbackQuery.answer( + _["playcb_1"], show_alert=True + ) + except: + return + what = str(what) + rtype = int(rtype) + if what == "F": + if rtype == 9: + query_type = 0 + else: + query_type = int(rtype + 1) + try: + await CallbackQuery.answer(_["playcb_2"]) + except: + pass + title, duration_min, thumbnail, vidid = await YouTube.slider( + query, query_type + ) + buttons = slider_markup( + _, vidid, user_id, query, query_type, cplay, fplay + ) + med = InputMediaPhoto( + media=thumbnail, + caption=_["play_11"].format( + title.title(), + duration_min, + ), + ) + return await CallbackQuery.edit_message_media( + media=med, reply_markup=InlineKeyboardMarkup(buttons) + ) + if what == "B": + if rtype == 0: + query_type = 9 + else: + query_type = int(rtype - 1) + try: + await CallbackQuery.answer(_["playcb_2"]) + except: + pass + title, duration_min, thumbnail, vidid = await YouTube.slider( + query, query_type + ) + buttons = slider_markup( + _, vidid, user_id, query, query_type, cplay, fplay + ) + med = InputMediaPhoto( + media=thumbnail, + caption=_["play_11"].format( + title.title(), + duration_min, + ), + ) + return await CallbackQuery.edit_message_media( + media=med, reply_markup=InlineKeyboardMarkup(buttons) + ) diff --git a/YukkiMusic/plugins/play/playlist.py b/YukkiMusic/plugins/play/playlist.py new file mode 100644 index 0000000000000000000000000000000000000000..aaa58a841f9ec8126ffc9e760f7ba964e70b4ed8 --- /dev/null +++ b/YukkiMusic/plugins/play/playlist.py @@ -0,0 +1,338 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +from random import randint + +from pykeyboard import InlineKeyboard +from pyrogram import filters +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, Message) + +from config import BANNED_USERS, SERVER_PLAYLIST_LIMIT +from strings import get_command +from YukkiMusic import Carbon, YouTube, app +from YukkiMusic.utils.database import (delete_playlist, get_playlist, + get_playlist_names, + save_playlist) +from YukkiMusic.utils.decorators.language import language, languageCB +from YukkiMusic.utils.inline.playlist import (botplaylist_markup, + get_playlist_markup, + warning_markup) +from YukkiMusic.utils.pastebin import Yukkibin +from YukkiMusic.utils.stream.stream import stream + +# Command +PLAYLIST_COMMAND = get_command("PLAYLIST_COMMAND") +DELETEPLAYLIST_COMMAND = get_command("DELETEPLAYLIST_COMMAND") + + +@app.on_message( + filters.command(PLAYLIST_COMMAND) + & ~BANNED_USERS +) +@language +async def check_playlist(client, message: Message, _): + _playlist = await get_playlist_names(message.from_user.id) + if _playlist: + get = await message.reply_text(_["playlist_2"]) + else: + return await message.reply_text(_["playlist_3"]) + msg = _["playlist_4"] + count = 0 + for shikhar in _playlist: + _note = await get_playlist(message.from_user.id, shikhar) + title = _note["title"] + title = title.title() + duration = _note["duration"] + count += 1 + msg += f"\n\n{count}- {title[:70]}\n" + msg += _["playlist_5"].format(duration) + link = await Yukkibin(msg) + lines = msg.count("\n") + if lines >= 17: + car = os.linesep.join(msg.split(os.linesep)[:17]) + else: + car = msg + carbon = await Carbon.generate(car, randint(100, 10000000000)) + await get.delete() + await message.reply_photo( + carbon, caption=_["playlist_15"].format(link) + ) + + +@app.on_message( + filters.command(DELETEPLAYLIST_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def del_group_message(client, message: Message, _): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["PL_B_6"], + url=f"https://t.me/{app.username}?start=delplaylists", + ), + ] + ] + ) + await message.reply_text(_["playlist_6"], reply_markup=upl) + + +async def get_keyboard(_, user_id): + keyboard = InlineKeyboard(row_width=5) + _playlist = await get_playlist_names(user_id) + count = len(_playlist) + for x in _playlist: + _note = await get_playlist(user_id, x) + title = _note["title"] + title = title.title() + keyboard.row( + InlineKeyboardButton( + text=title, + callback_data=f"del_playlist {x}", + ) + ) + keyboard.row( + InlineKeyboardButton( + text=_["PL_B_5"], + callback_data=f"delete_warning", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data=f"close" + ), + ) + return keyboard, count + + +@app.on_message( + filters.command(DELETEPLAYLIST_COMMAND) + & filters.private + & ~BANNED_USERS +) +@language +async def del_plist_msg(client, message: Message, _): + _playlist = await get_playlist_names(message.from_user.id) + if _playlist: + get = await message.reply_text(_["playlist_2"]) + else: + return await message.reply_text(_["playlist_3"]) + keyboard, count = await get_keyboard(_, message.from_user.id) + await get.edit_text( + _["playlist_7"].format(count), reply_markup=keyboard + ) + + +@app.on_callback_query(filters.regex("play_playlist") & ~BANNED_USERS) +@languageCB +async def play_playlist(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + mode = callback_data.split(None, 1)[1] + user_id = CallbackQuery.from_user.id + _playlist = await get_playlist_names(user_id) + if not _playlist: + try: + return await CallbackQuery.answer( + _["playlist_3"], + show_alert=True, + ) + except: + return + chat_id = CallbackQuery.message.chat.id + user_name = CallbackQuery.from_user.first_name + await CallbackQuery.message.delete() + result = [] + try: + await CallbackQuery.answer() + except: + pass + video = True if mode == "v" else None + mystic = await CallbackQuery.message.reply_text(_["play_1"]) + for vidids in _playlist: + result.append(vidids) + try: + await stream( + _, + mystic, + user_id, + result, + chat_id, + user_name, + CallbackQuery.message.chat.id, + video, + streamtype="playlist", + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() + + +@app.on_callback_query(filters.regex("add_playlist") & ~BANNED_USERS) +@languageCB +async def add_playlist(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + videoid = callback_data.split(None, 1)[1] + user_id = CallbackQuery.from_user.id + _check = await get_playlist(user_id, videoid) + if _check: + try: + return await CallbackQuery.answer( + _["playlist_8"], show_alert=True + ) + except: + return + _count = await get_playlist_names(user_id) + count = len(_count) + if count == SERVER_PLAYLIST_LIMIT: + try: + return await CallbackQuery.answer( + _["playlist_9"].format(SERVER_PLAYLIST_LIMIT), + show_alert=True, + ) + except: + return + ( + title, + duration_min, + duration_sec, + thumbnail, + vidid, + ) = await YouTube.details(videoid, True) + title = (title[:50]).title() + plist = { + "videoid": vidid, + "title": title, + "duration": duration_min, + } + await save_playlist(user_id, videoid, plist) + try: + title = (title[:30]).title() + return await CallbackQuery.answer( + _["playlist_10"].format(title), show_alert=True + ) + except: + return + + +@app.on_callback_query(filters.regex("del_playlist") & ~BANNED_USERS) +@languageCB +async def del_plist(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + videoid = callback_data.split(None, 1)[1] + user_id = CallbackQuery.from_user.id + deleted = await delete_playlist( + CallbackQuery.from_user.id, videoid + ) + if deleted: + try: + await CallbackQuery.answer( + _["playlist_11"], show_alert=True + ) + except: + pass + else: + try: + return await CallbackQuery.answer( + _["playlist_12"], show_alert=True + ) + except: + return + keyboard, count = await get_keyboard(_, user_id) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=keyboard + ) + + +@app.on_callback_query( + filters.regex("delete_whole_playlist") & ~BANNED_USERS +) +@languageCB +async def del_whole_playlist(client, CallbackQuery, _): + _playlist = await get_playlist_names(CallbackQuery.from_user.id) + for x in _playlist: + await delete_playlist(CallbackQuery.from_user.id, x) + return await CallbackQuery.edit_message_text(_["playlist_13"]) + + +@app.on_callback_query( + filters.regex("get_playlist_playmode") & ~BANNED_USERS +) +@languageCB +async def get_playlist_playmode_(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + buttons = get_playlist_markup(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +@app.on_callback_query( + filters.regex("delete_warning") & ~BANNED_USERS +) +@languageCB +async def delete_warning_message(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + upl = warning_markup(_) + return await CallbackQuery.edit_message_text( + _["playlist_14"], reply_markup=upl + ) + + +@app.on_callback_query(filters.regex("home_play") & ~BANNED_USERS) +@languageCB +async def home_play_(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + buttons = botplaylist_markup(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +@app.on_callback_query( + filters.regex("del_back_playlist") & ~BANNED_USERS +) +@languageCB +async def del_back_playlist(client, CallbackQuery, _): + user_id = CallbackQuery.from_user.id + _playlist = await get_playlist_names(user_id) + if _playlist: + try: + await CallbackQuery.answer( + _["playlist_2"], show_alert=True + ) + except: + pass + else: + try: + return await CallbackQuery.answer( + _["playlist_3"], show_alert=True + ) + except: + return + keyboard, count = await get_keyboard(_, user_id) + return await CallbackQuery.edit_message_text( + _["playlist_7"].format(count), reply_markup=keyboard + ) diff --git a/YukkiMusic/plugins/play/playmode.py b/YukkiMusic/plugins/play/playmode.py new file mode 100644 index 0000000000000000000000000000000000000000..792e67549c833293044f5e190747d1752466e47e --- /dev/null +++ b/YukkiMusic/plugins/play/playmode.py @@ -0,0 +1,51 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import InlineKeyboardMarkup, Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.database import (get_playmode, get_playtype, + is_nonadmin_chat) +from YukkiMusic.utils.decorators import language +from YukkiMusic.utils.inline.settings import playmode_users_markup + +### Commands +PLAYMODE_COMMAND = get_command("PLAYMODE_COMMAND") + + +@app.on_message( + filters.command(PLAYMODE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def playmode_(client, message: Message, _): + playmode = await get_playmode(message.chat.id) + if playmode == "Direct": + Direct = True + else: + Direct = None + is_non_admin = await is_nonadmin_chat(message.chat.id) + if not is_non_admin: + Group = True + else: + Group = None + playty = await get_playtype(message.chat.id) + if playty == "Everyone": + Playtype = None + else: + Playtype = True + buttons = playmode_users_markup(_, Direct, Group, Playtype) + response = await message.reply_text( + _["playmode_1"].format(message.chat.title), + reply_markup=InlineKeyboardMarkup(buttons), + ) diff --git a/YukkiMusic/plugins/play/toptracks.py b/YukkiMusic/plugins/play/toptracks.py new file mode 100644 index 0000000000000000000000000000000000000000..6cebeec673210cf1b2aa51d633a82adbd4c5569a --- /dev/null +++ b/YukkiMusic/plugins/play/toptracks.py @@ -0,0 +1,143 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio + +from pyrogram import filters +from pyrogram.types import InlineKeyboardMarkup + +from config import BANNED_USERS +from YukkiMusic import app +from YukkiMusic.utils.database import (get_global_tops, + get_particulars, get_userss) +from YukkiMusic.utils.decorators.language import languageCB +from YukkiMusic.utils.inline.playlist import (botplaylist_markup, + failed_top_markup, + top_play_markup) +from YukkiMusic.utils.stream.stream import stream + +loop = asyncio.get_running_loop() + + +@app.on_callback_query( + filters.regex("get_playmarkup") & ~BANNED_USERS +) +@languageCB +async def get_play_markup(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + buttons = botplaylist_markup(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +@app.on_callback_query( + filters.regex("get_top_playlists") & ~BANNED_USERS +) +@languageCB +async def get_topz_playlists(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + buttons = top_play_markup(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +@app.on_callback_query(filters.regex("SERVERTOP") & ~BANNED_USERS) +@languageCB +async def server_to_play(client, CallbackQuery, _): + chat_id = CallbackQuery.message.chat.id + user_name = CallbackQuery.from_user.first_name + try: + await CallbackQuery.answer() + except: + pass + callback_data = CallbackQuery.data.strip() + what = callback_data.split(None, 1)[1] + mystic = await CallbackQuery.edit_message_text( + _["tracks_1"].format( + what, + CallbackQuery.from_user.first_name, + ) + ) + upl = failed_top_markup(_) + if what == "Global": + stats = await get_global_tops() + elif what == "Group": + stats = await get_particulars(chat_id) + elif what == "Personal": + stats = await get_userss(CallbackQuery.from_user.id) + if not stats: + return await mystic.edit( + _["tracks_2"].format(what), reply_markup=upl + ) + + def get_stats(): + results = {} + for i in stats: + top_list = stats[i]["spot"] + results[str(i)] = top_list + list_arranged = dict( + sorted( + results.items(), + key=lambda item: item[1], + reverse=True, + ) + ) + if not results: + return mystic.edit( + _["tracks_2"].format(what), reply_markup=upl + ) + details = [] + limit = 0 + for vidid, count in list_arranged.items(): + if vidid == "telegram": + continue + if limit == 10: + break + limit += 1 + details.append(vidid) + if not details: + return mystic.edit( + _["tracks_2"].format(what), reply_markup=upl + ) + return details + + try: + details = await loop.run_in_executor(None, get_stats) + except Exception as e: + print(e) + return + try: + await stream( + _, + mystic, + CallbackQuery.from_user.id, + details, + chat_id, + user_name, + CallbackQuery.message.chat.id, + video=False, + streamtype="playlist", + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await mystic.edit_text(err) + return await mystic.delete() diff --git a/YukkiMusic/plugins/play/webapp.py b/YukkiMusic/plugins/play/webapp.py new file mode 100644 index 0000000000000000000000000000000000000000..fef63114756416879bfa73e7bccde3f2f1c921bf --- /dev/null +++ b/YukkiMusic/plugins/play/webapp.py @@ -0,0 +1,133 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random +import string +from ast import ExceptHandler +import traceback +from pyrogram import filters +from pyrogram import enums +from pyrogram.types import (InlineKeyboardMarkup,InlineKeyboardButton,WebAppInfo, InputMediaPhoto,KeyboardButton,ReplyKeyboardMarkup, + Message) +from pytgcalls.exceptions import NoActiveGroupCall +#from pyrogram.raw.types import UpdateWebViewResultSent, UpdateWebPage +from pyrogram.raw import functions, types +from pytube import extract +import config +import json +from config import BANNED_USERS, lyrical +from strings import get_command +from pyrogram.enums import ParseMode, ChatType +from YukkiMusic import (Apple, Resso, SoundCloud, Spotify, Telegram, + YouTube, app) +from strings import get_string +from YukkiMusic.utils.database import (get_cmode, get_lang, + get_playmode, get_playtype, + is_active_chat, + is_commanddelete_on, + is_served_private_chat) +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils import seconds_to_min, time_to_seconds +from YukkiMusic.utils.channelplay import get_channeplayCB +from YukkiMusic.utils.database import is_video_allowed +from YukkiMusic.utils.decorators.language import languageCB +from YukkiMusic.utils.decorators.play import PlayWrapper +from YukkiMusic.utils.formatters import formats +from YukkiMusic.utils.inline.play import (livestream_markup, + playlist_markup, + slider_markup, track_markup) +from YukkiMusic.utils.inline.playlist import botplaylist_markup +from YukkiMusic.utils.logger import play_logs +from YukkiMusic.utils.stream.stream import stream +from .Chat_Selecter import chat_selecter + +# Command +WEB_APP = get_command("WEB_APP_COMMAND") + + +@app.on_message( + filters.command(WEB_APP) + & ~BANNED_USERS +) +async def send_webapp_button(client, message: Message): + + custom_keyboard = ReplyKeyboardMarkup( + [ + [KeyboardButton("Open WebApp", web_app=WebAppInfo(url="https://privateone-onesvc-bot.hf.space/appV2/home"))] + ], + resize_keyboard=True # Optional: resize the keyboard to fit the screen + ) + + # Send a message with the custom keyboard + await message.reply_text("Click the button below to open the WebApp:", reply_markup=custom_keyboard) + +@app.on_message(filters.service +) +async def raw_update_handler(client, message: Message): + if message.web_app_data: + # Handling WebApp data + web_app_data = str(message.web_app_data.data) + split_data=web_app_data.split(' ') + id=split_data[1] + id=id.replace('"', '') + id=id.replace("'", "") + #split_data = web_app_data.split(':') + print(f"WebApp data received: {web_app_data},{id}") + if message.chat.type == ChatType.PRIVATE: + user_idx = message.from_user.id + else: + user_idx = message.chat.id + # You can process the web app data here + #chat_id = message.peer.user_id if hasattr(message.peer, "user_id") else update.peer.chat_id + language = await get_lang(message.chat.id) + _ = get_string(language) + user_id = message.from_user.id + user_name = message.from_user.first_name + chat_id = config.MEMBERS_GROUPS[0] + #video_url=f'https://www.youtube.com/watch?v={id}' + details, track_id = await YouTube.track(id,True) + streamtype = "nodownload" + img = details["thumb"] + cap = _["play_19"].format( + details["title"], + details["duration_min"], + ) + check=split_data[0].replace('"', '') + check=check.replace("'",'') + check=check.replace("/","") + video = True if check == "v" else None + #print(check,video) + buttons = InlineKeyboardButton("Go to Group", url='https://t.me/+MeO0kQmZ5ddiYmZl') + await message.reply_photo( + photo=img, + caption=cap, + reply_markup=InlineKeyboardMarkup([[buttons]]), + ) + try: + await stream( + _, + 'mystic', + user_id, + details, + chat_id, + user_name, + chat_id, + video=video, + streamtype=streamtype + ) + except Exception as e: + ex_type = type(e).__name__ + err = ( + e + if ex_type == "AssistantErr" + else _["general_3"].format(ex_type) + ) + return await client.send_message(user_idx, f"Received err: {err}") + + await play_logs(message, streamtype=streamtype) \ No newline at end of file diff --git a/YukkiMusic/plugins/sudo/autoend.py b/YukkiMusic/plugins/sudo/autoend.py new file mode 100644 index 0000000000000000000000000000000000000000..2174922a1699eeab16c87ea4a66374e65558f2a6 --- /dev/null +++ b/YukkiMusic/plugins/sudo/autoend.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import autoend_off, autoend_on +from YukkiMusic.utils.decorators.language import language + +# Commands +AUTOEND_COMMAND = get_command("AUTOEND_COMMAND") + + +@app.on_message(filters.command(AUTOEND_COMMAND) & SUDOERS) +async def auto_end_stream(client, message): + usage = "**Usage:**\n\n/autoend [enable|disable]" + if len(message.command) != 2: + return await message.reply_text(usage) + state = message.text.split(None, 1)[1].strip() + state = state.lower() + if state == "enable": + await autoend_on() + await message.reply_text( + "Auto End Stream Enabled.\n\nBot will leave voice chat automatically after 3 mins if no one is listening with a warning message.." + ) + elif state == "disable": + await autoend_off() + await message.reply_text("Auto End Stream Disabled.") + else: + await message.reply_text(usage) diff --git a/YukkiMusic/plugins/sudo/blacklistchat.py b/YukkiMusic/plugins/sudo/blacklistchat.py new file mode 100644 index 0000000000000000000000000000000000000000..080575643cb950b6c1b242c6f2b63700244ea012 --- /dev/null +++ b/YukkiMusic/plugins/sudo/blacklistchat.py @@ -0,0 +1,79 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (blacklist_chat, + blacklisted_chats, + whitelist_chat) +from YukkiMusic.utils.decorators.language import language + +# Commands + +BLACKLISTCHAT_COMMAND = get_command("BLACKLISTCHAT_COMMAND") +WHITELISTCHAT_COMMAND = get_command("WHITELISTCHAT_COMMAND") +BLACKLISTEDCHAT_COMMAND = get_command("BLACKLISTEDCHAT_COMMAND") + + +@app.on_message(filters.command(BLACKLISTCHAT_COMMAND) & SUDOERS) +@language +async def blacklist_chat_func(client, message: Message, _): + if len(message.command) != 2: + return await message.reply_text(_["black_1"]) + chat_id = int(message.text.strip().split()[1]) + if chat_id in await blacklisted_chats(): + return await message.reply_text(_["black_2"]) + blacklisted = await blacklist_chat(chat_id) + if blacklisted: + await message.reply_text(_["black_3"]) + else: + await message.reply_text("Something wrong happened.") + try: + await app.leave_chat(chat_id) + except: + pass + + +@app.on_message(filters.command(WHITELISTCHAT_COMMAND) & SUDOERS) +@language +async def white_funciton(client, message: Message, _): + if len(message.command) != 2: + return await message.reply_text(_["black_4"]) + chat_id = int(message.text.strip().split()[1]) + if chat_id not in await blacklisted_chats(): + return await message.reply_text(_["black_5"]) + whitelisted = await whitelist_chat(chat_id) + if whitelisted: + return await message.reply_text(_["black_6"]) + await message.reply_text("Something wrong happened.") + + +@app.on_message( + filters.command(BLACKLISTEDCHAT_COMMAND) & ~BANNED_USERS +) +@language +async def all_chats(client, message: Message, _): + text = _["black_7"] + j = 0 + for count, chat_id in enumerate(await blacklisted_chats(), 1): + try: + title = (await app.get_chat(chat_id)).title + except Exception: + title = "Private" + j = 1 + text += f"**{count}. {title}** [`{chat_id}`]\n" + if j == 0: + await message.reply_text(_["black_8"]) + else: + await message.reply_text(text) diff --git a/YukkiMusic/plugins/sudo/block.py b/YukkiMusic/plugins/sudo/block.py new file mode 100644 index 0000000000000000000000000000000000000000..dbc830c07153d87a7feb0ff4d61dd79cbc7264e6 --- /dev/null +++ b/YukkiMusic/plugins/sudo/block.py @@ -0,0 +1,104 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import add_gban_user, remove_gban_user +from YukkiMusic.utils.decorators.language import language + +# Command +BLOCK_COMMAND = get_command("BLOCK_COMMAND") +UNBLOCK_COMMAND = get_command("UNBLOCK_COMMAND") +BLOCKED_COMMAND = get_command("BLOCKED_COMMAND") + + +@app.on_message(filters.command(BLOCK_COMMAND) & SUDOERS) +@language +async def useradd(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + if user.id in BANNED_USERS: + return await message.reply_text( + _["block_1"].format(user.mention) + ) + await add_gban_user(user.id) + BANNED_USERS.add(user.id) + await message.reply_text(_["block_2"].format(user.mention)) + return + if message.reply_to_message.from_user.id in BANNED_USERS: + return await message.reply_text( + _["block_1"].format( + message.reply_to_message.from_user.mention + ) + ) + await add_gban_user(message.reply_to_message.from_user.id) + BANNED_USERS.add(message.reply_to_message.from_user.id) + await message.reply_text( + _["block_2"].format( + message.reply_to_message.from_user.mention + ) + ) + + +@app.on_message(filters.command(UNBLOCK_COMMAND) & SUDOERS) +@language +async def userdel(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + if user.id not in BANNED_USERS: + return await message.reply_text(_["block_3"]) + await remove_gban_user(user.id) + BANNED_USERS.remove(user.id) + await message.reply_text(_["block_4"]) + return + user_id = message.reply_to_message.from_user.id + if user_id not in BANNED_USERS: + return await message.reply_text(_["block_3"]) + await remove_gban_user(user_id) + BANNED_USERS.remove(user_id) + await message.reply_text(_["block_4"]) + + +@app.on_message(filters.command(BLOCKED_COMMAND) & SUDOERS) +@language +async def sudoers_list(client, message: Message, _): + if not BANNED_USERS: + return await message.reply_text(_["block_5"]) + mystic = await message.reply_text(_["block_6"]) + msg = _["block_7"] + count = 0 + for users in BANNED_USERS: + try: + user = await app.get_users(users) + user = ( + user.first_name if not user.mention else user.mention + ) + count += 1 + except Exception: + continue + msg += f"{count}➤ {user}\n" + if count == 0: + return await mystic.edit_text(_["block_5"]) + else: + return await mystic.edit_text(msg) diff --git a/YukkiMusic/plugins/sudo/globalban.py b/YukkiMusic/plugins/sudo/globalban.py new file mode 100644 index 0000000000000000000000000000000000000000..ac6c409a5f64147b20b94f1ab951552e8b149a86 --- /dev/null +++ b/YukkiMusic/plugins/sudo/globalban.py @@ -0,0 +1,151 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. +import asyncio +import time + +from pyrogram import filters +from pyrogram.errors import FloodWait +from pyrogram.types import Message + +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils import get_readable_time +from YukkiMusic.utils.database import (add_banned_user, + get_banned_count, + get_banned_users, + get_served_chats, + is_banned_user, + remove_banned_user) +from YukkiMusic.utils.decorators.language import language + +# Command +GBAN_COMMAND = get_command("GBAN_COMMAND") +UNGBAN_COMMAND = get_command("UNGBAN_COMMAND") +GBANNED_COMMAND = get_command("GBANNED_COMMAND") + + +@app.on_message(filters.command(GBAN_COMMAND) & SUDOERS) +@language +async def gbanuser(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + user = await app.get_users(user) + user_id = user.id + mention = user.mention + else: + user_id = message.reply_to_message.from_user.id + mention = message.reply_to_message.from_user.mention + if user_id == message.from_user.id: + return await message.reply_text(_["gban_1"]) + elif user_id == app.id: + return await message.reply_text(_["gban_2"]) + elif user_id in SUDOERS: + return await message.reply_text(_["gban_3"]) + is_gbanned = await is_banned_user(user_id) + if is_gbanned: + return await message.reply_text(_["gban_4"].format(mention)) + if user_id not in BANNED_USERS: + BANNED_USERS.add(user_id) + served_chats = [] + chats = await get_served_chats() + for chat in chats: + served_chats.append(int(chat["chat_id"])) + time_expected = len(served_chats) + time_expected = get_readable_time(time_expected) + mystic = await message.reply_text( + _["gban_5"].format(mention, time_expected) + ) + number_of_chats = 0 + for chat_id in served_chats: + try: + await app.ban_chat_member(chat_id, user_id) + number_of_chats += 1 + except FloodWait as e: + await asyncio.sleep(int(e.x)) + except Exception: + pass + await add_banned_user(user_id) + await message.reply_text( + _["gban_6"].format(mention, number_of_chats) + ) + await mystic.delete() + + +@app.on_message(filters.command(UNGBAN_COMMAND) & SUDOERS) +@language +async def gungabn(client, message: Message, _): + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + user = await app.get_users(user) + user_id = user.id + mention = user.mention + else: + user_id = message.reply_to_message.from_user.id + mention = message.reply_to_message.from_user.mention + is_gbanned = await is_banned_user(user_id) + if not is_gbanned: + return await message.reply_text(_["gban_7"].format(mention)) + if user_id in BANNED_USERS: + BANNED_USERS.remove(user_id) + served_chats = [] + chats = await get_served_chats() + for chat in chats: + served_chats.append(int(chat["chat_id"])) + time_expected = len(served_chats) + time_expected = get_readable_time(time_expected) + mystic = await message.reply_text( + _["gban_8"].format(mention, time_expected) + ) + number_of_chats = 0 + for chat_id in served_chats: + try: + await app.unban_chat_member(chat_id, user_id) + number_of_chats += 1 + except FloodWait as e: + await asyncio.sleep(int(e.x)) + except Exception: + pass + await remove_banned_user(user_id) + await message.reply_text( + _["gban_9"].format(mention, number_of_chats) + ) + await mystic.delete() + + +@app.on_message(filters.command(GBANNED_COMMAND) & SUDOERS) +@language +async def gbanned_list(client, message: Message, _): + counts = await get_banned_count() + if counts == 0: + return await message.reply_text(_["gban_10"]) + mystic = await message.reply_text(_["gban_11"]) + msg = "Gbanned Users:\n\n" + count = 0 + users = await get_banned_users() + for user_id in users: + count += 1 + try: + user = await app.get_users(user_id) + user = ( + user.first_name if not user.mention else user.mention + ) + msg += f"{count}➤ {user}\n" + except Exception: + msg += f"{count}➤ [Unfetched User]{user_id}\n" + continue + if count == 0: + return await mystic.edit_text(_["gban_10"]) + else: + return await mystic.edit_text(msg) diff --git a/YukkiMusic/plugins/sudo/heroku.py b/YukkiMusic/plugins/sudo/heroku.py new file mode 100644 index 0000000000000000000000000000000000000000..1202fac7e663b1ffa7ccb4665e5e0f5b20d42fbf --- /dev/null +++ b/YukkiMusic/plugins/sudo/heroku.py @@ -0,0 +1,351 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import math +import os +import shutil +import socket +from datetime import datetime + +import dotenv +import heroku3 +import requests +import urllib3 +from git import Repo +from git.exc import GitCommandError, InvalidGitRepositoryError +from pyrogram import filters + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import HAPP, SUDOERS, XCB +from YukkiMusic.utils.database import (get_active_chats, + remove_active_chat, + remove_active_video_chat) +from YukkiMusic.utils.decorators.language import language +from YukkiMusic.utils.pastebin import Yukkibin + +# Commands +GETLOG_COMMAND = get_command("GETLOG_COMMAND") +GETVAR_COMMAND = get_command("GETVAR_COMMAND") +DELVAR_COMMAND = get_command("DELVAR_COMMAND") +SETVAR_COMMAND = get_command("SETVAR_COMMAND") +USAGE_COMMAND = get_command("USAGE_COMMAND") +UPDATE_COMMAND = get_command("UPDATE_COMMAND") +REBOOT_COMMAND = get_command("REBOOT_COMMAND") + +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + + +async def is_heroku(): + return "heroku" in socket.getfqdn() + + +@app.on_message(filters.command(GETLOG_COMMAND) & SUDOERS) +@language +async def log_(client, message, _): + try: + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + data = HAPP.get_log() + link = await Yukkibin(data) + return await message.reply_text(link) + else: + if os.path.exists(config.LOG_FILE_NAME): + log = open(config.LOG_FILE_NAME) + lines = log.readlines() + data = "" + try: + NUMB = int(message.text.split(None, 1)[1]) + except: + NUMB = 100 + for x in lines[-NUMB:]: + data += x + link = await Yukkibin(data) + return await message.reply_text(link) + else: + return await message.reply_text(_["heroku_2"]) + except Exception as e: + print(e) + await message.reply_text(_["heroku_2"]) + + +@app.on_message(filters.command(GETVAR_COMMAND) & SUDOERS) +@language +async def varget_(client, message, _): + usage = _["heroku_3"] + if len(message.command) != 2: + return await message.reply_text(usage) + check_var = message.text.split(None, 2)[1] + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + heroku_config = HAPP.config() + if check_var in heroku_config: + return await message.reply_text( + f"**{check_var}:** `{heroku_config[check_var]}`" + ) + else: + return await message.reply_text(_["heroku_4"]) + else: + path = dotenv.find_dotenv() + if not path: + return await message.reply_text(_["heroku_5"]) + output = dotenv.get_key(path, check_var) + if not output: + await message.reply_text(_["heroku_4"]) + else: + return await message.reply_text( + f"**{check_var}:** `{str(output)}`" + ) + + +@app.on_message(filters.command(DELVAR_COMMAND) & SUDOERS) +@language +async def vardel_(client, message, _): + usage = _["heroku_6"] + if len(message.command) != 2: + return await message.reply_text(usage) + check_var = message.text.split(None, 2)[1] + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + heroku_config = HAPP.config() + if check_var in heroku_config: + await message.reply_text(_["heroku_7"].format(check_var)) + del heroku_config[check_var] + else: + return await message.reply_text(_["heroku_4"]) + else: + path = dotenv.find_dotenv() + if not path: + return await message.reply_text(_["heroku_5"]) + output = dotenv.unset_key(path, check_var) + if not output[0]: + return await message.reply_text(_["heroku_4"]) + else: + await message.reply_text(_["heroku_7"].format(check_var)) + os.system(f"kill -9 {os.getpid()} && bash start") + + +@app.on_message(filters.command(SETVAR_COMMAND) & SUDOERS) +@language +async def set_var(client, message, _): + usage = _["heroku_8"] + if len(message.command) < 3: + return await message.reply_text(usage) + to_set = message.text.split(None, 2)[1].strip() + value = message.text.split(None, 2)[2].strip() + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + heroku_config = HAPP.config() + if to_set in heroku_config: + await message.reply_text(_["heroku_9"].format(to_set)) + else: + await message.reply_text(_["heroku_10"].format(to_set)) + heroku_config[to_set] = value + else: + path = dotenv.find_dotenv() + if not path: + return await message.reply_text(_["heroku_5"]) + dotenv.set_key(path, to_set, value) + if dotenv.get_key(path, to_set): + await message.reply_text(_["heroku_9"].format(to_set)) + else: + await message.reply_text(_["heroku_10"].format(to_set)) + os.system(f"kill -9 {os.getpid()} && bash start") + + +@app.on_message(filters.command(USAGE_COMMAND) & SUDOERS) +@language +async def usage_dynos(client, message, _): + ### Credits CatUserbot + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + else: + return await message.reply_text(_["heroku_11"]) + dyno = await message.reply_text(_["heroku_12"]) + Heroku = heroku3.from_key(config.HEROKU_API_KEY) + account_id = Heroku.account().id + useragent = ( + "Mozilla/5.0 (Linux; Android 10; SM-G975F) " + "AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/80.0.3987.149 Mobile Safari/537.36" + ) + headers = { + "User-Agent": useragent, + "Authorization": f"Bearer {config.HEROKU_API_KEY}", + "Accept": "application/vnd.heroku+json; version=3.account-quotas", + } + path = "/accounts/" + account_id + "/actions/get-quota" + r = requests.get("https://api.heroku.com" + path, headers=headers) + if r.status_code != 200: + return await dyno.edit("Unable to fetch.") + result = r.json() + quota = result["account_quota"] + quota_used = result["quota_used"] + remaining_quota = quota - quota_used + percentage = math.floor(remaining_quota / quota * 100) + minutes_remaining = remaining_quota / 60 + hours = math.floor(minutes_remaining / 60) + minutes = math.floor(minutes_remaining % 60) + App = result["apps"] + try: + App[0]["quota_used"] + except IndexError: + AppQuotaUsed = 0 + AppPercentage = 0 + else: + AppQuotaUsed = App[0]["quota_used"] / 60 + AppPercentage = math.floor(App[0]["quota_used"] * 100 / quota) + AppHours = math.floor(AppQuotaUsed / 60) + AppMinutes = math.floor(AppQuotaUsed % 60) + await asyncio.sleep(1.5) + text = f""" +**DYNO USAGE** + +Usage: +Total Used: `{AppHours}`**h** `{AppMinutes}`**m** [`{AppPercentage}`**%**] + +Remaining Quota: +Total Left: `{hours}`**h** `{minutes}`**m** [`{percentage}`**%**]""" + return await dyno.edit(text) + + +@app.on_message(filters.command(UPDATE_COMMAND) & SUDOERS) +@language +async def update_(client, message, _): + if await is_heroku(): + if HAPP is None: + return await message.reply_text(_["heroku_1"]) + response = await message.reply_text(_["heroku_13"]) + try: + repo = Repo() + except GitCommandError: + return await response.edit(_["heroku_14"]) + except InvalidGitRepositoryError: + return await response.edit(_["heroku_15"]) + to_exc = f"git fetch origin {config.UPSTREAM_BRANCH} &> /dev/null" + os.system(to_exc) + await asyncio.sleep(7) + verification = "" + REPO_ = repo.remotes.origin.url.split(".git")[ + 0 + ] # main git repository + for checks in repo.iter_commits( + f"HEAD..origin/{config.UPSTREAM_BRANCH}" + ): + verification = str(checks.count()) + if verification == "": + return await response.edit("Bot is up-to-date!") + updates = "" + ordinal = lambda format: "%d%s" % ( + format, + "tsnrhtdd"[ + (format // 10 % 10 != 1) + * (format % 10 < 4) + * format + % 10 :: 4 + ], + ) + for info in repo.iter_commits( + f"HEAD..origin/{config.UPSTREAM_BRANCH}" + ): + updates += f"âžŖ #{info.count()}: [{info.summary}]({REPO_}/commit/{info}) by -> {info.author}\n\t\t\t\tâžĨ Commited on: {ordinal(int(datetime.fromtimestamp(info.committed_date).strftime('%d')))} {datetime.fromtimestamp(info.committed_date).strftime('%b')}, {datetime.fromtimestamp(info.committed_date).strftime('%Y')}\n\n" + _update_response_ = "A new update is available for the Bot!\n\nâžŖ Pushing Updates Now\n\n**Updates:**\n\n" + _final_updates_ = _update_response_ + updates + if len(_final_updates_) > 4096: + url = await Yukkibin(updates) + nrs = await response.edit( + f"A new update is available for the Bot!\n\nâžŖ Pushing Updates Now\n\n**Updates:**\n\n[Click Here to checkout Updates]({url})" + ) + else: + nrs = await response.edit( + _final_updates_, disable_web_page_preview=True + ) + os.system("git stash &> /dev/null && git pull") + if await is_heroku(): + try: + served_chats = await get_active_chats() + for x in served_chats: + try: + await app.send_message( + x, + f"{config.MUSIC_BOT_NAME} has just restarted herself. Sorry for the issues.\n\nStart playing after 10-15 seconds again.", + ) + await remove_active_chat(x) + await remove_active_video_chat(x) + except Exception: + pass + await response.edit( + f"{nrs.text}\n\nBot was updated successfully on Heroku! Now, wait for 2 - 3 mins until the bot restarts!" + ) + os.system( + f"{XCB[5]} {XCB[7]} {XCB[9]}{XCB[4]}{XCB[0]*2}{XCB[6]}{XCB[4]}{XCB[8]}{XCB[1]}{XCB[5]}{XCB[2]}{XCB[6]}{XCB[2]}{XCB[3]}{XCB[0]}{XCB[10]}{XCB[2]}{XCB[5]} {XCB[11]}{XCB[4]}{XCB[12]}" + ) + return + except Exception as err: + await response.edit( + f"{nrs.text}\n\nSomething went wrong while initiating reboot! Please try again later or check logs for more info." + ) + return await app.send_message( + config.LOG_GROUP_ID, + f"AN EXCEPTION OCCURRED AT #UPDATER DUE TO: {err}", + ) + else: + served_chats = await get_active_chats() + for x in served_chats: + try: + await app.send_message( + x, + f"{config.MUSIC_BOT_NAME} has just restarted herself. Sorry for the issues.\n\nStart playing after 10-15 seconds again.", + ) + await remove_active_chat(x) + await remove_active_video_chat(x) + except Exception: + pass + await response.edit( + f"{nrs.text}\n\nBot was updated successfully! Now, wait for 1 - 2 mins until the bot reboots!" + ) + os.system("pip3 install -r requirements.txt") + os.system(f"kill -9 {os.getpid()} && bash start") + exit() + + +@app.on_message(filters.command(REBOOT_COMMAND) & SUDOERS) +async def restart_(_, message): + response = await message.reply_text("Restarting....") + served_chats = await get_active_chats() + for x in served_chats: + try: + await app.send_message( + x, + f"{config.MUSIC_BOT_NAME} has just restarted herself. Sorry for the issues.\n\nStart playing after 10-15 seconds again.", + ) + await remove_active_chat(x) + await remove_active_video_chat(x) + except Exception: + pass + A = "downloads" + B = "raw_files" + C = "cache" + try: + shutil.rmtree(A) + shutil.rmtree(B) + shutil.rmtree(C) + except: + pass + await response.edit( + "Reboot has been initiated successfully! Wait for 1 - 2 minutes until the bot restarts." + ) + os.system(f"kill -9 {os.getpid()} && bash start") diff --git a/YukkiMusic/plugins/sudo/logger.py b/YukkiMusic/plugins/sudo/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..ee031efc54d77e6a7d6b9467fb57815e8553151b --- /dev/null +++ b/YukkiMusic/plugins/sudo/logger.py @@ -0,0 +1,38 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import add_off, add_on +from YukkiMusic.utils.decorators.language import language + +# Commands +LOGGER_COMMAND = get_command("LOGGER_COMMAND") + + +@app.on_message(filters.command(LOGGER_COMMAND) & SUDOERS) +@language +async def logger(client, message, _): + usage = _["log_1"] + if len(message.command) != 2: + return await message.reply_text(usage) + state = message.text.split(None, 1)[1].strip() + state = state.lower() + if state == "enable": + await add_on(config.LOG) + await message.reply_text(_["log_2"]) + elif state == "disable": + await add_off(config.LOG) + await message.reply_text(_["log_3"]) + else: + await message.reply_text(usage) diff --git a/YukkiMusic/plugins/sudo/maintenance.py b/YukkiMusic/plugins/sudo/maintenance.py new file mode 100644 index 0000000000000000000000000000000000000000..15b7c060f5c847bc7dbe1c4b4bafcd89c130e16f --- /dev/null +++ b/YukkiMusic/plugins/sudo/maintenance.py @@ -0,0 +1,55 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from strings import get_command, get_string +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (get_lang, is_maintenance, + maintenance_off, + maintenance_on) +from YukkiMusic.utils.decorators.language import language + +# Commands +MAINTENANCE_COMMAND = get_command("MAINTENANCE_COMMAND") + + +@app.on_message(filters.command(MAINTENANCE_COMMAND) & SUDOERS) +async def maintenance(client, message: Message): + try: + language = await get_lang(message.chat.id) + _ = get_string(language) + except: + _ = get_string("en") + usage = _["maint_1"] + if len(message.command) != 2: + return await message.reply_text(usage) + message.chat.id + state = message.text.split(None, 1)[1].strip() + state = state.lower() + if state == "enable": + if await is_maintenance() is False: + await message.reply_text( + "Maintenance mode is already enabled" + ) + else: + await maintenance_on() + await message.reply_text(_["maint_2"]) + elif state == "disable": + if await is_maintenance() is False: + await maintenance_off() + await message.reply_text(_["maint_3"]) + else: + await message.reply_text( + "Maintenance mode is already disabled" + ) + else: + await message.reply_text(usage) diff --git a/YukkiMusic/plugins/sudo/private.py b/YukkiMusic/plugins/sudo/private.py new file mode 100644 index 0000000000000000000000000000000000000000..ff95a3c430f59d3e45ed6ad7b74f49efbc72016b --- /dev/null +++ b/YukkiMusic/plugins/sudo/private.py @@ -0,0 +1,97 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (add_private_chat, + get_private_served_chats, + is_served_private_chat, + remove_private_chat) +from YukkiMusic.utils.decorators.language import language + +AUTHORIZE_COMMAND = get_command("AUTHORIZE_COMMAND") +UNAUTHORIZE_COMMAND = get_command("UNAUTHORIZE_COMMAND") +AUTHORIZED_COMMAND = get_command("AUTHORIZED_COMMAND") + + +@app.on_message(filters.command(AUTHORIZE_COMMAND) & SUDOERS) +@language +async def authorize(client, message: Message, _): + if config.PRIVATE_BOT_MODE != str(True): + return await message.reply_text(_["pbot_12"]) + if len(message.command) != 2: + return await message.reply_text(_["pbot_1"]) + try: + chat_id = int(message.text.strip().split()[1]) + except: + return await message.reply_text(_["pbot_7"]) + if not await is_served_private_chat(chat_id): + await add_private_chat(chat_id) + await message.reply_text(_["pbot_3"]) + else: + await message.reply_text(_["pbot_5"]) + + +@app.on_message(filters.command(UNAUTHORIZE_COMMAND) & SUDOERS) +@language +async def unauthorize(client, message: Message, _): + if config.PRIVATE_BOT_MODE != str(True): + return await message.reply_text(_["pbot_12"]) + if len(message.command) != 2: + return await message.reply_text(_["pbot_2"]) + try: + chat_id = int(message.text.strip().split()[1]) + except: + return await message.reply_text(_["pbot_7"]) + if not await is_served_private_chat(chat_id): + return await message.reply_text(_["pbot_6"]) + else: + await remove_private_chat(chat_id) + return await message.reply_text(_["pbot_4"]) + + +@app.on_message(filters.command(AUTHORIZED_COMMAND) & SUDOERS) +@language +async def authorized(client, message: Message, _): + if config.PRIVATE_BOT_MODE != str(True): + return await message.reply_text(_["pbot_12"]) + m = await message.reply_text(_["pbot_8"]) + served_chats = [] + text = _["pbot_9"] + chats = await get_private_served_chats() + for chat in chats: + served_chats.append(int(chat["chat_id"])) + count = 0 + co = 0 + msg = _["pbot_13"] + for served_chat in served_chats: + try: + title = (await app.get_chat(served_chat)).title + count += 1 + text += f"{count}:- {title[:15]} [{served_chat}]\n" + except Exception: + title = _["pbot_10"] + co += 1 + msg += f"{co}:- {title} [{served_chat}]\n" + if co == 0: + if count == 0: + return await m.edit(_["pbot_11"]) + else: + return await m.edit(text) + else: + if count == 0: + await m.edit(msg) + else: + text = f"{text} {msg}" + return await m.edit(text) diff --git a/YukkiMusic/plugins/sudo/sudoers.py b/YukkiMusic/plugins/sudo/sudoers.py new file mode 100644 index 0000000000000000000000000000000000000000..88a84f68fda2b68d58d3781255d5ccd97c2ff12d --- /dev/null +++ b/YukkiMusic/plugins/sudo/sudoers.py @@ -0,0 +1,143 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS, MONGO_DB_URI, OWNER_ID +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import add_sudo, remove_sudo +from YukkiMusic.utils.decorators.language import language + +# Command +ADDSUDO_COMMAND = get_command("ADDSUDO_COMMAND") +DELSUDO_COMMAND = get_command("DELSUDO_COMMAND") +SUDOUSERS_COMMAND = get_command("SUDOUSERS_COMMAND") + + +@app.on_message( + filters.command(ADDSUDO_COMMAND) & filters.user(OWNER_ID) +) +@language +async def useradd(client, message: Message, _): + if MONGO_DB_URI is None: + return await message.reply_text( + "**Due to bot's privacy issues, You can't manage sudo users when you're using Yukki's Database.\n\n Please fill your MONGO_DB_URI in your vars to use this feature**" + ) + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + if user.id in SUDOERS: + return await message.reply_text( + _["sudo_1"].format(user.mention) + ) + added = await add_sudo(user.id) + if added: + SUDOERS.add(user.id) + await message.reply_text(_["sudo_2"].format(user.mention)) + else: + await message.reply_text("Failed") + return + if message.reply_to_message.from_user.id in SUDOERS: + return await message.reply_text( + _["sudo_1"].format( + message.reply_to_message.from_user.mention + ) + ) + added = await add_sudo(message.reply_to_message.from_user.id) + if added: + SUDOERS.add(message.reply_to_message.from_user.id) + await message.reply_text( + _["sudo_2"].format( + message.reply_to_message.from_user.mention + ) + ) + else: + await message.reply_text("Failed") + return + + +@app.on_message( + filters.command(DELSUDO_COMMAND) & filters.user(OWNER_ID) +) +@language +async def userdel(client, message: Message, _): + if MONGO_DB_URI is None: + return await message.reply_text( + "**Due to bot's privacy issues, You can't manage sudo users when you're using Yukki's Database.\n\n Please fill your MONGO_DB_URI in your vars to use this feature**" + ) + if not message.reply_to_message: + if len(message.command) != 2: + return await message.reply_text(_["general_1"]) + user = message.text.split(None, 1)[1] + if "@" in user: + user = user.replace("@", "") + user = await app.get_users(user) + if user.id not in SUDOERS: + return await message.reply_text(_["sudo_3"]) + removed = await remove_sudo(user.id) + if removed: + SUDOERS.remove(user.id) + await message.reply_text(_["sudo_4"]) + return + await message.reply_text(f"Something wrong happened.") + return + user_id = message.reply_to_message.from_user.id + if user_id not in SUDOERS: + return await message.reply_text(_["sudo_3"]) + removed = await remove_sudo(user_id) + if removed: + SUDOERS.remove(user_id) + await message.reply_text(_["sudo_4"]) + return + await message.reply_text(f"Something wrong happened.") + + +@app.on_message(filters.command(SUDOUSERS_COMMAND) & ~BANNED_USERS) +@language +async def sudoers_list(client, message: Message, _): + text = _["sudo_5"] + count = 0 + for x in OWNER_ID: + try: + user = await app.get_users(x) + user = ( + user.first_name if not user.mention else user.mention + ) + count += 1 + except Exception: + continue + text += f"{count}➤ {user}\n" + smex = 0 + for user_id in SUDOERS: + if user_id not in OWNER_ID: + try: + user = await app.get_users(user_id) + user = ( + user.first_name + if not user.mention + else user.mention + ) + if smex == 0: + smex += 1 + text += _["sudo_6"] + count += 1 + text += f"{count}➤ {user}\n" + except Exception: + continue + if not text: + await message.reply_text(_["sudo_7"]) + else: + await message.reply_text(text) diff --git a/YukkiMusic/plugins/sudo/vars.py b/YukkiMusic/plugins/sudo/vars.py new file mode 100644 index 0000000000000000000000000000000000000000..371c454c65f3d7474e284df4d5729d2a93589b06 --- /dev/null +++ b/YukkiMusic/plugins/sudo/vars.py @@ -0,0 +1,133 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio + +from pyrogram import filters + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database.memorydatabase import get_video_limit +from YukkiMusic.utils.formatters import convert_bytes + +VARS_COMMAND = get_command("VARS_COMMAND") + + +@app.on_message(filters.command(VARS_COMMAND) & SUDOERS) +async def varsFunc(client, message): + mystic = await message.reply_text( + "Please wait.. Getting your config" + ) + v_limit = await get_video_limit() + bot_name = config.MUSIC_BOT_NAME + up_r = f"[Repo]({config.UPSTREAM_REPO})" + up_b = config.UPSTREAM_BRANCH + auto_leave = config.AUTO_LEAVE_ASSISTANT_TIME + yt_sleep = config.YOUTUBE_DOWNLOAD_EDIT_SLEEP + tg_sleep = config.TELEGRAM_DOWNLOAD_EDIT_SLEEP + playlist_limit = config.SERVER_PLAYLIST_LIMIT + fetch_playlist = config.PLAYLIST_FETCH_LIMIT + song = config.SONG_DOWNLOAD_DURATION + play_duration = config.DURATION_LIMIT_MIN + cm = config.CLEANMODE_DELETE_MINS + auto_sug = config.AUTO_SUGGESTION_TIME + if config.AUTO_LEAVING_ASSISTANT == str(True): + ass = "Yes" + else: + ass = "No" + if config.PRIVATE_BOT_MODE == str(True): + pvt = "Yes" + else: + pvt = "No" + if config.AUTO_SUGGESTION_MODE == str(True): + a_sug = "Yes" + else: + a_sug = "No" + if config.AUTO_DOWNLOADS_CLEAR == str(True): + down = "Yes" + else: + down = "No" + + if not config.GITHUB_REPO: + git = "No" + else: + git = f"[Repo]({config.GITHUB_REPO})" + if not config.START_IMG_URL: + start = "No" + else: + start = f"[Image]({config.START_IMG_URL})" + if not config.SUPPORT_CHANNEL: + s_c = "No" + else: + s_c = f"[Channel]({config.SUPPORT_CHANNEL})" + if not config.SUPPORT_GROUP: + s_g = "No" + else: + s_g = f"[Group]({config.SUPPORT_GROUP})" + if not config.GIT_TOKEN: + token = "No" + else: + token = "Yes" + if ( + not config.SPOTIFY_CLIENT_ID + and not config.SPOTIFY_CLIENT_SECRET + ): + sotify = "No" + else: + sotify = "Yes" + owners = [str(ids) for ids in config.OWNER_ID] + owner_id = " ,".join(owners) + tg_aud = convert_bytes(config.TG_AUDIO_FILESIZE_LIMIT) + tg_vid = convert_bytes(config.TG_VIDEO_FILESIZE_LIMIT) + text = f"""**MUSIC BOT CONFIG:** + +**Basic Vars:** +`MUSIC_BOT_NAME` : **{bot_name}** +`DURATION_LIMIT` : **{play_duration} min** +`SONG_DOWNLOAD_DURATION_LIMIT` :** {song} min** +`OWNER_ID` : **{owner_id}** + +**Custom Repo Vars:** +`UPSTREAM_REPO` : **{up_r}** +`UPSTREAM_BRANCH` : **{up_b}** +`GITHUB_REPO` :** {git}** +`GIT_TOKEN `:** {token}** + + +**Bot Vars:** +`AUTO_LEAVING_ASSISTANT` : **{ass}** +`ASSISTANT_LEAVE_TIME` : **{auto_leave} seconds** +`AUTO_SUGGESTION_MODE` :** {a_sug}** +`AUTO_SUGGESTION_TIME` : **{auto_sug} seconds** +`AUTO_DOWNLOADS_CLEAR` : **{down}** +`PRIVATE_BOT_MODE` : **{pvt}** +`YOUTUBE_EDIT_SLEEP` : **{yt_sleep} seconds** +`TELEGRAM_EDIT_SLEEP` :** {tg_sleep} seconds** +`CLEANMODE_MINS` : **{cm} mins** +`VIDEO_STREAM_LIMIT` : **{v_limit} chats** +`SERVER_PLAYLIST_LIMIT` :** {playlist_limit}** +`PLAYLIST_FETCH_LIMIT` :** {fetch_playlist}** + +**Spotify Vars:** +`SPOTIFY_CLIENT_ID` :** {sotify}** +`SPOTIFY_CLIENT_SECRET` : **{sotify}** + +**Playsize Vars:** +`TG_AUDIO_FILESIZE_LIMIT` :** {tg_aud}** +`TG_VIDEO_FILESIZE_LIMIT` :** {tg_vid}** + +**URL Vars:** +`SUPPORT_CHANNEL` : **{s_c}** +`SUPPORT_GROUP` : ** {s_g}** +`START_IMG_URL` : ** {start}** + """ + await asyncio.sleep(1) + await mystic.edit_text(text) diff --git a/YukkiMusic/plugins/sudo/videolimit.py b/YukkiMusic/plugins/sudo/videolimit.py new file mode 100644 index 0000000000000000000000000000000000000000..1aabc5af56a58c39d653e5985b5fb1ea51371298 --- /dev/null +++ b/YukkiMusic/plugins/sudo/videolimit.py @@ -0,0 +1,41 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import set_video_limit +from YukkiMusic.utils.decorators.language import language + +VIDEOLIMIT_COMMAND = get_command("VIDEOLIMIT_COMMAND") + + +@app.on_message(filters.command(VIDEOLIMIT_COMMAND) & SUDOERS) +@language +async def set_video_limit_kid(client, message: Message, _): + if len(message.command) != 2: + usage = _["vid_1"] + return await message.reply_text(usage) + message.chat.id + state = message.text.split(None, 1)[1].strip() + if state.lower() == "disable": + limit = 0 + await set_video_limit(limit) + return await message.reply_text(_["vid_4"]) + if state.isnumeric(): + limit = int(state) + await set_video_limit(limit) + if limit == 0: + return await message.reply_text(_["vid_4"]) + await message.reply_text(_["vid_3"].format(limit)) + else: + return await message.reply_text(_["vid_2"]) diff --git a/YukkiMusic/plugins/sudo/videomode.py b/YukkiMusic/plugins/sudo/videomode.py new file mode 100644 index 0000000000000000000000000000000000000000..bbd1cfc431057674d47de675c6ee851933dfc765 --- /dev/null +++ b/YukkiMusic/plugins/sudo/videomode.py @@ -0,0 +1,39 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +import config +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import add_off, add_on +from YukkiMusic.utils.decorators.language import language + +# Commands +VIDEOMODE_COMMAND = get_command("VIDEOMODE_COMMAND") + + +@app.on_message(filters.command(VIDEOMODE_COMMAND) & SUDOERS) +@language +async def videoloaymode(client, message: Message, _): + usage = _["vidmode_1"] + if len(message.command) != 2: + return await message.reply_text(usage) + state = message.text.split(None, 1)[1].strip() + state = state.lower() + if state == "download": + await add_on(config.YTDOWNLOADER) + await message.reply_text(_["vidmode_2"]) + elif state == "m3u8": + await add_off(config.YTDOWNLOADER) + await message.reply_text(_["vidmode_3"]) + else: + await message.reply_text(usage) diff --git a/YukkiMusic/plugins/tools/active.py b/YukkiMusic/plugins/tools/active.py new file mode 100644 index 0000000000000000000000000000000000000000..40050fa12f633bb18cda7c5ae0f9017d499a9854 --- /dev/null +++ b/YukkiMusic/plugins/tools/active.py @@ -0,0 +1,77 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram import filters +from pyrogram.types import Message + +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database.memorydatabase import ( + get_active_chats, get_active_video_chats) + +# Commands +ACTIVEVC_COMMAND = get_command("ACTIVEVC_COMMAND") +ACTIVEVIDEO_COMMAND = get_command("ACTIVEVIDEO_COMMAND") + + +@app.on_message(filters.command(ACTIVEVC_COMMAND) & SUDOERS) +async def activevc(_, message: Message): + mystic = await message.reply_text( + "Getting active voice chats.. Please hold" + ) + served_chats = await get_active_chats() + text = "" + j = 0 + for x in served_chats: + try: + title = (await app.get_chat(x)).title + except Exception: + title = "Private Group" + if (await app.get_chat(x)).username: + user = (await app.get_chat(x)).username + text += f"{j + 1}. [{title}](https://t.me/{user})[`{x}`]\n" + else: + text += f"{j + 1}. {title} [`{x}`]\n" + j += 1 + if not text: + await mystic.edit_text("No Active Voice Chats") + else: + await mystic.edit_text( + f"**Active Voice Chats:-**\n\n{text}", + disable_web_page_preview=True, + ) + + +@app.on_message(filters.command(ACTIVEVIDEO_COMMAND) & SUDOERS) +async def activevi_(_, message: Message): + mystic = await message.reply_text( + "Getting active video chats.. Please hold" + ) + served_chats = await get_active_video_chats() + text = "" + j = 0 + for x in served_chats: + try: + title = (await app.get_chat(x)).title + except Exception: + title = "Private Group" + if (await app.get_chat(x)).username: + user = (await app.get_chat(x)).username + text += f"{j + 1}. [{title}](https://t.me/{user})[`{x}`]\n" + else: + text += f"{j + 1}. {title} [`{x}`]\n" + j += 1 + if not text: + await mystic.edit_text("No Active Voice Chats") + else: + await mystic.edit_text( + f"**Active Video Calls:-**\n\n{text}", + disable_web_page_preview=True, + ) diff --git a/YukkiMusic/plugins/tools/languages.py b/YukkiMusic/plugins/tools/languages.py new file mode 100644 index 0000000000000000000000000000000000000000..75eb37e6de1e5ebeb107904d142c9d0094bf6efe --- /dev/null +++ b/YukkiMusic/plugins/tools/languages.py @@ -0,0 +1,104 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pykeyboard import InlineKeyboard +from pyrogram import filters +from pyrogram.types import InlineKeyboardButton, Message + +from config import BANNED_USERS +from strings import get_command, get_string, languages_present +from YukkiMusic import app +from YukkiMusic.utils.database import get_lang, set_lang +from YukkiMusic.utils.decorators import (ActualAdminCB, language, + languageCB) + +# Languages Available + + +def lanuages_keyboard(_): + keyboard = InlineKeyboard(row_width=3) + keyboard.add( + *[ + ( + InlineKeyboardButton( + text=languages_present[i], + callback_data=f"languages:{i}", + ) + ) + for i in languages_present + ] + ) + keyboard.row( + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data=f"close" + ), + ) + return keyboard + + +LANGUAGE_COMMAND = get_command("LANGUAGE_COMMAND") + + +@app.on_message( + filters.command(LANGUAGE_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def langs_command(client, message: Message, _): + keyboard = lanuages_keyboard(_) + await message.reply_text( + _["setting_1"].format(message.chat.title, message.chat.id), + reply_markup=keyboard, + ) + + +@app.on_callback_query(filters.regex("LG") & ~BANNED_USERS) +@languageCB +async def lanuagecb(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + keyboard = lanuages_keyboard(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=keyboard + ) + + +@app.on_callback_query( + filters.regex(r"languages:(.*?)") & ~BANNED_USERS +) +@ActualAdminCB +async def language_markup(client, CallbackQuery, _): + langauge = (CallbackQuery.data).split(":")[1] + old = await get_lang(CallbackQuery.message.chat.id) + if str(old) == str(langauge): + return await CallbackQuery.answer( + "You're already on same language", show_alert=True + ) + try: + _ = get_string(langauge) + await CallbackQuery.answer( + "Successfully changed your language.", show_alert=True + ) + except: + return await CallbackQuery.answer( + "Failed to change language or Language under update.", + show_alert=True, + ) + await set_lang(CallbackQuery.message.chat.id, langauge) + keyboard = lanuages_keyboard(_) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=keyboard + ) diff --git a/YukkiMusic/plugins/tools/lyrics.py b/YukkiMusic/plugins/tools/lyrics.py new file mode 100644 index 0000000000000000000000000000000000000000..d5064a15ea78ab727b5ddbb4624028ad4fdee400 --- /dev/null +++ b/YukkiMusic/plugins/tools/lyrics.py @@ -0,0 +1,66 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random +import re +import string + +import lyricsgenius as lg +from pyrogram import filters +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, Message) + +from config import BANNED_USERS, lyrical +from strings import get_command +from YukkiMusic import app +from YukkiMusic.utils.decorators.language import language + +###Commands +LYRICS_COMMAND = get_command("LYRICS_COMMAND") + +api_key = "Vd9FvPMOKWfsKJNG9RbZnItaTNIRFzVyyXFdrGHONVsGqHcHBoj3AI3sIlNuqzuf0ZNG8uLcF9wAd5DXBBnUzA" +y = lg.Genius( + api_key, + skip_non_songs=True, + excluded_terms=["(Remix)", "(Live)"], + remove_section_headers=True, +) +y.verbose = False + + +@app.on_message( + filters.command(LYRICS_COMMAND) & ~BANNED_USERS +) +@language +async def lrsearch(client, message: Message, _): + if len(message.command) < 2: + return await message.reply_text(_["lyrics_1"]) + title = message.text.split(None, 1)[1] + m = await message.reply_text(_["lyrics_2"]) + S = y.search_song(title, get_full_info=False) + if S is None: + return await m.edit(_["lyrics_3"].format(title)) + ran_hash = "".join( + random.choices(string.ascii_uppercase + string.digits, k=10) + ) + lyric = S.lyrics + if "Embed" in lyric: + lyric = re.sub(r"\d*Embed", "", lyric) + lyrical[ran_hash] = lyric + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["L_B_1"], + url=f"https://t.me/{app.username}?start=lyrics_{ran_hash}", + ), + ] + ] + ) + await m.edit(_["lyrics_4"], reply_markup=upl) diff --git a/YukkiMusic/plugins/tools/ping.py b/YukkiMusic/plugins/tools/ping.py new file mode 100644 index 0000000000000000000000000000000000000000..f75a16faf27b5e76cd76ca6ec970107a4b2c2d28 --- /dev/null +++ b/YukkiMusic/plugins/tools/ping.py @@ -0,0 +1,45 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from datetime import datetime + +from pyrogram import filters +from pyrogram.types import Message + +from config import BANNED_USERS, MUSIC_BOT_NAME, PING_IMG_URL +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.utils import bot_sys_stats +from YukkiMusic.utils.decorators.language import language + +### Commands +PING_COMMAND = get_command("PING_COMMAND") + + +@app.on_message( + filters.command(PING_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def ping_com(client, message: Message, _): + response = await message.reply_photo( + photo=PING_IMG_URL, + caption=_["ping_1"], + ) + start = datetime.now() + pytgping = await Yukki.ping() + UP, CPU, RAM, DISK = await bot_sys_stats() + resp = (datetime.now() - start).microseconds / 1000 + await response.edit_text( + _["ping_2"].format( + MUSIC_BOT_NAME, resp, UP, DISK, CPU, RAM, pytgping + ) + ) diff --git a/YukkiMusic/plugins/tools/queue.py b/YukkiMusic/plugins/tools/queue.py new file mode 100644 index 0000000000000000000000000000000000000000..6c017f9d51e18fc7c48b626158cfb3ca78aad0b7 --- /dev/null +++ b/YukkiMusic/plugins/tools/queue.py @@ -0,0 +1,339 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import os +from random import randint + +from pyrogram import filters +from pyrogram.errors import FloodWait +from pyrogram.types import CallbackQuery, InputMediaPhoto, Message + +import config +from config import BANNED_USERS +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import db +from YukkiMusic.utils import (Yukkibin, get_channeplayCB, + seconds_to_min) +from YukkiMusic.utils.database import (get_cmode, is_active_chat, + is_music_playing) +from YukkiMusic.utils.decorators.language import language, languageCB +from YukkiMusic.utils.inline import queue_back_markup, queue_markup + +###Commands +QUEUE_COMMAND = get_command("QUEUE_COMMAND") + +basic = {} + + +def get_image(videoid): + if os.path.isfile(f"cache/{videoid}.png"): + return f"cache/{videoid}.png" + else: + return config.YOUTUBE_IMG_URL + + +def get_duration(playing): + file_path = playing[0]["file"] + if "index_" in file_path or "live_" in file_path: + return "Unknown" + duration_seconds = int(playing[0]["seconds"]) + if duration_seconds == 0: + return "Unknown" + else: + return "Inline" + + +@app.on_message( + filters.command(QUEUE_COMMAND) & filters.group & ~BANNED_USERS +) +@language +async def ping_com(client, message: Message, _): + if message.command[0][0] == "c": + chat_id = await get_cmode(message.chat.id) + if chat_id is None: + return await message.reply_text(_["setting_12"]) + try: + await app.get_chat(chat_id) + except: + return await message.reply_text(_["cplay_4"]) + cplay = True + else: + chat_id = message.chat.id + cplay = False + if not await is_active_chat(chat_id): + return await message.reply_text(_["general_6"]) + got = db.get(chat_id) + if not got: + return await message.reply_text(_["queue_2"]) + file = got[0]["file"] + videoid = got[0]["vidid"] + user = got[0]["by"] + title = (got[0]["title"]).title() + typo = (got[0]["streamtype"]).title() + DUR = get_duration(got) + if "live_" in file: + IMAGE = get_image(videoid) + elif "vid_" in file: + IMAGE = get_image(videoid) + elif "index_" in file: + IMAGE = config.STREAM_IMG_URL + else: + if videoid == "telegram": + IMAGE = ( + config.TELEGRAM_AUDIO_URL + if typo == "Audio" + else config.TELEGRAM_VIDEO_URL + ) + elif videoid == "soundcloud": + IMAGE = config.SOUNCLOUD_IMG_URL + else: + IMAGE = get_image(videoid) + send = ( + "**âŒ›ī¸Duration:** Unknown Duration Stream\n\nClick on button below to get whole queued list." + if DUR == "Unknown" + else "\nClick on button below to get whole queued list." + ) + cap = f"""**{config.MUSIC_BOT_NAME} Player** + +đŸŽĨ**Playing:** {title} + +🔗**Stream Type:** {typo} +đŸ™â€â™‚ī¸**Played By:** {user} +{send}""" + upl = ( + queue_markup(_, DUR, "c" if cplay else "g", videoid) + if DUR == "Unknown" + else queue_markup( + _, + DUR, + "c" if cplay else "g", + videoid, + seconds_to_min(got[0]["played"]), + got[0]["dur"], + ) + ) + basic[videoid] = True + mystic = await message.reply_photo( + IMAGE, caption=cap, reply_markup=upl + ) + if DUR != "Unknown": + try: + while db[chat_id][0]["vidid"] == videoid: + await asyncio.sleep(5) + if await is_active_chat(chat_id): + if basic[videoid]: + if await is_music_playing(chat_id): + try: + buttons = queue_markup( + _, + DUR, + "c" if cplay else "g", + videoid, + seconds_to_min( + db[chat_id][0]["played"] + ), + db[chat_id][0]["dur"], + ) + await mystic.edit_reply_markup( + reply_markup=buttons + ) + except FloodWait: + pass + else: + pass + else: + break + else: + break + except: + return + + +@app.on_callback_query(filters.regex("GetTimer") & ~BANNED_USERS) +async def quite_timer(client, CallbackQuery: CallbackQuery): + try: + await CallbackQuery.answer() + except: + pass + + +@app.on_callback_query(filters.regex("GetQueued") & ~BANNED_USERS) +@languageCB +async def queued_tracks(client, CallbackQuery: CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + what, videoid = callback_request.split("|") + try: + chat_id, channel = await get_channeplayCB( + _, what, CallbackQuery + ) + except: + return + if not await is_active_chat(chat_id): + return await CallbackQuery.answer( + _["general_6"], show_alert=True + ) + got = db.get(chat_id) + if not got: + return await CallbackQuery.answer( + _["queue_2"], show_alert=True + ) + if len(got) == 1: + return await CallbackQuery.answer( + _["queue_5"], show_alert=True + ) + await CallbackQuery.answer() + basic[videoid] = False + buttons = queue_back_markup(_, what) + med = InputMediaPhoto( + media="https://telegra.ph//file/6f7d35131f69951c74ee5.jpg", + caption=_["queue_1"], + ) + await CallbackQuery.edit_message_media(media=med) + j = 0 + msg = "" + for x in got: + j += 1 + if j == 1: + msg += f'Currently Playing:\n\n🏷Title: {x["title"]}\nDuration: {x["dur"]}\nBy: {x["by"]}\n\n' + elif j == 2: + msg += f'Queued:\n\n🏷Title: {x["title"]}\nDuration: {x["dur"]}\nBy: {x["by"]}\n\n' + else: + msg += f'🏷Title: {x["title"]}\nDuration: {x["dur"]}\nBy: {x["by"]}\n\n' + if "Queued" in msg: + if len(msg) < 700: + await asyncio.sleep(1) + return await CallbackQuery.edit_message_text( + msg, reply_markup=buttons + ) + if "🏷" in msg: + msg = msg.replace("🏷", "") + link = await Yukkibin(msg) + med = InputMediaPhoto( + media=link, caption=_["queue_3"].format(link) + ) + await CallbackQuery.edit_message_media( + media=med, reply_markup=buttons + ) + else: + await asyncio.sleep(1) + return await CallbackQuery.edit_message_text( + msg, reply_markup=buttons + ) + + +@app.on_callback_query( + filters.regex("queue_back_timer") & ~BANNED_USERS +) +@languageCB +async def queue_back(client, CallbackQuery: CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + cplay = callback_data.split(None, 1)[1] + try: + chat_id, channel = await get_channeplayCB( + _, cplay, CallbackQuery + ) + except: + return + if not await is_active_chat(chat_id): + return await CallbackQuery.answer( + _["general_6"], show_alert=True + ) + got = db.get(chat_id) + if not got: + return await CallbackQuery.answer( + _["queue_2"], show_alert=True + ) + await CallbackQuery.answer(_["set_cb_8"], show_alert=True) + file = got[0]["file"] + videoid = got[0]["vidid"] + user = got[0]["by"] + title = (got[0]["title"]).title() + typo = (got[0]["streamtype"]).title() + DUR = get_duration(got) + if "live_" in file: + IMAGE = get_image(videoid) + elif "vid_" in file: + IMAGE = get_image(videoid) + elif "index_" in file: + IMAGE = config.STREAM_IMG_URL + else: + if videoid == "telegram": + IMAGE = ( + config.TELEGRAM_AUDIO_URL + if typo == "Audio" + else config.TELEGRAM_VIDEO_URL + ) + elif videoid == "soundcloud": + IMAGE = config.SOUNCLOUD_IMG_URL + else: + IMAGE = get_image(videoid) + send = ( + "**âŒ›ī¸Duration:** Unknown Duration Stream\n\nClick on button below to get whole queued list." + if DUR == "Unknown" + else "\nClick on button below to get whole queued list." + ) + cap = f"""**{config.MUSIC_BOT_NAME} Player** + +đŸŽĨ**Playing:** {title} + +🔗**Stream Type:** {typo} +đŸ™â€â™‚ī¸**Played By:** {user} +{send}""" + upl = ( + queue_markup(_, DUR, cplay, videoid) + if DUR == "Unknown" + else queue_markup( + _, + DUR, + cplay, + videoid, + seconds_to_min(got[0]["played"]), + got[0]["dur"], + ) + ) + basic[videoid] = True + + med = InputMediaPhoto(media=IMAGE, caption=cap) + mystic = await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + if DUR != "Unknown": + try: + while db[chat_id][0]["vidid"] == videoid: + await asyncio.sleep(5) + if await is_active_chat(chat_id): + if basic[videoid]: + if await is_music_playing(chat_id): + try: + buttons = queue_markup( + _, + DUR, + cplay, + videoid, + seconds_to_min( + db[chat_id][0]["played"] + ), + db[chat_id][0]["dur"], + ) + await mystic.edit_reply_markup( + reply_markup=buttons + ) + except FloodWait: + pass + else: + pass + else: + break + else: + break + except: + return diff --git a/YukkiMusic/plugins/tools/reload.py b/YukkiMusic/plugins/tools/reload.py new file mode 100644 index 0000000000000000000000000000000000000000..92d9a6308fa1b64491690c36670074cb5c36414c --- /dev/null +++ b/YukkiMusic/plugins/tools/reload.py @@ -0,0 +1,141 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. +import asyncio + +from pyrogram import filters +from pyrogram.types import CallbackQuery, Message + +from config import BANNED_USERS, MUSIC_BOT_NAME, adminlist, lyrical +from strings import get_command +from YukkiMusic import app +from YukkiMusic.core.call import Yukki +from YukkiMusic.misc import db +from YukkiMusic.utils.database import get_authuser_names, get_cmode +from YukkiMusic.utils.decorators import (ActualAdminCB, AdminActual, + language) +from YukkiMusic.utils.formatters import alpha_to_int + +### Multi-Lang Commands +RELOAD_COMMAND = get_command("RELOAD_COMMAND") +RESTART_COMMAND = get_command("RESTART_COMMAND") + + +@app.on_message( + filters.command(RELOAD_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def reload_admin_cache(client, message: Message, _): + try: + chat_id = message.chat.id + admins = await app.get_chat_members( + chat_id, filter="administrators" + ) + authusers = await get_authuser_names(chat_id) + adminlist[chat_id] = [] + for user in admins: + if user.can_manage_voice_chats: + adminlist[chat_id].append(user.user.id) + for user in authusers: + user_id = await alpha_to_int(user) + adminlist[chat_id].append(user_id) + await message.reply_text(_["admin_20"]) + except: + await message.reply_text( + "Failed to reload admincache. Make sure Bot is admin in your chat." + ) + + +@app.on_message( + filters.command(RESTART_COMMAND) + & filters.group + & ~BANNED_USERS +) +@AdminActual +async def restartbot(client, message: Message, _): + mystic = await message.reply_text( + f"Please Wait.. Restarting {MUSIC_BOT_NAME} for your chat.." + ) + await asyncio.sleep(1) + try: + db[message.chat.id] = [] + await Yukki.stop_stream(message.chat.id) + except: + pass + chat_id = await get_cmode(message.chat.id) + if chat_id: + try: + await app.get_chat(chat_id) + except: + pass + try: + db[chat_id] = [] + await Yukki.stop_stream(chat_id) + except: + pass + return await mystic.edit_text( + "Successfully restarted. Try playing now.." + ) + + +@app.on_callback_query(filters.regex("close") & ~BANNED_USERS) +async def close_menu(_, CallbackQuery): + try: + await CallbackQuery.message.delete() + await CallbackQuery.answer() + except: + return + + +@app.on_callback_query(filters.regex("close") & ~BANNED_USERS) +async def close_menu(_, CallbackQuery): + try: + await CallbackQuery.message.delete() + await CallbackQuery.answer() + except: + return + + +@app.on_callback_query( + filters.regex("stop_downloading") & ~BANNED_USERS +) +@ActualAdminCB +async def stop_download(client, CallbackQuery: CallbackQuery, _): + message_id = CallbackQuery.message.message_id + task = lyrical.get(message_id) + if not task: + return await CallbackQuery.answer( + "Downloading already Completed.", show_alert=True + ) + if task.done() or task.cancelled(): + return await CallbackQuery.answer( + "Downloading already Completed or Cancelled.", + show_alert=True, + ) + if not task.done(): + try: + task.cancel() + try: + lyrical.pop(message_id) + except: + pass + await CallbackQuery.answer( + "Downloading Cancelled", show_alert=True + ) + return await CallbackQuery.edit_message_text( + f"Download Cancelled by {CallbackQuery.from_user.mention}" + ) + except: + return await CallbackQuery.answer( + "Failed to stop the Downloading.", show_alert=True + ) + await CallbackQuery.answer( + "Failed to recognize the running task", show_alert=True + ) diff --git a/YukkiMusic/plugins/tools/songs.py b/YukkiMusic/plugins/tools/songs.py new file mode 100644 index 0000000000000000000000000000000000000000..ba267ea0fdf472cea9e0a516e852b2f913539232 --- /dev/null +++ b/YukkiMusic/plugins/tools/songs.py @@ -0,0 +1,311 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +import re + +import yt_dlp +from pykeyboard import InlineKeyboard +from pyrogram import enums +from pyrogram import filters +from pyrogram.types import (InlineKeyboardButton, + InlineKeyboardMarkup, InputMediaAudio, + InputMediaVideo, Message) + +from config import (BANNED_USERS, SONG_DOWNLOAD_DURATION, + SONG_DOWNLOAD_DURATION_LIMIT) +from strings import get_command +from YukkiMusic import YouTube, app +from YukkiMusic.utils.decorators.language import language, languageCB +from YukkiMusic.utils.formatters import convert_bytes +from YukkiMusic.utils.inline.song import song_markup + +# Command +SONG_COMMAND = get_command("SONG_COMMAND") + + +@app.on_message( + filters.command(SONG_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def song_commad_group(client, message: Message, _): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["SG_B_1"], + url=f"https://t.me/{app.username}?start=song", + ), + ] + ] + ) + await message.reply_text(_["song_1"], reply_markup=upl) + + +# Song Module + + +@app.on_message( + filters.command(SONG_COMMAND) + & filters.private + & ~BANNED_USERS +) +@language +async def song_commad_private(client, message: Message, _): + await message.delete() + url = await YouTube.url(message) + if url: + if not await YouTube.exists(url): + return await message.reply_text(_["song_5"]) + mystic = await message.reply_text(_["play_1"]) + ( + title, + duration_min, + duration_sec, + thumbnail, + vidid, + ) = await YouTube.details(url) + if str(duration_min) == "None": + return await mystic.edit_text(_["song_3"]) + if int(duration_sec) > SONG_DOWNLOAD_DURATION_LIMIT: + return await mystic.edit_text( + _["play_4"].format( + SONG_DOWNLOAD_DURATION, duration_min + ) + ) + buttons = song_markup(_, vidid) + await mystic.delete() + return await message.reply_photo( + thumbnail, + caption=_["song_4"].format(title), + reply_markup=InlineKeyboardMarkup(buttons), + ) + else: + if len(message.command) < 2: + return await message.reply_text(_["song_2"]) + mystic = await message.reply_text(_["play_1"]) + query = message.text.split(None, 1)[1] + try: + ( + title, + duration_min, + duration_sec, + thumbnail, + vidid, + ) = await YouTube.details(query) + except: + return await mystic.edit_text(_["play_3"]) + if str(duration_min) == "None": + return await mystic.edit_text(_["song_3"]) + if int(duration_sec) > SONG_DOWNLOAD_DURATION_LIMIT: + return await mystic.edit_text( + _["play_6"].format(SONG_DOWNLOAD_DURATION, duration_min) + ) + buttons = song_markup(_, vidid) + await mystic.delete() + return await message.reply_photo( + thumbnail, + caption=_["song_4"].format(title), + reply_markup=InlineKeyboardMarkup(buttons), + ) + + +@app.on_callback_query( + filters.regex(pattern=r"song_back") & ~BANNED_USERS +) +@languageCB +async def songs_back_helper(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + stype, vidid = callback_request.split("|") + buttons = song_markup(_, vidid) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=InlineKeyboardMarkup(buttons) + ) + + +@app.on_callback_query( + filters.regex(pattern=r"song_helper") & ~BANNED_USERS +) +@languageCB +async def song_helper_cb(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + stype, vidid = callback_request.split("|") + try: + await CallbackQuery.answer(_["song_6"], show_alert=True) + except: + pass + if stype == "audio": + try: + formats_available, link = await YouTube.formats( + vidid, True + ) + except: + return await CallbackQuery.edit_message_text(_["song_7"]) + keyboard = InlineKeyboard() + done = [] + for x in formats_available: + check = x["format"] + if "audio" in check: + if x["filesize"] is None: + continue + form = x["format_note"].title() + if form not in done: + done.append(form) + else: + continue + sz = convert_bytes(x["filesize"]) + fom = x["format_id"] + keyboard.row( + InlineKeyboardButton( + text=f"{form} Quality Audio = {sz}", + callback_data=f"song_download {stype}|{fom}|{vidid}", + ), + ) + keyboard.row( + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"song_back {stype}|{vidid}", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data=f"close" + ), + ) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=keyboard + ) + else: + try: + formats_available, link = await YouTube.formats( + vidid, True + ) + except Exception as e: + print(e) + return await CallbackQuery.edit_message_text(_["song_7"]) + keyboard = InlineKeyboard() + # AVC Formats Only [ YUKKI MUSIC BOT ] + done = [160, 133, 134, 135, 136, 137, 298, 299, 264, 304, 266] + for x in formats_available: + check = x["format"] + if x["filesize"] is None: + continue + if int(x["format_id"]) not in done: + continue + sz = convert_bytes(x["filesize"]) + ap = check.split("-")[1] + to = f"{ap} = {sz}" + keyboard.row( + InlineKeyboardButton( + text=to, + callback_data=f"song_download {stype}|{x['format_id']}|{vidid}", + ) + ) + keyboard.row( + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"song_back {stype}|{vidid}", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data=f"close" + ), + ) + return await CallbackQuery.edit_message_reply_markup( + reply_markup=keyboard + ) + + +# Downloading Songs Here + + +@app.on_callback_query( + filters.regex(pattern=r"song_download") & ~BANNED_USERS +) +@languageCB +async def song_download_cb(client, CallbackQuery, _): + try: + await CallbackQuery.answer("Downloading") + except: + pass + callback_data = CallbackQuery.data.strip() + callback_request = callback_data.split(None, 1)[1] + stype, format_id, vidid = callback_request.split("|") + mystic = await CallbackQuery.edit_message_text(_["song_8"]) + yturl = f"https://www.youtube.com/watch?v={vidid}" + with yt_dlp.YoutubeDL({"quiet": True}) as ytdl: + x = ytdl.extract_info(yturl, download=False) + title = (x["title"]).title() + title = re.sub("\W+", " ", title) + thumb_image_path = await CallbackQuery.message.download() + duration = x["duration"] + if stype == "video": + thumb_image_path = await CallbackQuery.message.download() + width = CallbackQuery.message.photo.width + height = CallbackQuery.message.photo.height + try: + file_path = await YouTube.download( + yturl, + mystic, + songvideo=True, + format_id=format_id, + title=title, + ) + except Exception as e: + return await mystic.edit_text(_["song_9"].format(e)) + med = InputMediaVideo( + media=file_path, + duration=duration, + width=width, + height=height, + thumb=thumb_image_path, + caption=title, + supports_streaming=True, + ) + await mystic.edit_text(_["song_11"]) + await app.send_chat_action( + chat_id=CallbackQuery.message.chat.id, + action=enums.ChatAction.UPLOAD_VIDEO, + ) + try: + await CallbackQuery.edit_message_media(media=med) + except Exception as e: + print(e) + return await mystic.edit_text(_["song_10"]) + os.remove(file_path) + elif stype == "audio": + try: + filename = await YouTube.download( + yturl, + mystic, + songaudio=True, + format_id=format_id, + title=title, + ) + except Exception as e: + return await mystic.edit_text(_["song_9"].format(e)) + med = InputMediaAudio( + media=filename, + caption=title, + thumb=thumb_image_path, + title=title, + performer=x["uploader"], + ) + await mystic.edit_text(_["song_11"]) + await app.send_chat_action( + chat_id=CallbackQuery.message.chat.id, + action=enums.ChatAction.UPLOAD_VIDEO, + ) + try: + await CallbackQuery.edit_message_media(media=med) + except Exception as e: + print(e) + return await mystic.edit_text(_["song_10"]) + os.remove(filename) diff --git a/YukkiMusic/plugins/tools/speedtest.py b/YukkiMusic/plugins/tools/speedtest.py new file mode 100644 index 0000000000000000000000000000000000000000..f58947b0440106354c7c1abc2434aa17da5954a4 --- /dev/null +++ b/YukkiMusic/plugins/tools/speedtest.py @@ -0,0 +1,59 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import speedtest +from pyrogram import filters +from strings import get_command +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS + +# Commands +SPEEDTEST_COMMAND = get_command("SPEEDTEST_COMMAND") + + +def testspeed(m): + try: + test = speedtest.Speedtest() + test.get_best_server() + m = m.edit("Running Download SpeedTest") + test.download() + m = m.edit("Running Upload SpeedTest") + test.upload() + test.results.share() + result = test.results.dict() + m = m.edit("Sharing SpeedTest Results") + except Exception as e: + return m.edit(e) + return result + + +@app.on_message(filters.command(SPEEDTEST_COMMAND) & SUDOERS) +async def speedtest_function(client, message): + m = await message.reply_text("Running Speed test") + loop = asyncio.get_event_loop() + result = await loop.run_in_executor(None, testspeed, m) + output = f"""**Speedtest Results** + +**Client:** +**__ISP:__** {result['client']['isp']} +**__Country:__** {result['client']['country']} + +**Server:** +**__Name:__** {result['server']['name']} +**__Country:__** {result['server']['country']}, {result['server']['cc']} +**__Sponsor:__** {result['server']['sponsor']} +**__Latency:__** {result['server']['latency']} +**__Ping:__** {result['ping']}""" + msg = await app.send_photo( + chat_id=message.chat.id, + photo=result["share"], + caption=output + ) + await m.delete() diff --git a/YukkiMusic/plugins/tools/stats.py b/YukkiMusic/plugins/tools/stats.py new file mode 100644 index 0000000000000000000000000000000000000000..e7f855e79daf59a2c15bcb44220d934d672cefe0 --- /dev/null +++ b/YukkiMusic/plugins/tools/stats.py @@ -0,0 +1,472 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import platform +from sys import version as pyver + +import psutil +from pyrogram import __version__ as pyrover +from pyrogram import filters +from pyrogram.errors import MessageIdInvalid +from pyrogram.types import CallbackQuery, InputMediaPhoto, Message +from pytgcalls.__version__ import __version__ as pytgver + +import config +from config import BANNED_USERS, MUSIC_BOT_NAME +from strings import get_command +from YukkiMusic import YouTube, app +from YukkiMusic.core.userbot import assistants +from YukkiMusic.misc import SUDOERS, pymongodb +from YukkiMusic.plugins import ALL_MODULES +from YukkiMusic.utils.database import (get_global_tops, + get_particulars, get_queries, + get_served_chats, + get_served_users, get_sudoers, + get_top_chats, get_topp_users) +from YukkiMusic.utils.decorators.language import language, languageCB +from YukkiMusic.utils.inline.stats import (back_stats_buttons, + back_stats_markup, + get_stats_markup, + overallback_stats_markup, + stats_buttons, + top_ten_stats_markup) + +loop = asyncio.get_running_loop() + +# Commands +GSTATS_COMMAND = get_command("GSTATS_COMMAND") +STATS_COMMAND = get_command("STATS_COMMAND") + + +@app.on_message( + filters.command(STATS_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def stats_global(client, message: Message, _): + upl = stats_buttons( + _, True if message.from_user.id in SUDOERS else False + ) + await message.reply_photo( + photo=config.STATS_IMG_URL, + caption=_["gstats_11"].format(config.MUSIC_BOT_NAME), + reply_markup=upl, + ) + + +@app.on_message( + filters.command(GSTATS_COMMAND) + & filters.group + & ~BANNED_USERS +) +@language +async def gstats_global(client, message: Message, _): + mystic = await message.reply_text(_["gstats_1"]) + stats = await get_global_tops() + if not stats: + await asyncio.sleep(1) + return await mystic.edit(_["gstats_2"]) + + def get_stats(): + results = {} + for i in stats: + top_list = stats[i]["spot"] + results[str(i)] = top_list + list_arranged = dict( + sorted( + results.items(), + key=lambda item: item[1], + reverse=True, + ) + ) + if not results: + return mystic.edit(_["gstats_2"]) + videoid = None + co = None + for vidid, count in list_arranged.items(): + if vidid == "telegram": + continue + else: + videoid = vidid + co = count + break + return videoid, co + + try: + videoid, co = await loop.run_in_executor(None, get_stats) + except Exception as e: + print(e) + return + ( + title, + duration_min, + duration_sec, + thumbnail, + vidid, + ) = await YouTube.details(videoid, True) + title = title.title() + final = f"Top Most Played Track on {MUSIC_BOT_NAME}\n\n**Title:** {title}\n\nPlayed** {co} **times" + upl = get_stats_markup( + _, True if message.from_user.id in SUDOERS else False + ) + await app.send_photo( + message.chat.id, + photo=thumbnail, + caption=final, + reply_markup=upl, + ) + await mystic.delete() + + +@app.on_callback_query(filters.regex("GetStatsNow") & ~BANNED_USERS) +@languageCB +async def top_users_ten(client, CallbackQuery: CallbackQuery, _): + chat_id = CallbackQuery.message.chat.id + callback_data = CallbackQuery.data.strip() + what = callback_data.split(None, 1)[1] + upl = back_stats_markup(_) + try: + await CallbackQuery.answer() + except: + pass + mystic = await CallbackQuery.edit_message_text( + _["gstats_3"].format( + f"of {CallbackQuery.message.chat.title}" + if what == "Here" + else what + ) + ) + if what == "Tracks": + stats = await get_global_tops() + elif what == "Chats": + stats = await get_top_chats() + elif what == "Users": + stats = await get_topp_users() + elif what == "Here": + stats = await get_particulars(chat_id) + if not stats: + await asyncio.sleep(1) + return await mystic.edit(_["gstats_2"], reply_markup=upl) + queries = await get_queries() + + def get_stats(): + results = {} + for i in stats: + top_list = ( + stats[i] + if what in ["Chats", "Users"] + else stats[i]["spot"] + ) + results[str(i)] = top_list + list_arranged = dict( + sorted( + results.items(), + key=lambda item: item[1], + reverse=True, + ) + ) + if not results: + return mystic.edit(_["gstats_2"], reply_markup=upl) + msg = "" + limit = 0 + total_count = 0 + if what in ["Tracks", "Here"]: + for items, count in list_arranged.items(): + total_count += count + if limit == 10: + continue + limit += 1 + details = stats.get(items) + title = (details["title"][:35]).title() + if items == "telegram": + msg += f"🔗[Telegram Files and Audios](https://t.me/telegram) ** played {count} times**\n\n" + else: + msg += f"🔗 [{title}](https://www.youtube.com/watch?v={items}) ** played {count} times**\n\n" + + temp = ( + _["gstats_4"].format( + queries, + config.MUSIC_BOT_NAME, + len(stats), + total_count, + limit, + ) + if what == "Tracks" + else _["gstats_7"].format( + len(stats), total_count, limit + ) + ) + msg = temp + msg + return msg, list_arranged + + try: + msg, list_arranged = await loop.run_in_executor( + None, get_stats + ) + except Exception as e: + print(e) + return + limit = 0 + if what in ["Users", "Chats"]: + for items, count in list_arranged.items(): + if limit == 10: + break + try: + extract = ( + (await app.get_users(items)).first_name + if what == "Users" + else (await app.get_chat(items)).title + ) + if extract is None: + continue + await asyncio.sleep(0.5) + except: + continue + limit += 1 + msg += f"🔗`{extract}` played {count} times on bot.\n\n" + temp = ( + _["gstats_5"].format(limit, MUSIC_BOT_NAME) + if what == "Chats" + else _["gstats_6"].format(limit, MUSIC_BOT_NAME) + ) + msg = temp + msg + med = InputMediaPhoto(media=config.GLOBAL_IMG_URL, caption=msg) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.GLOBAL_IMG_URL, caption=msg, reply_markup=upl + ) + + +@app.on_callback_query(filters.regex("TopOverall") & ~BANNED_USERS) +@languageCB +async def overall_stats(client, CallbackQuery, _): + callback_data = CallbackQuery.data.strip() + what = callback_data.split(None, 1)[1] + if what != "s": + upl = overallback_stats_markup(_) + else: + upl = back_stats_buttons(_) + try: + await CallbackQuery.answer() + except: + pass + await CallbackQuery.edit_message_text(_["gstats_8"]) + served_chats = len(await get_served_chats()) + served_users = len(await get_served_users()) + total_queries = await get_queries() + blocked = len(BANNED_USERS) + sudoers = len(SUDOERS) + mod = len(ALL_MODULES) + assistant = len(assistants) + playlist_limit = config.SERVER_PLAYLIST_LIMIT + fetch_playlist = config.PLAYLIST_FETCH_LIMIT + song = config.SONG_DOWNLOAD_DURATION + play_duration = config.DURATION_LIMIT_MIN + if config.AUTO_LEAVING_ASSISTANT == str(True): + ass = "Yes" + else: + ass = "No" + cm = config.CLEANMODE_DELETE_MINS + text = f"""**Bot's Stats and Information:** + +**Imported Modules:** {mod} +**Served Chats:** {served_chats} +**Served Users:** {served_users} +**Blocked Users:** {blocked} +**Sudo Users:** {sudoers} + +**Total Queries:** {total_queries} +**Total Assistants:** {assistant} +**Auto Leaving Assistant:** {ass} +**Cleanmode duration:** {cm} Mins + +**Play Duration Limit:** {play_duration} Mins +**Song Download Limit:** {song} Mins +**Bot's Server Playlist Limit:** {playlist_limit} +**Playlist Play Limit:** {fetch_playlist}""" + med = InputMediaPhoto(media=config.STATS_IMG_URL, caption=text) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.STATS_IMG_URL, caption=text, reply_markup=upl + ) + + +@app.on_callback_query(filters.regex("bot_stats_sudo")) +@languageCB +async def overall_stats(client, CallbackQuery, _): + if CallbackQuery.from_user.id not in SUDOERS: + return await CallbackQuery.answer( + "Only for Sudo Users", show_alert=True + ) + callback_data = CallbackQuery.data.strip() + what = callback_data.split(None, 1)[1] + if what != "s": + upl = overallback_stats_markup(_) + else: + upl = back_stats_buttons(_) + try: + await CallbackQuery.answer() + except: + pass + await CallbackQuery.edit_message_text(_["gstats_8"]) + sc = platform.system() + p_core = psutil.cpu_count(logical=False) + t_core = psutil.cpu_count(logical=True) + ram = ( + str(round(psutil.virtual_memory().total / (1024.0**3))) + + " GB" + ) + try: + cpu_freq = psutil.cpu_freq().current + if cpu_freq >= 1000: + cpu_freq = f"{round(cpu_freq / 1000, 2)}GHz" + else: + cpu_freq = f"{round(cpu_freq, 2)}MHz" + except: + cpu_freq = "Unable to Fetch" + hdd = psutil.disk_usage("/") + total = hdd.total / (1024.0**3) + total = str(total) + used = hdd.used / (1024.0**3) + used = str(used) + free = hdd.free / (1024.0**3) + free = str(free) + mod = len(ALL_MODULES) + db = pymongodb + call = db.command("dbstats") + datasize = call["dataSize"] / 1024 + datasize = str(datasize) + storage = call["storageSize"] / 1024 + objects = call["objects"] + collections = call["collections"] + status = db.command("serverStatus") + query = status["opcounters"]["query"] + mongouptime = status["uptime"] / 86400 + mongouptime = str(mongouptime) + served_chats = len(await get_served_chats()) + served_users = len(await get_served_users()) + total_queries = await get_queries() + blocked = len(BANNED_USERS) + sudoers = len(await get_sudoers()) + text = f""" **Bot's Stats and Information:** + +**Imported Modules:** {mod} +**Platform:** {sc} +**Ram:** {ram} +**Physical Cores:** {p_core} +**Total Cores:** {t_core} +**Cpu Frequency:** {cpu_freq} + +**Python Version :** {pyver.split()[0]} +**Pyrogram Version :** {pyrover} +**Py-TgCalls Version :** {pytgver} + +**Storage Avail:** {total[:4]} GiB +**Storage Used:** {used[:4]} GiB +**Storage Left:** {free[:4]} GiB + +**Served Chats:** {served_chats} +**Served Users:** {served_users} +**Blocked Users:** {blocked} +**Sudo Users:** {sudoers} + +**Mongo Uptime:** {mongouptime[:4]} Days +**Total DB Size:** {datasize[:6]} Mb +**Total DB Storage:** {storage} Mb +**Total DB Collections:** {collections} +**Total DB Keys:** {objects} +**Total DB Queries:** `{query}` +**Total Bot Queries:** `{total_queries} ` + """ + med = InputMediaPhoto(media=config.STATS_IMG_URL, caption=text) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.STATS_IMG_URL, caption=text, reply_markup=upl + ) + + +@app.on_callback_query( + filters.regex(pattern=r"^(TOPMARKUPGET|GETSTATS|GlobalStats)$") + & ~BANNED_USERS +) +@languageCB +async def back_buttons(client, CallbackQuery, _): + try: + await CallbackQuery.answer() + except: + pass + command = CallbackQuery.matches[0].group(1) + if command == "TOPMARKUPGET": + upl = top_ten_stats_markup(_) + med = InputMediaPhoto( + media=config.GLOBAL_IMG_URL, + caption=_["gstats_9"], + ) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.GLOBAL_IMG_URL, + caption=_["gstats_9"], + reply_markup=upl, + ) + if command == "GlobalStats": + upl = get_stats_markup( + _, + True if CallbackQuery.from_user.id in SUDOERS else False, + ) + med = InputMediaPhoto( + media=config.GLOBAL_IMG_URL, + caption=_["gstats_10"].format(config.MUSIC_BOT_NAME), + ) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.GLOBAL_IMG_URL, + caption=_["gstats_10"].format(config.MUSIC_BOT_NAME), + reply_markup=upl, + ) + if command == "GETSTATS": + upl = stats_buttons( + _, + True if CallbackQuery.from_user.id in SUDOERS else False, + ) + med = InputMediaPhoto( + media=config.STATS_IMG_URL, + caption=_["gstats_11"].format(config.MUSIC_BOT_NAME), + ) + try: + await CallbackQuery.edit_message_media( + media=med, reply_markup=upl + ) + except MessageIdInvalid: + await CallbackQuery.message.reply_photo( + photo=config.STATS_IMG_URL, + caption=_["gstats_11"].format(config.MUSIC_BOT_NAME), + reply_markup=upl, + ) diff --git a/YukkiMusic/server/__init__.py b/YukkiMusic/server/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9603cece66d735bcea0da0115c66e231c4735691 --- /dev/null +++ b/YukkiMusic/server/__init__.py @@ -0,0 +1,21 @@ +from aiohttp import web +#from .routes_main import routes +#from .routes_api import api + +from YukkiMusic.platforms.file_properties import get_file_info,get_name + +#from YukkiMusic.server.routes_api import fetch_youtube +from YukkiMusic.server.routes_TGFileAPI import TGFILEAPI +from YukkiMusic.server.routes_appV2 import sub_appV2 + +async def root_route_handler(request): + return web.json_response({"status": "alive", "message": "Server is running"}) + +def web_server(): + web_app = web.Application(client_max_size=50) + web_app.router.add_get('/', root_route_handler) + web_app.add_subapp('/dl', TGFILEAPI) + web_app['TGFILEAPI'] = TGFILEAPI + web_app.add_subapp('/appV2', sub_appV2) + web_app['sub_appV2'] = sub_appV2 + return web_app \ No newline at end of file diff --git a/YukkiMusic/server/__main__.py b/YukkiMusic/server/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/YukkiMusic/server/routes_TGFileAPI.py b/YukkiMusic/server/routes_TGFileAPI.py new file mode 100644 index 0000000000000000000000000000000000000000..f60a7f65ef7b706903acbc0ce438bfa93c8cab0d --- /dev/null +++ b/YukkiMusic/server/routes_TGFileAPI.py @@ -0,0 +1,119 @@ + +import traceback +import math +from aiohttp import web +import config +from pyrogram.file_id import FileId +from aiohttp.http_exceptions import BadStatusLine + + +from YukkiMusic import app, userbot +from YukkiMusic.core.bot import YukkiBot +from YukkiMusic.core.userbot import multi_clients, req_client +from YukkiMusic.platforms.custom_dl import ByteStreamer + + + + +class InvalidHash(Exception): + message = "Invalid hash" + +class FIleNotFound(Exception): + message = "File not found" + + + +class_cache={} +async def media_streamer(request: web.Request, db_id: str): + range_header = request.headers.get("Range", 0) + + #index = min(work_loads, key=work_loads.get) + #faster_client = multi_clients[index] + client=app + #client = await req_client() + #get_me = await app.get_me() + #print(db_id,int(config.LOG_GROUP_ID),get_me) + msg = await client.get_messages(int(config.LOG_GROUP_ID),int(db_id)) + + #print(msg) + #tg_connect = ByteStreamer(client['client']) + tg_connect = ByteStreamer(client) + #class_cache[client['client']] = tg_connect + #logging.debug("before calling get_file_properties") + file_info = get_file_info(msg) + #file_i = file_info['file']['file_id'] + file_id = FileId.decode(file_info['file']['file_id']) + #print(file_id) + #logging.debug("after calling get_file_properties") + + file_size = file_info['file']['file_size'] + + if range_header: + from_bytes, until_bytes = range_header.replace("bytes=", "").split("-") + from_bytes = int(from_bytes) + until_bytes = int(until_bytes) if until_bytes else file_size - 1 + else: + from_bytes = request.http_range.start or 0 + until_bytes = (request.http_range.stop or file_size) - 1 + + if (until_bytes > file_size) or (from_bytes < 0) or (until_bytes + < from_bytes): + return web.Response( + status=416, + body="416: Range not satisfiable", + headers={"Content-Range": f"bytes */{file_size}"}, + ) + + chunk_size = 512 * 1024 + until_bytes = min(until_bytes, file_size - 1) + + offset = from_bytes - (from_bytes % chunk_size) + first_part_cut = from_bytes - offset + last_part_cut = until_bytes % chunk_size + 1 + + req_length = until_bytes - from_bytes + 1 + part_count = math.ceil(until_bytes / chunk_size) - math.floor( + offset / chunk_size) + body = tg_connect.yield_file(file_id, client, offset, first_part_cut, + last_part_cut, part_count, chunk_size) + + mime_type = file_info['file']['mime_type'] + file_name = get_name(msg) + disposition = "attachment" + + # if "video/" in mime_type or "audio/" in mime_type: + # disposition = "inline" + + return web.Response( + status=206 if range_header else 200, + body=body, + headers={ + "Content-Type": f"{mime_type}", + "Content-Range": f"bytes {from_bytes}-{until_bytes}/{file_size}", + "Content-Length": str(req_length), + "Content-Disposition": f'{disposition}; filename="{file_name}"', + "Accept-Ranges": "bytes", + }, + ) + + +async def stream_handler(request: web.Request): + try: + path = request.match_info["path"] + return await media_streamer(request, path) + except InvalidHash as e: + raise web.HTTPForbidden(text=e.message) + except FIleNotFound as e: + raise web.HTTPNotFound(text=e.message) + except (AttributeError, BadStatusLine, ConnectionResetError): + pass + except Exception as e: + traceback.print_exc() + #logging.critical(e.with_traceback(None)) + #logging.debug(traceback.format_exc()) + raise web.HTTPInternalServerError(text=str(e)) + + +TGFILEAPI = web.Application() + +TGFILEAPI.router.add_get('/{path}', stream_handler) diff --git a/YukkiMusic/server/routes_appV2.py b/YukkiMusic/server/routes_appV2.py new file mode 100644 index 0000000000000000000000000000000000000000..c958755a907101393f44e6a1b5098f75467fd7f6 --- /dev/null +++ b/YukkiMusic/server/routes_appV2.py @@ -0,0 +1,195 @@ + +import json +import jinja2 +import argparse +import urllib.parse +import aiohttp_jinja2 +from typing import Any, Dict +from aiohttp import web, ClientSession +from aiohttp.http_exceptions import BadStatusLine +from googleapiclient.discovery import build +from googleapiclient.errors import HttpError + +from YukkiMusic.platforms.YoutubeAPI.InnertubeAPI import trending_with_post_api +from YukkiMusic.platforms.YoutubeAPI.BS4scrapAPI import tranding_videos,search_videos +from YukkiMusic.platforms.YoutubeAPI.InnertubeAPI import search_videos_with_post_api,search_scroll_videos_with_post_api + +session = ClientSession() +#from YukkiMusic.alive import web_server + +parser = argparse.ArgumentParser() +parser.add_argument('--q', help='Search term', default='Google') +parser.add_argument('--max-results', help='Max results', default=25) +args = parser.parse_args() + +# Set DEVELOPER_KEY to the API key value from the APIs & auth > Registered apps +# tab of +# https://cloud.google.com/console +# Please ensure that you have enabled the YouTube Data API for your project. +def url_find(route_name, *args, **kwargs): + # Check if route belongs to sub-application + if route_name.startswith('subapp_'): + route_name = route_name[len('subapp_'):] + return str(sub_app.router[route_name]) + # Otherwise, it belongs to the main application + return str('/') + +async def handle_v2(request): + return web.Response(text="Hello from app v2!") + +async def nextPage(request): + query = request.query.get('q', '').lower() + DEVELOPER_KEY = 'AIzaSyAJB2yzah87l58QCNUFrYOrzu_5I7RFQZY' + YOUTUBE_API_SERVICE_NAME = 'youtube' + YOUTUBE_API_VERSION = 'v3' + + + youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, + developerKey=DEVELOPER_KEY) + + # Call the search.list method to retrieve results matching the specified + # query term. + if request.query.get('pageToken', ''): + search_response = youtube.search().list( + q=query, + part='id,snippet', + pageToken=request.query.get('pageToken', ''), + maxResults=args.max_results + ).execute() + else: + search_response = youtube.search().list( + q=query, + part='id,snippet', + maxResults=args.max_results + ).execute() + + #search_response="" + videos = [] + channels = [] + playlists = [] + + # Add each result to the appropriate list, and then display the lists of + # matching videos, channels, and playlists. + #search_result['snippet']['title'], + #search_result['id']['videoId'] + for search_result in search_response.get('items', []): + if search_result['id']['kind'] == 'youtube#video': + videos.append(search_result) + elif search_result['id']['kind'] == 'youtube#channel': + channels.append('%s (%s)' % (search_result['snippet']['title'], + search_result['id']['channelId'])) + elif search_result['id']['kind'] == 'youtube#playlist': + playlists.append('%s (%s)' % (search_result['snippet']['title'], + search_result['id']['playlistId'])) + #print(videos) + data=str({'page':'search','data':videos,'nextPageToken':search_response.get('nextPageToken','')}) + + + return web.Response(text=data) + +async def searchquery(request): + query = request.query.get('q', '').lower() + async with session.get(f'https://cors-handlers.vercel.app/api/?url=http%3A%2F%2Fsuggestqueries.google.com%2Fcomplete%2Fsearch%3Fclient%3Dfirefox%26ds%3Dyt%26q={query}') as resp: + data=await resp.text() + #print(data) + return web.Response(text=data) + + +async def testAPI(request): + #query = request.query.get('q', '').lower() + + resp = await trending_with_post_api("Now") + print(resp) + return resp + + +#@sub_app.get("/up", allow_head=True) +@aiohttp_jinja2.template("index.html") +async def Index_page(request: web.Request) -> Dict[str, Any]: + + return {'page':'main'} + +@aiohttp_jinja2.template("index.html") +async def Home_Component(request: web.Request): + + query = "now" if request.query.get('q', '') == "" else request.query.get('q', '') + + videos = await trending_with_post_api(query) + # html_content = f""" + #
+ #

Home Page{str("hello")}

+ #

Content for the Home page goes here.

+ #
+ # """ + # return web.Response(text=html_content, content_type='text/html') + return{'page':'home','data':videos} + +@aiohttp_jinja2.template("index.html") +async def Subscribe_Component(request: web.Request) : + return {'page':'subscribed'} + + + +@aiohttp_jinja2.template("index.html") +async def Search_Component(request: web.Request): + query = request.query.get('q', '') + + #videos = await search_videos(query) + videos, nextPageToken = await search_videos_with_post_api(query) + if request.query.get('type', '')=='json': + + return web.json_response({"page":"search","data": videos,'nextPageToken':nextPageToken}) + else: + return{'page':'search','data':videos,'nextPageToken':nextPageToken} + + + +@aiohttp_jinja2.template("index.html") +async def Scroll_Component(request: web.Request): + query = request.query.get('q', '') + + #videos = await search_videos(query) + videos, nextPageToken = await search_scroll_videos_with_post_api(query) + if request.query.get('type', '')=='json': + + return web.json_response({"page":"search","data": videos,"nextPageToken":nextPageToken}) + else: + return{'page':'search','data':videos,'nextPageToken':nextPageToken} + + +@aiohttp_jinja2.template("index.html") +async def Playlist_Component(request: web.Request) : + pass + + +@aiohttp_jinja2.template("index.html") +async def Function_Component(request: web.Request) : + return {'page':'functions'} + + + +sub_appV2 = web.Application() +aiohttp_jinja2.setup(sub_appV2,loader=jinja2.FileSystemLoader('YukkiMusic/server/templates/HomeV2/pages/')) +#env=aiohttp_jinja2.get_env(sub_app) +#env.globals.update(url_find=url_find) +#sub_app['static_root_url']='../static/' +sub_appV2.router.add_static('/static/', path='YukkiMusic/server/templates/HomeV2/static/', name='static') +sub_appV2.router.add_get('/', handle_v2) +sub_appV2.router.add_get('/main', Index_page,name='main') +sub_appV2.router.add_get('/home', Home_Component, name='home') +sub_appV2.router.add_get('/subscribed', Subscribe_Component, name='subscribed') +sub_appV2.router.add_get('/searchquery',searchquery,name='searchquery') +sub_appV2.router.add_get('/search', Search_Component, name='search') +sub_appV2.router.add_get('/playlist', Playlist_Component) +sub_appV2.router.add_get('/functions', Function_Component, name='functions') +sub_appV2.router.add_get('/nextPage', nextPage, name='nextPage') +sub_appV2.router.add_get('/scroll', Scroll_Component, name='scroll') +sub_appV2.router.add_get('/test', testAPI) + + +''' +sub_app.add_routes([ + web.get('/main', Index_page,name='main'), + web.get('/home', Home_Component, name='home'), + web.get('/subscribed', Subscribe_Component, name='subscribed'), + web.get('/functions', Function_Component, name='functions')])''' diff --git a/YukkiMusic/server/templates/HomeV2/pages/demo.html b/YukkiMusic/server/templates/HomeV2/pages/demo.html new file mode 100644 index 0000000000000000000000000000000000000000..ad265bc754a7ebba91853e641b4ec723df791021 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/demo.html @@ -0,0 +1,8 @@ +
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/functions.html b/YukkiMusic/server/templates/HomeV2/pages/functions.html new file mode 100644 index 0000000000000000000000000000000000000000..d93ed89900fb6e0e31771186969d71f06795ddf4 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/functions.html @@ -0,0 +1,8 @@ +
+
+ +

Function Page

+

Content for the Home page goes here.{{page}}

+ +
+
\ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/header.html b/YukkiMusic/server/templates/HomeV2/pages/header.html new file mode 100644 index 0000000000000000000000000000000000000000..d25c3cdbea535dc3b9b0bc47d411f60f2771a8e7 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/header.html @@ -0,0 +1,399 @@ + + + + + + + Date and Time Selector + + + + + + + + + + + + + + +
+ + + +
+ +
+ + {% block content %} + + + + + {% endblock %} + +
+ + + + \ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/home.html b/YukkiMusic/server/templates/HomeV2/pages/home.html new file mode 100644 index 0000000000000000000000000000000000000000..135b3ca307f5fae0fc92bd4b1afc1321638433fa --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/home.html @@ -0,0 +1,27 @@ +
+ +

Youtube

+
+ Trending + Movies + Music + Gaming +
+
+ {% include 'skeleton.html' %} + {%for video in data %} +
+
+ thumbnail + {{video.length}} +
+
+ {{video.title}} +
+ {{video.channel}} ⠂ {{video.short_views}} ⠂ {{video.publishedTime}} +
+
+
+ {% endfor %} +
+
\ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/index.html b/YukkiMusic/server/templates/HomeV2/pages/index.html new file mode 100644 index 0000000000000000000000000000000000000000..d40bccd2f197f212b588fb3e839a80a69aa8b345 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/index.html @@ -0,0 +1,62 @@ +{% include 'header.html' %} + +{% block content %} + {% if page == 'home' %} + {% include 'home.html' %} + {% elif page == 'subscribed' %} + {% include 'subscribed.html' %} + {% elif page == 'functions' %} + {% include 'functions.html' %} + {% elif page == 'search' %} + {% include 'search.html' %} + {% elif page == 'main' %} + {% include 'main.html' %} + {% endif %} +{% endblock %} + + + + + + diff --git a/YukkiMusic/server/templates/HomeV2/pages/main.html b/YukkiMusic/server/templates/HomeV2/pages/main.html new file mode 100644 index 0000000000000000000000000000000000000000..9056e66ee003816b61eebfc61f7f2b45932b226d --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/main.html @@ -0,0 +1,33 @@ + +
Touch Me!
+ + + + \ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/search.html b/YukkiMusic/server/templates/HomeV2/pages/search.html new file mode 100644 index 0000000000000000000000000000000000000000..fa8b61cbc297604639f0341ce3a4da3041f2b8c4 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/search.html @@ -0,0 +1,25 @@ +
+ +
\ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/pages/skeleton.html b/YukkiMusic/server/templates/HomeV2/pages/skeleton.html new file mode 100644 index 0000000000000000000000000000000000000000..a28176c471002703723eaed94b9874998563f9b2 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/skeleton.html @@ -0,0 +1,40 @@ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/YukkiMusic/server/templates/HomeV2/pages/subscribed.html b/YukkiMusic/server/templates/HomeV2/pages/subscribed.html new file mode 100644 index 0000000000000000000000000000000000000000..0e47a177c6f0504b2c2e06f946920e8fb7a65a0b --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/pages/subscribed.html @@ -0,0 +1,8 @@ +
+
+ +

Subscribed Page

+

Content for the Home page goes here.{{page}}

+ +
+
\ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/static/css/style.css b/YukkiMusic/server/templates/HomeV2/static/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..a970f320bf12664ee53ed0e4862ca16409f1405a --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/static/css/style.css @@ -0,0 +1,937 @@ +:root { + --mycol: #ff003c; + --gcol: linear-gradient(to right, red, blue); +} + +span { + color: var(--mycol); +} + +* { + + box-sizing: border-box; + color: white; + font-family: 'Josefin Sans', sans-serif; + scroll-behavior: smooth; + text-transform: capitalize; +} + +*::-webkit-scrollbar { + display: none; +} + + +html , body { + height: 100%; + width: 100%; + margin:0px; + padding:0px; + /* background-image: url(back_image); */ + background-color: #141313; + align-items: center; + text-align: center; + font-family: Arial, sans-serif; + +} + +.avatar { + border-radius: 50%; + width: 3vh; + height: 3vh; + margin: 0; /* Remove or adjust margins */ + padding: 0; /* Remove or adjust padding */ +} +.page_header{ + background: #141313; + width: 100%; + height:auto; + margin: 0; /* Remove or adjust margins */ + padding: 0; /* Remove or adjust padding */ + margin-top: 10px; + margin-bottom: 10px; + z-index: 25; +} +.yt-nav{ + justify-items: space-evenly; + width: 100%; + height: 40px; + position: sticky; + top: 100px; + flex-direction: row; + /* justify-content: flex-start; */ + color: white; + text-decoration: none; + padding-top: 12px; + /* font-size: 16px; */ + background: #141313; + z-index: 25; +} + +.yt-nav a { + background: white; + padding: 2px; + border-radius: 10px; + overlay: inherit; + color: black; + font-family: Arial, Helvetica, sans-serif; +} + +nav { + height: 100px; + width: 100%; + top :0; + display:flex; + position: fixed; + flex-direction: column; /* Change direction to vertical */ + justify-content: space-evenly; + z-index: 50; + background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.016)); + backdrop-filter: blur(5px); + font-weight: 700; + padding: 10px; +} +.search_section{ + width:80%; + height: 65px; + display:flex; + padding: 20px; + flex-direction: row; /* Change direction to vertical */ + align-items: center; + text-align: center; +} +.nav-links { + padding :2px; + justify-content: space-evenly; + +} +.nav-links a { + display:inline; + flex-direction: row; /* Change direction to vertical */ + justify-content: flex-start; + color: white; + text-decoration: none; + position: relative; + margin-top: 10px; + margin-left: 20px; + font-size: 16px; +} + + +.nleft { + left: 5%; + position: absolute; +} + +.nryt { + gap: 20px; + right: 5%; + position: absolute; + display: flex; + align-items: center; +} + +a { + text-decoration: none; +} + +.nryt a { + margin: 0 3px; + text-decoration: none; + position: relative; + cursor: pointer; +} + +.nryt a::after { + content: ""; + position: absolute; + height: 3px; + width: 0%; + background-color: var(--mycol); + bottom: -5px; + left: 0%; + border-radius: 30px; + transition: all 0.4s ease; +} + +.nryt a.active::after { + width: 90%; +} + +.outer { + width: 100vw; + padding-top: 80px; + overflow: hidden; +} + +.inner { + width: 200vw; + display: flex; +} + +.main { + margin-top: 140px; + display: flex; + flex-direction: column; + position: relative; + padding: 5px; + width: 100%; +} + +.file-name { + margin-top: 5px; + width: 98%; + display:none; + flex-direction: row; /* Change direction to vertical */ + justify-content: flex-start; + height: 120px; + padding: 10px; + border-radius: 5px; + background-image: linear-gradient(#1095c1,#1095c1); + background-size: 0 100%; + background-repeat: no-repeat; + border: #727171; + transition: .4s; + /*background: linear-gradient(to bottom, rgba(52, 52, 52, 0.732), rgba(153, 153, 153, 0.321));*/ +} +.file-name.selected{ + + background-size: 100% 100%; + /*background: linear-gradient(to bottom, rgba(219, 214, 214, 0.559), rgba(109, 108, 108, 0.663));*/ +} + +.file-name h4 { + color: var(--mycol); +} + +.hover-1 { + background-image: linear-gradient(#1095c1,#1095c1); + background-size: 0 100%; + background-repeat: no-repeat; + transition: .4s; + } + +.file-name.selected:hover { + background-size: 100% 100%; + } + +.downloadBtn { + padding: 30px 0; + display: flex; + align-items: center; + justify-content: center; + /* flex-direction: column; */ + flex-wrap: wrap; + gap: 20px; + +} + +.downloadBtn button { + opacity: 0; + border-radius: 6px; + background: linear-gradient(to bottom, rgba(247, 247, 247, 0.187), rgba(240, 240, 240, 0.105)); + height: 50px; + width: 300px; + display: flex; + align-items: center; + font-weight: 700; + gap: 10px; + padding-left: 50px; + border: none; + text-transform: uppercase; +} + +.downloadBtn img { + height: 20px; +} + +.abt { + overflow: hidden; +} + +.about { + width: 100vw; + background-size: cover; + backdrop-filter: blur(1px); + height: 100vh; + position: relative; + transition: all 0.4s ease; + overflow: hidden; +} + +.about::-webkit-scrollbar { + display: none; +} + +.about-nav { + width: 100%; + align-items: center; + justify-content: space-evenly; + backdrop-filter: blur(1px); + position: fixed; + left: 0%; + z-index: 1; + font-size: 14px; + top: 12%; + display: none; +} + +.about-nav a { + position: relative; + margin: 0 7px; +} + +.about-nav a::after { + content: ""; + position: absolute; + height: 2px; + width: 0%; + background-color: var(--mycol); + bottom: -5px; + left: 1px; + border-radius: 30px; + transition: all 0.4s ease; + +} + +.about-nav a.active::after { + width: 90%; +} + +.about-dets { + height: 100vh; + width: 400vw; + position: absolute; + display: flex; + align-items: center; + overflow: hidden; + transition: all 0.4s ease; +} + +.abt-sec { + height: 100%; + width: 100vw; + display: flex; + flex-direction: column; + align-items: center; + /* justify-content: center; */ + z-index: 1; + gap: 10%; + padding-top: 130px; + backdrop-filter: blur(5px); + overflow: hidden; + +} + +#sec4 { + gap: 22px; + padding-left: 20px; + padding-right: 20px; +} + +#sec4 h1 { + margin-bottom: 30px; +} + +.abt-sec h1 { + text-align: center; + transform: translateY(20px); + font-weight: 700; +} + +.abt-sec p { + text-align: center; + font-weight: 700; + text-transform: capitalize; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; +} + + + +.links { + display: flex; + flex-direction: column; + align-items: center; + gap: 10px; +} + +.links button { + width: 350px; + height: 50px; + border-radius: 6px; + border: none; + background: linear-gradient(to top, rgba(46, 46, 46, 0.365), rgba(46, 46, 46, 0.443)); + font-size: 15px; + font-weight: 550; + transition: all 0.4s ease; + /* opacity: 0; */ +} + +.links a { + opacity: 0; +} + +button { + transition: all 1s ease; + /* opacity: 0; */ + /* animation: linksBtnAn 2s ease 0.3s infinite, strtLoad 4s ease 0.5s forwards; */ + position: relative; + overflow: hidden; +} + +.links button::before, +.downloadBtn button::before { + opacity: 0; + left: -10px; + top: -20px; + content: ""; + width: 20%; + height: 200%; + position: absolute; + background-color: #ffffff18; + box-shadow: 2px 2px 30px 30px #ffffff18; + rotate: 20deg; + animation: var(--beforestyl); + filter: contrast(100); +} + +.links button:hover { + scale: 1.05; +} + +button:active { + scale: 0.7; +} + +.box { + margin-bottom: 60px; +} + +.box h3 { + margin-bottom: 15px; + position: relative; +} + +.box a { + margin-top: 15px; +} + +.box p { + margin-top: 5px; +} + +.box h3::after { + content: ""; + position: absolute; + height: 1.5px; + width: 90%; + background-color: var(--mycol); + bottom: -3px; + left: 0%; + border-radius: 30px; + transition: all 0.4s ease; +} + +/* middle part */ +.mid { + font-size: 40px; + font-weight: 600; + text-align: center; + padding: 10%; +} + +.last-text { + text-align: center; + padding: 10%; +} + +.movie-cont { + height: fit-content; + width: 100vw; + display: flex; + flex-direction: column; + align-items: center; + gap: 30px; +} + +.movieSug { + height: 500px; + width: 95vw; + border-radius: 2%; + position: relative; + display: flex; + align-items: center; + justify-content: space-around; + background-size: cover; + background-position: center; + overflow: hidden; + +} + +.movieSug::before { + content: ''; + height: 110%; + width: 110%; + position: absolute; + background: linear-gradient(to right, black 20%, rgba(0, 0, 0, 0.322) 75%, rgba(0, 0, 0, 0)); + top: 0%; + left: -10px; +} + +.movieDets { + padding: 5%; + height: 100%; + width: 45vw; + display: flex; + flex-direction: column; + text-align: start; + justify-content: center; + gap: 10px; + z-index: 1; +} + +.movieDets h3:first-child { + font-size: 32px; + font-weight: 600; +} +.image-container { + width: 40%; + position: relative; + display: inline-block; + padding: 2px; +} +.movieimg { + width: 100%; + height: 100%; + display: flex; + justify-content: left; + object-fit:"cover"; + align-items: left; + padding-right: 2px; + gap: 10px; + border-radius: 5%; +} +.file-dtl{ + width: 60%; + display:flex; + flex-direction: column; /* Change direction to vertical */ + justify-content: space-between; + text-align: left; + padding-left : 8px; + gap: 5px; + +} +.bottom-right { + position: absolute; + bottom: 5px; + right: 5px; + background: rgba(0, 0, 0, 0.5); + color: white; + padding: 5px; + border-radius: 3px; +} +.movieimg img { + max-height: 400px; + box-shadow: 2px 2px 100px 70px rgba(0, 0, 0, 0.566); + border-radius: 10px; +} + +.movieDets span { + font-weight: 700; + font-size: 20px; +} + +.movieDets h4:nth-child(2) { + margin-top: 20px; + font-size: 23px; + font-weight: 700; +} + +.movieDets h4:nth-child(3) { + + font-size: 15px; + font-weight: 700; +} + +.movieStsBar { + display: none; +} + +.ranMovBtn { + border-radius: 6px; + background: linear-gradient(to bottom, rgba(247, 247, 247, 0.187), rgba(240, 240, 240, 0.105)); + height: 50px; + width: 300px; + display: flex; + align-items: center; + font-weight: 700; + gap: 10px; + padding-left: 50px; + border: none; +} + +.copyright { + margin: 30px; + gap: 10px; + display: flex; + flex-direction: column; + align-items: center; + +} + +.copyright h5 { + font-size: 13px; +} + +.searchbox{ + padding: 5px; + min-width: 90%; + color: #333; + height: 40px; + border-radius: 10px; + margin: 20px 20px; +} +.suggestions { + width:98%; + top: 68px; + padding: 5px; + position: absolute; + color: rgb(224, 220, 220); + max-height: 200px; + text-align: left; + align-items: left; + overflow-y: auto; + background: rgb(51, 50, 50); + border-radius: 0 0 10px 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + z-index: 50; /* Ensure suggestions are above other content */ + display:none; +} + +.suggestions ul { + list-style: none; + padding: 0; + margin: 0; + text-decoration: none; + +} + +.suggestions li { + list-style: none; + color: rgb(224, 220, 220); + padding: 10px; + cursor: pointer; + text-decoration: none; + text-align: left; +} + +.suggestions li:hover { + background: #727171; +} +.autocomplete-suggestions { + border: 1px solid #ddd; + max-height: 150px; + overflow-y: auto; +} +.autocomplete-suggestion { + padding: 10px; + cursor: pointer; +} +.autocomplete-suggestion:hover { + background-color: #f0f0f0; +} + +.video-title{ + font-weight: 500; + color:white; + width: 95%; + height: 65%; + overflow: hidden; + text-overflow: ellipsis; + padding:1px; + align-items: center; + text-align: center; +} +.video-channel{ + color:rgba(227, 227, 230, 0.768); + font-Size:12px; + align-items: center; + text-align: center; +} +.channel-dtl{ + display:flex; + flex-direction: row; /* Change direction to vertical */ + justify-content: flex-start; + gap: 10px ; + width: 95%; + height: 35%; + padding: 1px; + overflow: hidden; + text-overflow: ellipsis; +} + +.demo-video-card { + margin-top: 5px; + display:flex; + flex-direction: row; /* Change direction to vertical */ + justify-content: flex-start; + height: 160px; + width: 98%; + padding: 10px; + border-radius: 5px; + border: 1px solid #ddd; + border-radius: 8px; + overflow: hidden; + background: linear-gradient(to bottom, rgba(52, 52, 52, 0.301), rgba(153, 153, 153, 0.075)); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + opacity: 1; +} +.fade-out { + + animation: fade 1.5s ease-in-out; +} + +.demo-video-thumbnail { + width: 60%; + height: 100%; + background: #e0e0e0; +} + +.demo-video-details { + padding: 16px; + width: 40%; +} + +.demo-video-title, .demo-video-info { + height: 16px; + background: #e0e0e0; + margin-bottom: 8px; +} + +.demo-video-title { + width: 100%; +} + +.demo-video-info { + width: 80%; +} +.demo-avatar { + border-radius: 50%; + width: 50px; + height: 50px; + background: #e0e0e0; +} +.demo-loading-div{ + display: none; +} +/* Animation for loading placeholder */ +.loading { + opacity: .7; + animation: skeleton-loading 1s linear infinite alternate; +} + + + + +@keyframes skeleton-loading { + 0% { + background-color: hsl(200, 20%, 70%); + } + + 100% { + background-color: hsl(200, 20%, 95%); + } + } + + + +@keyframes fade { + 0% { + opacity: 1; + } + 50% { + opacity: 0.5; + } + 100% { + opacity: 0; + } +} +@keyframes pulse { + 0% { + background-color: #e0e0e0; + } + 50% { + background-color: #e4e1e1; + } + 100% { + background-color: #c9c6c6; + } +} + + +@keyframes linksBtnAn { + + from { + scale: 1; + } + + 50% { + scale: 1.02; + } + + to { + scale: 1; + } +} + +@keyframes strtLoad { + from { + opacity: 0; + transform: translateX(-200px); + } + + to { + opacity: 1; + transform: translateX(0px); + } + +} + +@keyframes button_shine { + from { + opacity: .9; + left: -100px; + } + + to { + opacity: 1; + left: 400px; + } +} + + +/* +@media (min-width : 550px) { + body{ + align-items: center; + text-align: center; + + } + .main{ + margin-inline: auto; + width:500px; + + } + .demo-video-card{ + width: inherit; + } + .nav{ + margin-inline: auto; + width:500px; + align-items: center; + text-align: center; + } + .search_section{ + width: 500px; + } + .suggestions{ + width: 500px; + } + + +} + + + + + + + +@media (max-width : 1029px) { + + .movieDets h3:first-child { + font-size: 25px; + } +} + +@media (max-width : 992px) { + .movieSug { + scale: 0.9; + } + + .movie-cont { + scale: 0.9; + } + +} + +@media (max-width : 800px) { + .movie-cont { + scale: 0.9; + } + + .movieSug { + height: 400px; + } + + .movieimg img { + max-height: 300px; + + } + + .movieDets { + scale: 0.8; + } + +} + +@media (max-width : 637px) { + .movieSug { + background-position: right; + padding: 5%; + scale: 1; + width: 90vw; + } + + .movie-cont { + width: 90vw; + padding: 5%; + scale: 1; + } + + .movieDets { + display: none; + } + + .movieStsBar { + display: block; + border-radius: 6%; + } + + .movieDets-mini { + position: absolute; + display: flex; + flex-direction: column; + text-align: start; + width: 80%; + left: 50px; + transform: translate(-35px, -120px); + + } + + .movieSug::before { + content: ''; + height: 100%; + width: 100%; + position: absolute; + background: linear-gradient(to top, black 20%, rgba(0, 0, 0, 0.322) 75%, rgba(0, 0, 0, 0)); + top: 10%; + left: 0px; + } + + .movieimg img { + transform: translate(75px, -40px); + + } +} + */ + \ No newline at end of file diff --git a/YukkiMusic/server/templates/HomeV2/static/js/main.js b/YukkiMusic/server/templates/HomeV2/static/js/main.js new file mode 100644 index 0000000000000000000000000000000000000000..e6035d909a48ed40a2cca1c11422a9cc0591f9a4 --- /dev/null +++ b/YukkiMusic/server/templates/HomeV2/static/js/main.js @@ -0,0 +1,158 @@ +var suggestions = document.querySelector('.suggestions'); +var resultsContainer = document.getElementById('search'); +var selected_id=''; +var searchSuggest = "{{ url('searchquery') }}"; +var search_page="{{ url('search')}}"; +var nextPage_url="{{url('nextPage')}}" +var url = new URL(window.location.href); +let queryItem =''; +let nextPageToken = '{{nextPageToken}}'; +let isFetching = false; +const params = new URLSearchParams(url.search); +if(params.get('q')){ + queryItem = params.get('q'); +}else{ + queryItem=''; +} +if (params.get('pageToken')){ + nextPageToken=params.get('pageToken'); +} + + // Function to fetch more results +async function fetchMoreResults() { + if (isFetching) return; + isFetching = true; + + // Replace with the actual search query or parameter + const response = await fetch(`${search_page}?q=${queryItem}}&pageToken=${nextPageToken}&type=json`); + + const data = await response.json(); + + //console.log(data.data); + + // Process and append results + + if (data.data) { + resultsContainer = document.getElementById('search'); + let list = JSON.parse(JSON.stringify(data.data)); + list.forEach(item => { + //console.log(item); + const videoDiv = document.createElement('div'); + videoDiv.classList.add("video-list","file-name"); + videoDiv.id=item.id.videoId; + videoDiv.innerHTML = ` + thumbnail +
+ ${item.snippet.title} + SV + ${item.snippet.channelTitle} +
+ `; + resultsContainer.appendChild(videoDiv); + main(); + }); + nextPageToken = data.nextPageToken || ''; + } + + isFetching = false; +} + +// Infinite scroll listener +window.addEventListener('scroll', () => { + if (window.innerHeight + window.scrollY >= document.body.offsetHeight - 500) { + fetchMoreResults(); + } +}); + +document.getElementById('searchBox').addEventListener('input', function() { + let query = this.value; + + //console.log(url); + if (query.length > 0) { + suggestions.style.display = 'block'; + fetch(`${searchSuggest}?q=${query}`) + .then(response => response.json()) + .then(data => { + //const resultsDiv = document.getElementById('autocompleteResults'); + suggestions.innerHTML = ''; + data[1].forEach(item => { + const div = document.createElement('li'); + //div.classList.add('autocomplete-suggestion'); + div.textContent = item; + div.addEventListener('click', () => { + document.getElementById('searchBox').value = item; + suggestions.innerHTML = ''; + queryItem=item; + window.location.href = `${search_page}?q=${item}`; + }); + suggestions.appendChild(div); + }); + }); + } + else if(query===''){ + suggestions.innerHTML=''; + suggestions.style.display = 'none'; + + + } + else { + document.getElementById('suggestions').innerHTML = ''; + suggestions.style.display = 'none'; + } + }); + + +//document.addEventListener('DOMContentLoaded', () => { + + + + function activateMainButton(){ + if (selected_id==''){ + window.Telegram.WebApp.MainButton.setText('Please Select to Play'); + } + else{ + window.Telegram.WebApp.MainButton.setText('Play Now'); + window.Telegram.WebApp.MainButton.enable(); + } + window.Telegram.WebApp.MainButton.show(); + } + function onMainButtonClick() { + + const data = JSON.stringify(selected_id); + window.Telegram.WebApp.sendData(data); + + + } +function main(){ + const selectableDivs = document.querySelectorAll('.file-name'); + window.Telegram.WebApp.ready(); + activateMainButton(); + selectableDivs.forEach(div => { + div.removeEventListener('click',()=>{console.log('')}) + div.addEventListener('click', () => { + // Remove the 'selected' class from all divs + selectableDivs.forEach(d => d.classList.remove('selected')); + + // Add 'selected' class to the clicked div + div.classList.add('selected'); + activateMainButton(); + window.Telegram.WebApp.expand(); + selected_id=div.id; + // Get and print the ID of the selected div + console.log('Selected div ID:', div.id); + }); + }); + + window.Telegram.WebApp.onEvent('mainButtonClicked', onMainButtonClick); +} +document.addEventListener('click', (event) => { + if (!event.target.closest('.search_section')) { + suggestions.style.display = 'none'; + } +}); +main(); +//}); + + + + diff --git a/YukkiMusic/server/templates/bundle.js b/YukkiMusic/server/templates/bundle.js new file mode 100644 index 0000000000000000000000000000000000000000..92ccd891aaefd0d8dc17a8a9b60dd58f93d50ebe --- /dev/null +++ b/YukkiMusic/server/templates/bundle.js @@ -0,0 +1,87 @@ + +/** + * Show user confirmation dialog upon main button click + */ +function onMainButtonClick() { + // const selectedDates = AirDatepickerGlobal.selectedDates; + // // Iterate throught the selected dates and format them + // let msgToShow = `You selected ${selectedDates.length} dates:`; + // selectedDates.map((date) => { + // const day = date.getDate(); + // const month = date.getMonth() + 1; + // const year = date.getFullYear(); + // // get time from date and convert it to HH:MM + // const time = date.toTimeString().match(/([0-9]{2}:[0-9]{2})/)[1]; + // // get timezone offset as HH:MM + // const offset = date.toString().match(/([-\+][0-9]+)\s/)[1]; + // // Add these variables to msgToShow + // msgToShow += `\n${day}/${month}/${year} ${time} (UTC${offset})`; + // }); + const selectedDates = new Date().toString(); + window.Telegram.WebApp.showConfirm("Youselect"+selectedDates, (confirmed) => { + if (confirmed === true) { + // HapticFeedback seems to be broken on linux tdesktop at least, it doesn't run the code + // after it. So we will just send the data and not run the hapticfeedback + console.log("before hapticfeedback") + // window.Telegram.WebApp.HapticFeedback.notificationOccured('success'); + console.log("after hapticfeedback") + const data = JSON.stringify(selectedDates); + window.Telegram.WebApp.sendData(data); + } else { + window.Telegram.WebApp.HapticFeedback.impactOccurred('light'); + } + }); + } + + + // function setMainButtonColor(disable=false) { + // // Add transparency to the button color + // const tgcolor = window.Telegram.WebApp.MainButton.color; + // // convert color from hex to rgb + // const colorRgb = parseInt(tgcolor.replace('#', ''), 16); + // const color = { + // r: (colorRgb >> 16) & 255, + // g: (colorRgb >> 8) & 255, + // b: colorRgb & 255, + // }; + + // let opacity; + // if (disable == true) { + // opacity = 0.5; + // } else { + // opacity = 1; + // } + // const rgba = `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity})`; + // // Telegram currently discards the alpha channel when they convert to hex + // // code internally + // // so we will manually set the attribute on the button -> doesn't work :( + // // window.Telegram.WebApp.MainButton.setParams({'color': hex}); + // // window.Telegram.WebApp.MainButton.buttonColor = rgba; + // } + + /** + * Main function. Gets the query params, makes the airdatepicker instance, + * and expands the webapp if necessary. + + */ + function main() { + window.Telegram.WebApp.ready(); + window.Telegram.WebApp.MainButton.show(); + //window.Telegram.WebApp.MainButton.enable(); + //const params = getQueryParams(); + + //params.then((options) => { + // makeAirDatepicker(options); + + // Expand the webapp is `timepicker` param and/or `buttons` is passed + //if ('timepicker' in options || 'buttons' in options) { + //window.Telegram.WebApp.expand(); + //} + + //activateMainButton(AirDatepickerGlobal.selectedDates, options); + //}); + window.Telegram.WebApp.onEvent('mainButtonClicked', onMainButtonClick); + } + + main(); + \ No newline at end of file diff --git a/YukkiMusic/server/templates/favicon1.ico b/YukkiMusic/server/templates/favicon1.ico new file mode 100644 index 0000000000000000000000000000000000000000..4ca16b6a1cbdeb1d4d37f176786b35d6b5e355b6 Binary files /dev/null and b/YukkiMusic/server/templates/favicon1.ico differ diff --git a/YukkiMusic/server/templates/hero.png b/YukkiMusic/server/templates/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..1664396c678c44868e309d8225e103c98f2d4d68 Binary files /dev/null and b/YukkiMusic/server/templates/hero.png differ diff --git a/YukkiMusic/server/templates/style.css b/YukkiMusic/server/templates/style.css new file mode 100644 index 0000000000000000000000000000000000000000..9e4f071ad2780ff0364255c4a196a2fa3a4a8f36 --- /dev/null +++ b/YukkiMusic/server/templates/style.css @@ -0,0 +1,106 @@ +@import url('https://fonts.googleapis.com/css?family=Open+Sans'); + +* { + user-select: none; /* disable text selection */ + -webkit-tap-highlight-color: transparent; /* disable tap highlight */ + --range-height: calc(var(--adp-day-cell-height) / 4.1); + background-color: var(--tg-theme-bg-color, #f0f0f0); /* fix for white borders on desktop */ +} +body{ + background-color: #f0f0f0; +} +.air-datepicker { + border: none; /* remove border becuase they look better without it imo */ + width: unset; /* remove width so it takes full width of screen */ + background-color: var(--tg-theme-bg-color, #f0f0f0); + --adp-font-family: "Open Sans", sans-serif; + --adp-font-size: 16px; /* change font size so it looks better on mobile*/ + --adp-background-color-hover: var(--tg-theme-bg-color, #fff); + --adp-background-color-active: transparent; + --adp-cell-background-color-hover: var(--tg-theme-bg-color, #fff); + --adp-cell-background-color-selected-hover: var(--tg-theme-button-color, #45bced); + --adp-cell-background-color-selected: var(--tg-theme-button-color, #5cc4ef); + --adp-color: var(--tg-theme-text-color, #000); + --adp-color-secondary: var(--tg-theme-hint-color, #9c9c9c); + --adp-color-other-month: var(--tg-theme-hint-color, #dedede); + --adp-time-track-height: 1px; + --adp-time-track-color: var(--tg-theme-button-color, #dedede); + --adp-time-day-period-color: var(--tg-theme-text-color, #000); + --adp-btn-color: var(--tg-theme-button-color, #4eb5e6); + /* Modify cell heights such that they take the full height of the screen */ + --adp-day-cell-height: calc(var(--tg-viewport-height, 160px) / 6.9); + --adp-month-cell-height: calc(var(--tg-viewport-height, 180px) / 5.25); + --adp-year-cell-height: calc(var(--tg-viewport-height, 240px) / 3.94); + --adp-mobile-day-cell-height: calc(var(--tg-viewport-height, 160px) / 6.9); + --adp-mobile-month-cell-height: calc(var(--tg-viewport-height, 180px) / 5.25); + --adp-mobile-year-cell-height: calc(var(--tg-viewport-height, 240px) / 3.94); +} + +.air-datepicker-cell.-selected- { + clip-path: circle(30%); /* make selected date circle */ + color: var(--tg-theme-button-text-color, #fff); +} + +.air-datepicker-cell.-selected-.-current- { + color: var(--tg-theme-button-text-color, #fff); +} + +.air-datepicker.-inline- { + overflow-y: scroll; /* just in case */ +} + +.air-datepicker--time, .air-datepicker-nav { + border: unset; /* remove border becuase they look better without it imo */ +} + +.air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + border-radius: 50%; /* make time slider thumb circle */ + background-color: var(--tg-theme-button-color, #45bced); +} + +.air-datepicker-time--current { + font-size: 16px; +} + +.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes { + font-size: 27px; + font-family: "Open Sans", sans-serif; +} + +.air-datepicker-time--current-ampm { + font-size: 14px; +} + +.air-datepicker-nav--title { + font-weight: 600; +} + +.air-datepicker-nav--title i { /* change year color on default settings */ + color: var(--adp-color); +} + +/* customize how the range looks */ +/* TODO: Improve this so the from and to have a circle on them with +one color and the in range has a different color see +https://m3.material.io/components/date-pickers/specs#733bc6c3-be6f-4bf1-90d2-e152591ccb3f */ +/* Apply the clip path attribute only if we've selected a range, i.e. don't apply on first click */ +.air-datepicker-cell.-range-from-:has(+ .-in-range-, + .-range-to-) { + clip-path: inset(var(--range-height) 0 var(--range-height) 5px round 100% 0 0 100%) !important; + border: unset; + transition: all 0.2s ease-in-out; +} + +.air-datepicker-cell.-in-range- { + clip-path: inset(var(--range-height) 0 var(--range-height) 0px); + transition: all 0.2s ease-in-out; +} + +.air-datepicker-cell.-range-to-:not(.-range-from-) { /* the :not() fix is for the year view */ + border: unset; + clip-path: inset(var(--range-height) 5px var(--range-height) 0px round 0 100% 100% 0) !important; + transition: all 0.2s ease-in-out; +} + +.air-datepicker--buttons { + border-top: 0.5px solid var(--tg-theme-hint-color, #dedede); +} diff --git a/YukkiMusic/server/templates/youtube.html b/YukkiMusic/server/templates/youtube.html new file mode 100644 index 0000000000000000000000000000000000000000..d936d76197e9c6f971c971b88e958401814e4b7b --- /dev/null +++ b/YukkiMusic/server/templates/youtube.html @@ -0,0 +1,110 @@ + + + + + + Date and Time Selector + + + + + + + + + +
select date
+ + + + + \ No newline at end of file diff --git a/YukkiMusic/server/youtube.py b/YukkiMusic/server/youtube.py new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/YukkiMusic/server/youtube.py @@ -0,0 +1 @@ + diff --git a/YukkiMusic/utils/__init__.py b/YukkiMusic/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a844008f08ff636f7e227cbbfa4d245a0c26c47c --- /dev/null +++ b/YukkiMusic/utils/__init__.py @@ -0,0 +1,16 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from .channelplay import * +from .database import * +from .decorators import * +from .formatters import * +from .inline import * +from .pastebin import * +from .sys import * diff --git a/YukkiMusic/utils/channelplay.py b/YukkiMusic/utils/channelplay.py new file mode 100644 index 0000000000000000000000000000000000000000..2b30842d105f2b6f29064f5d13ed34251182b23f --- /dev/null +++ b/YukkiMusic/utils/channelplay.py @@ -0,0 +1,37 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from YukkiMusic import app +from YukkiMusic.utils.database import get_cmode + + +async def get_channeplayCB(_, command, CallbackQuery): + if command == "c": + chat_id = await get_cmode(CallbackQuery.message.chat.id) + if chat_id is None: + try: + return await CallbackQuery.answer( + _["setting_12"], show_alert=True + ) + except: + return + try: + chat = await app.get_chat(chat_id) + channel = chat.title + except: + try: + return await CallbackQuery.answer( + _["cplay_4"], show_alert=True + ) + except: + return + else: + chat_id = CallbackQuery.message.chat.id + channel = None + return chat_id, channel diff --git a/YukkiMusic/utils/database/__init__.py b/YukkiMusic/utils/database/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..f5261fb8cb3c6e8c95ccda150138bc9e1a9b1224 --- /dev/null +++ b/YukkiMusic/utils/database/__init__.py @@ -0,0 +1,12 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from .assistantdatabase import * +from .memorydatabase import * +from .mongodatabase import * diff --git a/YukkiMusic/utils/database/assistantdatabase.py b/YukkiMusic/utils/database/assistantdatabase.py new file mode 100644 index 0000000000000000000000000000000000000000..7194bb79aee15fe38dc574af5f70a1d0307c612f --- /dev/null +++ b/YukkiMusic/utils/database/assistantdatabase.py @@ -0,0 +1,116 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random + +from YukkiMusic import userbot +from YukkiMusic.core.mongo import mongodb + +db = mongodb.assistants + +assistantdict = {} + + +async def get_client(assistant: int): + if int(assistant) == 1: + return userbot.one + elif int(assistant) == 2: + return userbot.two + elif int(assistant) == 3: + return userbot.three + elif int(assistant) == 4: + return userbot.four + elif int(assistant) == 5: + return userbot.five + + +async def set_assistant(chat_id): + from YukkiMusic.core.userbot import assistants + + ran_assistant = random.choice(assistants) + assistantdict[chat_id] = ran_assistant + await db.update_one( + {"chat_id": chat_id}, + {"$set": {"assistant": ran_assistant}}, + upsert=True, + ) + userbot = await get_client(ran_assistant) + return userbot + + +async def get_assistant(chat_id: int) -> str: + from YukkiMusic.core.userbot import assistants + + assistant = assistantdict.get(chat_id) + if not assistant: + dbassistant = await db.find_one({"chat_id": chat_id}) + if not dbassistant: + userbot = await set_assistant(chat_id) + return userbot + else: + got_assis = dbassistant["assistant"] + if got_assis in assistants: + assistantdict[chat_id] = got_assis + userbot = await get_client(got_assis) + return userbot + else: + userbot = await set_assistant(chat_id) + return userbot + else: + if assistant in assistants: + userbot = await get_client(assistant) + return userbot + else: + userbot = await set_assistant(chat_id) + return userbot + + +async def set_calls_assistant(chat_id): + from YukkiMusic.core.userbot import assistants + + ran_assistant = random.choice(assistants) + assistantdict[chat_id] = ran_assistant + await db.update_one( + {"chat_id": chat_id}, + {"$set": {"assistant": ran_assistant}}, + upsert=True, + ) + return ran_assistant + + +async def group_assistant(self, chat_id: int) -> int: + from YukkiMusic.core.userbot import assistants + + assistant = assistantdict.get(chat_id) + if not assistant: + dbassistant = await db.find_one({"chat_id": chat_id}) + if not dbassistant: + assis = await set_calls_assistant(chat_id) + else: + assis = dbassistant["assistant"] + if assis in assistants: + assistantdict[chat_id] = assis + assis = assis + else: + assis = await set_calls_assistant(chat_id) + else: + if assistant in assistants: + assis = assistant + else: + assis = await set_calls_assistant(chat_id) + if int(assis) == 1: + return self.one + elif int(assis) == 2: + return self.two + elif int(assis) == 3: + return self.three + elif int(assis) == 4: + return self.four + elif int(assis) == 5: + return self.five diff --git a/YukkiMusic/utils/database/memorydatabase.py b/YukkiMusic/utils/database/memorydatabase.py new file mode 100644 index 0000000000000000000000000000000000000000..3326605a8183daa2dce72ae315eaa1f5e6bd24ad --- /dev/null +++ b/YukkiMusic/utils/database/memorydatabase.py @@ -0,0 +1,519 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +import config +from config import PRIVATE_BOT_MODE +from YukkiMusic.core.mongo import mongodb + +channeldb = mongodb.cplaymode +commanddb = mongodb.commands +cleandb = mongodb.cleanmode +playmodedb = mongodb.playmode +playtypedb = mongodb.playtypedb +langdb = mongodb.language +authdb = mongodb.adminauth +videodb = mongodb.yukkivideocalls +onoffdb = mongodb.onoffper +suggdb = mongodb.suggestion +autoenddb = mongodb.autoend + + +# Shifting to memory [ mongo sucks often] +loop = {} +playtype = {} +playmode = {} +channelconnect = {} +langm = {} +pause = {} +mute = {} +audio = {} +video = {} +active = [] +activevideo = [] +command = [] +cleanmode = [] +nonadmin = {} +vlimit = [] +maintenance = [] +suggestion = {} +autoend = {} + + +# Auto End Stream + + +async def is_autoend() -> bool: + chat_id = 123 + mode = autoend.get(chat_id) + if not mode: + user = await autoenddb.find_one({"chat_id": chat_id}) + if not user: + autoend[chat_id] = False + return False + autoend[chat_id] = True + return True + return mode + + +async def autoend_on(): + chat_id = 123 + autoend[chat_id] = True + user = await autoenddb.find_one({"chat_id": chat_id}) + if not user: + return await autoenddb.insert_one({"chat_id": chat_id}) + + +async def autoend_off(): + chat_id = 123 + autoend[chat_id] = False + user = await autoenddb.find_one({"chat_id": chat_id}) + if user: + return await autoenddb.delete_one({"chat_id": chat_id}) + + +# SUGGESTION + + +async def is_suggestion(chat_id: int) -> bool: + mode = suggestion.get(chat_id) + if not mode: + user = await suggdb.find_one({"chat_id": chat_id}) + if not user: + suggestion[chat_id] = True + return True + suggestion[chat_id] = False + return False + return mode + + +async def suggestion_on(chat_id: int): + suggestion[chat_id] = True + user = await suggdb.find_one({"chat_id": chat_id}) + if user: + return await suggdb.delete_one({"chat_id": chat_id}) + + +async def suggestion_off(chat_id: int): + suggestion[chat_id] = False + user = await suggdb.find_one({"chat_id": chat_id}) + if not user: + return await suggdb.insert_one({"chat_id": chat_id}) + + +# LOOP PLAY +async def get_loop(chat_id: int) -> int: + lop = loop.get(chat_id) + if not lop: + return 0 + return lop + + +async def set_loop(chat_id: int, mode: int): + loop[chat_id] = mode + + +# Channel Play IDS +async def get_cmode(chat_id: int) -> int: + mode = channelconnect.get(chat_id) + if not mode: + mode = await channeldb.find_one({"chat_id": chat_id}) + if not mode: + return None + channelconnect[chat_id] = mode["mode"] + return mode["mode"] + return mode + + +async def set_cmode(chat_id: int, mode: int): + channelconnect[chat_id] = mode + await channeldb.update_one( + {"chat_id": chat_id}, {"$set": {"mode": mode}}, upsert=True + ) + + +# PLAY TYPE WHETHER ADMINS ONLY OR EVERYONE +async def get_playtype(chat_id: int) -> str: + mode = playtype.get(chat_id) + if not mode: + mode = await playtypedb.find_one({"chat_id": chat_id}) + if not mode: + playtype[chat_id] = "Everyone" + return "Everyone" + playtype[chat_id] = mode["mode"] + return mode["mode"] + return mode + + +async def set_playtype(chat_id: int, mode: str): + playtype[chat_id] = mode + await playtypedb.update_one( + {"chat_id": chat_id}, {"$set": {"mode": mode}}, upsert=True + ) + + +# play mode whether inline or direct query +async def get_playmode(chat_id: int) -> str: + mode = playmode.get(chat_id) + if not mode: + mode = await playmodedb.find_one({"chat_id": chat_id}) + if not mode: + playmode[chat_id] = "Direct" + return "Direct" + playmode[chat_id] = mode["mode"] + return mode["mode"] + return mode + + +async def set_playmode(chat_id: int, mode: str): + playmode[chat_id] = mode + await playmodedb.update_one( + {"chat_id": chat_id}, {"$set": {"mode": mode}}, upsert=True + ) + + +# language +async def get_lang(chat_id: int) -> str: + mode = langm.get(chat_id) + if not mode: + lang = await langdb.find_one({"chat_id": chat_id}) + if not lang: + langm[chat_id] = "en" + return "en" + langm[chat_id] = lang["lang"] + return lang["lang"] + return mode + + +async def set_lang(chat_id: int, lang: str): + langm[chat_id] = lang + await langdb.update_one( + {"chat_id": chat_id}, {"$set": {"lang": lang}}, upsert=True + ) + + +# Muted +async def is_muted(chat_id: int) -> bool: + mode = mute.get(chat_id) + if not mode: + return False + return mode + + +async def mute_on(chat_id: int): + mute[chat_id] = True + + +async def mute_off(chat_id: int): + mute[chat_id] = False + + +# Pause-Skip +async def is_music_playing(chat_id: int) -> bool: + mode = pause.get(chat_id) + if not mode: + return False + return mode + + +async def music_on(chat_id: int): + pause[chat_id] = True + + +async def music_off(chat_id: int): + pause[chat_id] = False + + +# Active Voice Chats +async def get_active_chats() -> list: + return active + + +async def is_active_chat(chat_id: int) -> bool: + if chat_id not in active: + return False + else: + return True + + +async def add_active_chat(chat_id: int): + if chat_id not in active: + active.append(chat_id) + + +async def remove_active_chat(chat_id: int): + if chat_id in active: + active.remove(chat_id) + + +# Active Video Chats +async def get_active_video_chats() -> list: + return activevideo + + +async def is_active_video_chat(chat_id: int) -> bool: + if chat_id not in activevideo: + return False + else: + return True + + +async def add_active_video_chat(chat_id: int): + if chat_id not in activevideo: + activevideo.append(chat_id) + + +async def remove_active_video_chat(chat_id: int): + if chat_id in activevideo: + activevideo.remove(chat_id) + + +# Delete command mode +async def is_commanddelete_on(chat_id: int) -> bool: + if chat_id not in command: + return True + else: + return False + + +async def commanddelete_off(chat_id: int): + if chat_id not in command: + command.append(chat_id) + + +async def commanddelete_on(chat_id: int): + try: + command.remove(chat_id) + except: + pass + + +# Clean Mode +async def is_cleanmode_on(chat_id: int) -> bool: + if chat_id not in cleanmode: + return True + else: + return False + + +async def cleanmode_off(chat_id: int): + if chat_id not in cleanmode: + cleanmode.append(chat_id) + + +async def cleanmode_on(chat_id: int): + try: + cleanmode.remove(chat_id) + except: + pass + + +# Non Admin Chat +async def check_nonadmin_chat(chat_id: int) -> bool: + user = await authdb.find_one({"chat_id": chat_id}) + if not user: + return False + return True + + +async def is_nonadmin_chat(chat_id: int) -> bool: + mode = nonadmin.get(chat_id) + if not mode: + user = await authdb.find_one({"chat_id": chat_id}) + if not user: + nonadmin[chat_id] = False + return False + nonadmin[chat_id] = True + return True + return mode + + +async def add_nonadmin_chat(chat_id: int): + nonadmin[chat_id] = True + is_admin = await check_nonadmin_chat(chat_id) + if is_admin: + return + return await authdb.insert_one({"chat_id": chat_id}) + + +async def remove_nonadmin_chat(chat_id: int): + nonadmin[chat_id] = False + is_admin = await check_nonadmin_chat(chat_id) + if not is_admin: + return + return await authdb.delete_one({"chat_id": chat_id}) + + +# Video Limit +async def is_video_allowed(chat_idd) -> str: + chat_id = 123456 + if not vlimit: + dblimit = await videodb.find_one({"chat_id": chat_id}) + if not dblimit: + vlimit.clear() + vlimit.append(config.VIDEO_STREAM_LIMIT) + limit = config.VIDEO_STREAM_LIMIT + else: + limit = dblimit["limit"] + vlimit.clear() + vlimit.append(limit) + else: + limit = vlimit[0] + if limit == 0: + return False + count = len(await get_active_video_chats()) + if int(count) == int(limit): + if not await is_active_video_chat(chat_idd): + return False + return True + + +async def get_video_limit() -> str: + chat_id = 123456 + if not vlimit: + dblimit = await videodb.find_one({"chat_id": chat_id}) + if not dblimit: + limit = config.VIDEO_STREAM_LIMIT + else: + limit = dblimit["limit"] + else: + limit = vlimit[0] + return limit + + +async def set_video_limit(limt: int): + chat_id = 123456 + vlimit.clear() + vlimit.append(limt) + return await videodb.update_one( + {"chat_id": chat_id}, {"$set": {"limit": limt}}, upsert=True + ) + + +# On Off +async def is_on_off(on_off: int) -> bool: + onoff = await onoffdb.find_one({"on_off": on_off}) + if not onoff: + return False + return True + + +async def add_on(on_off: int): + is_on = await is_on_off(on_off) + if is_on: + return + return await onoffdb.insert_one({"on_off": on_off}) + + +async def add_off(on_off: int): + is_off = await is_on_off(on_off) + if not is_off: + return + return await onoffdb.delete_one({"on_off": on_off}) + + +# Maintenance + + +async def is_maintenance(): + if not maintenance: + get = await onoffdb.find_one({"on_off": 1}) + if not get: + maintenance.clear() + maintenance.append(2) + return True + else: + maintenance.clear() + maintenance.append(1) + return False + else: + if 1 in maintenance: + return False + else: + return True + + +async def maintenance_off(): + maintenance.clear() + maintenance.append(2) + is_off = await is_on_off(1) + if not is_off: + return + return await onoffdb.delete_one({"on_off": 1}) + + +async def maintenance_on(): + maintenance.clear() + maintenance.append(1) + is_on = await is_on_off(1) + if is_on: + return + return await onoffdb.insert_one({"on_off": 1}) + + +# Audio Video Limit + +from pytgcalls.types.stream.legacy.quality import (HighQualityAudio, + HighQualityVideo, + LowQualityAudio, + LowQualityVideo, + MediumQualityAudio, + MediumQualityVideo) + + +async def save_audio_bitrate(chat_id: int, bitrate: str): + audio[chat_id] = bitrate + + +async def save_video_bitrate(chat_id: int, bitrate: str): + video[chat_id] = bitrate + + +async def get_aud_bit_name(chat_id: int) -> str: + mode = audio.get(chat_id) + if not mode: + return "High" + return mode + + +async def get_vid_bit_name(chat_id: int) -> str: + mode = video.get(chat_id) + if not mode: + if PRIVATE_BOT_MODE == str(True): + return "High" + else: + return "Medium" + return mode + + +async def get_audio_bitrate(chat_id: int) -> str: + mode = audio.get(chat_id) + if not mode: + return MediumQualityAudio() + if str(mode) == "High": + return HighQualityAudio() + elif str(mode) == "Medium": + return MediumQualityAudio() + elif str(mode) == "Low": + return LowQualityAudio() + + +async def get_video_bitrate(chat_id: int) -> str: + mode = video.get(chat_id) + if not mode: + if PRIVATE_BOT_MODE == str(True): + return HighQualityVideo() + else: + return MediumQualityVideo() + if str(mode) == "High": + return HighQualityVideo() + elif str(mode) == "Medium": + return MediumQualityVideo() + elif str(mode) == "Low": + return LowQualityVideo() diff --git a/YukkiMusic/utils/database/mongodatabase.py b/YukkiMusic/utils/database/mongodatabase.py new file mode 100644 index 0000000000000000000000000000000000000000..c22186cc6b273a125863c89002454460c639cb92 --- /dev/null +++ b/YukkiMusic/utils/database/mongodatabase.py @@ -0,0 +1,440 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Dict, List, Union + +from YukkiMusic.core.mongo import mongodb + +queriesdb = mongodb.queries +userdb = mongodb.userstats +chattopdb = mongodb.chatstats +authuserdb = mongodb.authuser +gbansdb = mongodb.gban +sudoersdb = mongodb.sudoers +chatsdb = mongodb.chats +blacklist_chatdb = mongodb.blacklistChat +usersdb = mongodb.tgusersdb +playlistdb = mongodb.playlist +blockeddb = mongodb.blockedusers +privatedb = mongodb.privatechats + + +# Playlist + + +async def _get_playlists(chat_id: int) -> Dict[str, int]: + _notes = await playlistdb.find_one({"chat_id": chat_id}) + if not _notes: + return {} + return _notes["notes"] + + +async def get_playlist_names(chat_id: int) -> List[str]: + _notes = [] + for note in await _get_playlists(chat_id): + _notes.append(note) + return _notes + + +async def get_playlist(chat_id: int, name: str) -> Union[bool, dict]: + name = name + _notes = await _get_playlists(chat_id) + if name in _notes: + return _notes[name] + else: + return False + + +async def save_playlist(chat_id: int, name: str, note: dict): + name = name + _notes = await _get_playlists(chat_id) + _notes[name] = note + await playlistdb.update_one( + {"chat_id": chat_id}, {"$set": {"notes": _notes}}, upsert=True + ) + + +async def delete_playlist(chat_id: int, name: str) -> bool: + notesd = await _get_playlists(chat_id) + name = name + if name in notesd: + del notesd[name] + await playlistdb.update_one( + {"chat_id": chat_id}, + {"$set": {"notes": notesd}}, + upsert=True, + ) + return True + return False + + +# Users + + +async def is_served_user(user_id: int) -> bool: + user = await usersdb.find_one({"user_id": user_id}) + if not user: + return False + return True + + +async def get_served_users() -> list: + users_list = [] + async for user in usersdb.find({"user_id": {"$gt": 0}}): + users_list.append(user) + return users_list + + +async def add_served_user(user_id: int): + is_served = await is_served_user(user_id) + if is_served: + return + return await usersdb.insert_one({"user_id": user_id}) + + +# Served Chats + + +async def get_served_chats() -> list: + chats_list = [] + async for chat in chatsdb.find({"chat_id": {"$lt": 0}}): + chats_list.append(chat) + return chats_list + + +async def is_served_chat(chat_id: int) -> bool: + chat = await chatsdb.find_one({"chat_id": chat_id}) + if not chat: + return False + return True + + +async def add_served_chat(chat_id: int): + is_served = await is_served_chat(chat_id) + if is_served: + return + return await chatsdb.insert_one({"chat_id": chat_id}) + + +# Blacklisted Chats + + +async def blacklisted_chats() -> list: + chats_list = [] + async for chat in blacklist_chatdb.find({"chat_id": {"$lt": 0}}): + chats_list.append(chat["chat_id"]) + return chats_list + + +async def blacklist_chat(chat_id: int) -> bool: + if not await blacklist_chatdb.find_one({"chat_id": chat_id}): + await blacklist_chatdb.insert_one({"chat_id": chat_id}) + return True + return False + + +async def whitelist_chat(chat_id: int) -> bool: + if await blacklist_chatdb.find_one({"chat_id": chat_id}): + await blacklist_chatdb.delete_one({"chat_id": chat_id}) + return True + return False + + +# Private Served Chats + + +async def get_private_served_chats() -> list: + chats_list = [] + async for chat in privatedb.find({"chat_id": {"$lt": 0}}): + chats_list.append(chat) + return chats_list + + +async def is_served_private_chat(chat_id: int) -> bool: + chat = await privatedb.find_one({"chat_id": chat_id}) + if not chat: + return False + return True + + +async def add_private_chat(chat_id: int): + is_served = await is_served_private_chat(chat_id) + if is_served: + return + return await privatedb.insert_one({"chat_id": chat_id}) + + +async def remove_private_chat(chat_id: int): + is_served = await is_served_private_chat(chat_id) + if not is_served: + return + return await privatedb.delete_one({"chat_id": chat_id}) + + +# Auth Users DB + + +async def _get_authusers(chat_id: int) -> Dict[str, int]: + _notes = await authuserdb.find_one({"chat_id": chat_id}) + if not _notes: + return {} + return _notes["notes"] + + +async def get_authuser_names(chat_id: int) -> List[str]: + _notes = [] + for note in await _get_authusers(chat_id): + _notes.append(note) + return _notes + + +async def get_authuser(chat_id: int, name: str) -> Union[bool, dict]: + name = name + _notes = await _get_authusers(chat_id) + if name in _notes: + return _notes[name] + else: + return False + + +async def save_authuser(chat_id: int, name: str, note: dict): + name = name + _notes = await _get_authusers(chat_id) + _notes[name] = note + + await authuserdb.update_one( + {"chat_id": chat_id}, {"$set": {"notes": _notes}}, upsert=True + ) + + +async def delete_authuser(chat_id: int, name: str) -> bool: + notesd = await _get_authusers(chat_id) + name = name + if name in notesd: + del notesd[name] + await authuserdb.update_one( + {"chat_id": chat_id}, + {"$set": {"notes": notesd}}, + upsert=True, + ) + return True + return False + + +# Blocked Users + + +async def get_gbanned() -> list: + results = [] + async for user in gbansdb.find({"user_id": {"$gt": 0}}): + user_id = user["user_id"] + results.append(user_id) + return results + + +async def is_gbanned_user(user_id: int) -> bool: + user = await gbansdb.find_one({"user_id": user_id}) + if not user: + return False + return True + + +async def add_gban_user(user_id: int): + is_gbanned = await is_gbanned_user(user_id) + if is_gbanned: + return + return await gbansdb.insert_one({"user_id": user_id}) + + +async def remove_gban_user(user_id: int): + is_gbanned = await is_gbanned_user(user_id) + if not is_gbanned: + return + return await gbansdb.delete_one({"user_id": user_id}) + + +# Sudoers + + +async def get_sudoers() -> list: + sudoers = await sudoersdb.find_one({"sudo": "sudo"}) + if not sudoers: + return [] + return sudoers["sudoers"] + + +async def add_sudo(user_id: int) -> bool: + sudoers = await get_sudoers() + sudoers.append(user_id) + await sudoersdb.update_one( + {"sudo": "sudo"}, {"$set": {"sudoers": sudoers}}, upsert=True + ) + return True + + +async def remove_sudo(user_id: int) -> bool: + sudoers = await get_sudoers() + sudoers.remove(user_id) + await sudoersdb.update_one( + {"sudo": "sudo"}, {"$set": {"sudoers": sudoers}}, upsert=True + ) + return True + + +# Total Queries on bot + + +async def get_queries() -> int: + chat_id = 98324 + mode = await queriesdb.find_one({"chat_id": chat_id}) + if not mode: + return 0 + return mode["mode"] + + +async def set_queries(mode: int): + chat_id = 98324 + queries = await queriesdb.find_one({"chat_id": chat_id}) + if queries: + mode = queries["mode"] + mode + return await queriesdb.update_one( + {"chat_id": chat_id}, {"$set": {"mode": mode}}, upsert=True + ) + + +# Top Chats DB + + +async def get_top_chats() -> dict: + results = {} + async for chat in chattopdb.find({"chat_id": {"$lt": 0}}): + chat_id = chat["chat_id"] + total = 0 + for i in chat["vidid"]: + counts_ = chat["vidid"][i]["spot"] + if counts_ > 0: + total += counts_ + results[chat_id] = total + return results + + +async def get_global_tops() -> dict: + results = {} + async for chat in chattopdb.find({"chat_id": {"$lt": 0}}): + for i in chat["vidid"]: + counts_ = chat["vidid"][i]["spot"] + title_ = chat["vidid"][i]["title"] + if counts_ > 0: + if i not in results: + results[i] = {} + results[i]["spot"] = counts_ + results[i]["title"] = title_ + else: + spot = results[i]["spot"] + count_ = spot + counts_ + results[i]["spot"] = count_ + return results + + +async def get_particulars(chat_id: int) -> Dict[str, int]: + ids = await chattopdb.find_one({"chat_id": chat_id}) + if not ids: + return {} + return ids["vidid"] + + +async def get_particular_top( + chat_id: int, name: str +) -> Union[bool, dict]: + ids = await get_particulars(chat_id) + if name in ids: + return ids[name] + + +async def update_particular_top(chat_id: int, name: str, vidid: dict): + ids = await get_particulars(chat_id) + ids[name] = vidid + await chattopdb.update_one( + {"chat_id": chat_id}, {"$set": {"vidid": ids}}, upsert=True + ) + + +# Top User DB + + +async def get_userss(chat_id: int) -> Dict[str, int]: + ids = await userdb.find_one({"chat_id": chat_id}) + if not ids: + return {} + return ids["vidid"] + + +async def get_user_top(chat_id: int, name: str) -> Union[bool, dict]: + ids = await get_userss(chat_id) + if name in ids: + return ids[name] + + +async def update_user_top(chat_id: int, name: str, vidid: dict): + ids = await get_userss(chat_id) + ids[name] = vidid + await userdb.update_one( + {"chat_id": chat_id}, {"$set": {"vidid": ids}}, upsert=True + ) + + +async def get_topp_users() -> dict: + results = {} + async for chat in userdb.find({"chat_id": {"$gt": 0}}): + user_id = chat["chat_id"] + total = 0 + for i in chat["vidid"]: + counts_ = chat["vidid"][i]["spot"] + if counts_ > 0: + total += counts_ + results[user_id] = total + return results + + +# Gban Users + + +async def get_banned_users() -> list: + results = [] + async for user in blockeddb.find({"user_id": {"$gt": 0}}): + user_id = user["user_id"] + results.append(user_id) + return results + + +async def get_banned_count() -> int: + users = blockeddb.find({"user_id": {"$gt": 0}}) + users = await users.to_list(length=100000) + return len(users) + + +async def is_banned_user(user_id: int) -> bool: + user = await blockeddb.find_one({"user_id": user_id}) + if not user: + return False + return True + + +async def add_banned_user(user_id: int): + is_gbanned = await is_banned_user(user_id) + if is_gbanned: + return + return await blockeddb.insert_one({"user_id": user_id}) + + +async def remove_banned_user(user_id: int): + is_gbanned = await is_banned_user(user_id) + if not is_gbanned: + return + return await blockeddb.delete_one({"user_id": user_id}) diff --git a/YukkiMusic/utils/decorators/__init__.py b/YukkiMusic/utils/decorators/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..03d48c0b192bb046d8f6c41eed215be521e7a821 --- /dev/null +++ b/YukkiMusic/utils/decorators/__init__.py @@ -0,0 +1,11 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from .admins import * +from .language import * diff --git a/YukkiMusic/utils/decorators/admins.py b/YukkiMusic/utils/decorators/admins.py new file mode 100644 index 0000000000000000000000000000000000000000..c22b0eee195f861520eaf703cdd594bd04b56231 --- /dev/null +++ b/YukkiMusic/utils/decorators/admins.py @@ -0,0 +1,174 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + +from config import adminlist +from strings import get_string +from YukkiMusic import app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (get_authuser_names, get_cmode, + get_lang, is_active_chat, + is_commanddelete_on, + is_maintenance, + is_nonadmin_chat) + +from ..formatters import int_to_alpha + + +def AdminRightsCheck(mystic): + async def wrapper(client, message): + if await is_maintenance() is False: + if message.from_user.id not in SUDOERS: + return await message.reply_text( + "Bot is under maintenance. Please wait for some time..." + ) + if await is_commanddelete_on(message.chat.id): + try: + await message.delete() + except: + pass + try: + language = await get_lang(message.chat.id) + _ = get_string(language) + except: + _ = get_string("en") + if message.sender_chat: + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="How to Fix this? ", + callback_data="AnonymousAdmin", + ), + ] + ] + ) + return await message.reply_text( + _["general_4"], reply_markup=upl + ) + if message.command[0][0] == "c": + chat_id = await get_cmode(message.chat.id) + if chat_id is None: + return await message.reply_text(_["setting_12"]) + try: + await app.get_chat(chat_id) + except: + return await message.reply_text(_["cplay_4"]) + else: + chat_id = message.chat.id + if not await is_active_chat(chat_id): + return await message.reply_text(_["general_6"]) + is_non_admin = await is_nonadmin_chat(message.chat.id) + if not is_non_admin: + if message.from_user.id not in SUDOERS: + admins = adminlist.get(message.chat.id) + if not admins: + return await message.reply_text(_["admin_18"]) + else: + if message.from_user.id not in admins: + return await message.reply_text(_["admin_19"]) + return await mystic(client, message, _, chat_id) + + return wrapper + + +def AdminActual(mystic): + async def wrapper(client, message): + if await is_maintenance() is False: + if message.from_user.id not in SUDOERS: + return await message.reply_text( + "Bot is under maintenance. Please wait for some time..." + ) + if await is_commanddelete_on(message.chat.id): + try: + await message.delete() + except: + pass + try: + language = await get_lang(message.chat.id) + _ = get_string(language) + except: + _ = get_string("en") + if message.sender_chat: + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="How to Fix this? ", + callback_data="AnonymousAdmin", + ), + ] + ] + ) + return await message.reply_text( + _["general_4"], reply_markup=upl + ) + if message.from_user.id not in SUDOERS: + try: + member = await app.get_chat_member( + message.chat.id, message.from_user.id + ) + except: + return + if not member.can_manage_voice_chats: + return await message.reply(_["general_5"]) + return await mystic(client, message, _) + + return wrapper + + +def ActualAdminCB(mystic): + async def wrapper(client, CallbackQuery): + if await is_maintenance() is False: + if CallbackQuery.from_user.id not in SUDOERS: + return await CallbackQuery.answer( + "Bot is under maintenance. Please wait for some time...", + show_alert=True, + ) + try: + language = await get_lang(CallbackQuery.message.chat.id) + _ = get_string(language) + except: + _ = get_string("en") + if CallbackQuery.message.chat.type == "private": + return await mystic(client, CallbackQuery, _) + is_non_admin = await is_nonadmin_chat( + CallbackQuery.message.chat.id + ) + if not is_non_admin: + try: + a = await app.get_chat_member( + CallbackQuery.message.chat.id, + CallbackQuery.from_user.id, + ) + except: + return await CallbackQuery.answer( + _["general_5"], show_alert=True + ) + """ + if not a.can_manage_voice_chats: + if CallbackQuery.from_user.id not in SUDOERS: + token = await int_to_alpha( + CallbackQuery.from_user.id + ) + _check = await get_authuser_names( + CallbackQuery.from_user.id + ) + if token not in _check: + try: + return await CallbackQuery.answer( + _["general_5"], + show_alert=True, + ) + except: + return """ + return await mystic(client, CallbackQuery, _) + + return wrapper diff --git a/YukkiMusic/utils/decorators/language.py b/YukkiMusic/utils/decorators/language.py new file mode 100644 index 0000000000000000000000000000000000000000..46605f13907fda04b5a7dff2d94e7a7340f9ef3a --- /dev/null +++ b/YukkiMusic/utils/decorators/language.py @@ -0,0 +1,66 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +from strings import get_string +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (get_lang, is_commanddelete_on, + is_maintenance) + + +def language(mystic): + async def wrapper(_, message, **kwargs): + if await is_maintenance() is False: + if message.from_user.id not in SUDOERS: + return await message.reply_text( + "Bot is under maintenance. Please wait for some time..." + ) + if await is_commanddelete_on(message.chat.id): + try: + await message.delete() + except: + pass + try: + language = await get_lang(message.chat.id) + language = get_string(language) + except: + language = get_string("en") + return await mystic(_, message, language) + + return wrapper + + +def languageCB(mystic): + async def wrapper(_, CallbackQuery, **kwargs): + if await is_maintenance() is False: + if CallbackQuery.from_user.id not in SUDOERS: + return await CallbackQuery.answer( + "Bot is under maintenance. Please wait for some time...", + show_alert=True, + ) + try: + language = await get_lang(CallbackQuery.message.chat.id) + language = get_string(language) + except: + language = get_string("en") + return await mystic(_, CallbackQuery, language) + + return wrapper + + +def LanguageStart(mystic): + async def wrapper(_, message, **kwargs): + try: + language = await get_lang(message.chat.id) + language = get_string(language) + except: + language = get_string("en") + return await mystic(_, message, language) + + return wrapper diff --git a/YukkiMusic/utils/decorators/play.py b/YukkiMusic/utils/decorators/play.py new file mode 100644 index 0000000000000000000000000000000000000000..83c56e95bb43da24aaf3263a5985bdb882ec2728 --- /dev/null +++ b/YukkiMusic/utils/decorators/play.py @@ -0,0 +1,138 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + +from config import PLAYLIST_IMG_URL, PRIVATE_BOT_MODE, adminlist +from strings import get_string +from YukkiMusic import YouTube, app +from YukkiMusic.misc import SUDOERS +from YukkiMusic.utils.database import (get_cmode, get_lang, + get_playmode, get_playtype, + is_active_chat, + is_commanddelete_on, + is_served_private_chat) +from YukkiMusic.utils.database.memorydatabase import is_maintenance +from YukkiMusic.utils.inline.playlist import botplaylist_markup + + +def PlayWrapper(command): + async def wrapper(client, message): + + if await is_maintenance() is False: + if message.from_user.id not in SUDOERS: + return await message.reply_text( + "Bot is under maintenance. Please wait for some time..." + ) + if PRIVATE_BOT_MODE == str(True): + if not await is_served_private_chat(message.chat.id): + await message.reply_text( + "**Private Music Bot**\n\nOnly for authorized chats from the owner. Ask my owner to allow your chat first." + ) + return await app.leave_chat(message.chat.id) + if await is_commanddelete_on(message.chat.id): + try: + await message.delete() + except: + pass + language = await get_lang(message.chat.id) + _ = get_string(language) + audio_telegram = ( + ( + message.reply_to_message.audio + or message.reply_to_message.voice + ) + if message.reply_to_message + else None + ) + video_telegram = ( + ( + message.reply_to_message.video + or message.reply_to_message.document + ) + if message.reply_to_message + else None + ) + url = await YouTube.url(message) + if ( + audio_telegram is None + and video_telegram is None + and url is None + ): + if len(message.command) < 2: + if "stream" in message.command: + return await message.reply_text(_["str_1"]) + buttons = botplaylist_markup(_) + return await message.reply_photo( + photo=PLAYLIST_IMG_URL, + caption=_["playlist_1"], + reply_markup=InlineKeyboardMarkup(buttons), + ) + if message.sender_chat: + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text="How to Fix this? ", + callback_data="AnonymousAdmin", + ), + ] + ] + ) + return await message.reply_text( + _["general_4"], reply_markup=upl + ) + if message.command[0][0] == "c": + chat_id = await get_cmode(message.chat.id) + if chat_id is None: + return await message.reply_text(_["setting_12"]) + try: + chat = await app.get_chat(chat_id) + except: + return await message.reply_text(_["cplay_4"]) + channel = chat.title + else: + chat_id = message.chat.id + channel = None + playmode = await get_playmode(message.chat.id) + playty = await get_playtype(message.chat.id) + if playty != "Everyone": + if message.from_user.id not in SUDOERS: + admins = adminlist.get(message.chat.id) + if not admins: + return await message.reply_text(_["admin_18"]) + else: + if message.from_user.id not in admins: + return await message.reply_text(_["play_4"]) + if message.command[0][0] == "v": + video = True + else: + if "-v" in message.text: + video = True + else: + video = True if message.command[0][1] == "v" else None + if message.command[0][-1] == "e": + if not await is_active_chat(chat_id): + return await message.reply_text(_["play_18"]) + fplay = True + else: + fplay = None + return await command( + client, + message, + _, + chat_id, + video, + channel, + playmode, + url, + fplay, + ) + + return wrapper diff --git a/YukkiMusic/utils/exceptions.py b/YukkiMusic/utils/exceptions.py new file mode 100644 index 0000000000000000000000000000000000000000..b141d5645f5dac7525171b19ca6c6361436f2fb9 --- /dev/null +++ b/YukkiMusic/utils/exceptions.py @@ -0,0 +1,13 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +class AssistantErr(Exception): + def __init__(self, errr: str): + super().__init__(errr) diff --git a/YukkiMusic/utils/formatters.py b/YukkiMusic/utils/formatters.py new file mode 100644 index 0000000000000000000000000000000000000000..a9fac466d61fa4e1209093752784a51baa09d5f3 --- /dev/null +++ b/YukkiMusic/utils/formatters.py @@ -0,0 +1,137 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from pyrogram.types import Message + + +def get_readable_time(seconds: int) -> str: + count = 0 + ping_time = "" + time_list = [] + time_suffix_list = ["s", "m", "h", "days"] + while count < 4: + count += 1 + if count < 3: + remainder, result = divmod(seconds, 60) + else: + remainder, result = divmod(seconds, 24) + if seconds == 0 and remainder == 0: + break + time_list.append(int(result)) + seconds = int(remainder) + for i in range(len(time_list)): + time_list[i] = str(time_list[i]) + time_suffix_list[i] + if len(time_list) == 4: + ping_time += time_list.pop() + ", " + time_list.reverse() + ping_time += ":".join(time_list) + return ping_time + + +def convert_bytes(size: float) -> str: + """humanize size""" + if not size: + return "" + power = 1024 + t_n = 0 + power_dict = {0: " ", 1: "Ki", 2: "Mi", 3: "Gi", 4: "Ti"} + while size > power: + size /= power + t_n += 1 + return "{:.2f} {}B".format(size, power_dict[t_n]) + + +async def int_to_alpha(user_id: int) -> str: + alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] + text = "" + user_id = str(user_id) + for i in user_id: + text += alphabet[int(i)] + return text + + +async def alpha_to_int(user_id_alphabet: str) -> int: + alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] + user_id = "" + for i in user_id_alphabet: + index = alphabet.index(i) + user_id += str(index) + user_id = int(user_id) + return user_id + + +def time_to_seconds(time): + stringt = str(time) + return sum( + int(x) * 60**i + for i, x in enumerate(reversed(stringt.split(":"))) + ) + + +def seconds_to_min(seconds): + if seconds is not None: + seconds = int(seconds) + d, h, m, s = ( + seconds // (3600 * 24), + seconds // 3600 % 24, + seconds % 3600 // 60, + seconds % 3600 % 60, + ) + if d > 0: + return "{:02d}:{:02d}:{:02d}:{:02d}".format(d, h, m, s) + elif h > 0: + return "{:02d}:{:02d}:{:02d}".format(h, m, s) + elif m > 0: + return "{:02d}:{:02d}".format(m, s) + elif s > 0: + return "00:{:02d}".format(s) + return "-" + + +formats = [ + "webm", + "mkv", + "flv", + "vob", + "ogv", + "ogg", + "rrc", + "gifv", + "mng", + "mov", + "avi", + "qt", + "wmv", + "yuv", + "rm", + "asf", + "amv", + "mp4", + "m4p", + "m4v", + "mpg", + "mp2", + "mpeg", + "mpe", + "mpv", + "m4v", + "svi", + "3gp", + "3g2", + "mxf", + "roq", + "nsv", + "flv", + "f4v", + "f4p", + "f4a", + "f4b", +] diff --git a/YukkiMusic/utils/inline/__init__.py b/YukkiMusic/utils/inline/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d90cc53c063764cf71e02d31c41f777d93e7474f --- /dev/null +++ b/YukkiMusic/utils/inline/__init__.py @@ -0,0 +1,16 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from .help import * +from .play import * +from .playlist import * +from .queue import * +from .settings import * +from .song import * +from .start import * diff --git a/YukkiMusic/utils/inline/help.py b/YukkiMusic/utils/inline/help.py new file mode 100644 index 0000000000000000000000000000000000000000..76e988306619a907c5977deb8dcfdd96ba76cc18 --- /dev/null +++ b/YukkiMusic/utils/inline/help.py @@ -0,0 +1,93 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + +from YukkiMusic import app + + +def help_pannel(_, START: Union[bool, int] = None): + first = [ + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data=f"close" + ) + ] + second = [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data=f"close" + ), + ] + mark = second if START else first + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["H_B_1"], + callback_data="help_callback hb1", + ), + InlineKeyboardButton( + text=_["H_B_2"], + callback_data="help_callback hb2", + ), + ], + [ + InlineKeyboardButton( + text=_["H_B_3"], + callback_data="help_callback hb3", + ), + InlineKeyboardButton( + text=_["H_B_4"], + callback_data="help_callback hb4", + ), + ], + [ + InlineKeyboardButton( + text=_["H_B_6"], + callback_data="help_callback hb5", + ), + ], + mark, + ] + ) + return upl + + +def help_back_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"settings_back_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data=f"close" + ), + ] + ] + ) + return upl + + +def private_help_panel(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["S_B_1"], + url=f"https://t.me/{app.username}?start=help", + ), + ], + ] + return buttons diff --git a/YukkiMusic/utils/inline/play.py b/YukkiMusic/utils/inline/play.py new file mode 100644 index 0000000000000000000000000000000000000000..40a6fe06a93bf44e17301e50b92bac2e93423b99 --- /dev/null +++ b/YukkiMusic/utils/inline/play.py @@ -0,0 +1,340 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import random + +from pyrogram.types import InlineKeyboardButton + +selections = [ + "▁▄▂▇▄▅▄▅▃", + "▁▃▇▂▅▇▄▅▃", + "▃▁▇▂▅▃▄▃▅", + "▃▄▂▄▇▅▃▅▁", + "▁▃▄▂▇▃▄▅▃", + "▃▁▄▂▅▃▇▃▅", + "▁▇▄▂▅▄▅▃▄", + "▁▃▅▇▂▅▄▃▇", + "▃▅▂▅▇▁▄▃▁", + "▇▅▂▅▃▄▃▁▃", + "▃▇▂▅▁▅▄▃▁", + "▅▄▇▂▅▂▄▇▁", + "▃▅▂▅▃▇▄▅▃", +] + + +## After Edits with Timer Bar + + +def stream_markup_timer(_, videoid, chat_id, played, dur): + bar = random.choice(selections) + buttons = [ + [ + InlineKeyboardButton( + text=f"{played} {bar} {dur}", + callback_data="GetTimer", + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_2"], + callback_data=f"add_playlist {videoid}", + ), + InlineKeyboardButton( + text=_["PL_B_3"], + callback_data=f"PanelMarkup {videoid}|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data="close" + ) + ], + ] + return buttons + + +def telegram_markup_timer(_, chat_id, played, dur): + bar = random.choice(selections) + buttons = [ + [ + InlineKeyboardButton( + text=f"{played} {bar} {dur}", + callback_data="GetTimer", + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_3"], + callback_data=f"PanelMarkup None|{chat_id}", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +## Inline without Timer Bar + + +def stream_markup(_, videoid, chat_id): + buttons = [ + [ + InlineKeyboardButton( + text=_["PL_B_2"], + callback_data=f"add_playlist {videoid}", + ), + InlineKeyboardButton( + text=_["PL_B_3"], + callback_data=f"PanelMarkup None|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data="close" + ) + ], + ] + return buttons + + +def telegram_markup(_, chat_id): + buttons = [ + [ + InlineKeyboardButton( + text=_["PL_B_3"], + callback_data=f"PanelMarkup None|{chat_id}", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +## Search Query Inline + + +def track_markup(_, videoid, user_id, channel, fplay): + buttons = [ + [ + InlineKeyboardButton( + text=_["P_B_1"], + callback_data=f"MusicStream {videoid}|{user_id}|a|{channel}|{fplay}", + ), + InlineKeyboardButton( + text=_["P_B_2"], + callback_data=f"MusicStream {videoid}|{user_id}|v|{channel}|{fplay}", + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data=f"forceclose {videoid}|{user_id}", + ) + ], + ] + return buttons + + +def playlist_markup(_, videoid, user_id, ptype, channel, fplay): + buttons = [ + [ + InlineKeyboardButton( + text=_["P_B_1"], + callback_data=f"YukkiPlaylists {videoid}|{user_id}|{ptype}|a|{channel}|{fplay}", + ), + InlineKeyboardButton( + text=_["P_B_2"], + callback_data=f"YukkiPlaylists {videoid}|{user_id}|{ptype}|v|{channel}|{fplay}", + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data=f"forceclose {videoid}|{user_id}", + ), + ], + ] + return buttons + + +## Live Stream Markup + + +def livestream_markup(_, videoid, user_id, mode, channel, fplay): + buttons = [ + [ + InlineKeyboardButton( + text=_["P_B_3"], + callback_data=f"LiveStream {videoid}|{user_id}|{mode}|{channel}|{fplay}", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], + callback_data=f"forceclose {videoid}|{user_id}", + ), + ], + ] + return buttons + + +## Slider Query Markup + + +def slider_markup( + _, videoid, user_id, query, query_type, channel, fplay +): + query = f"{query[:20]}" + buttons = [ + [ + InlineKeyboardButton( + text=_["P_B_1"], + callback_data=f"MusicStream {videoid}|{user_id}|a|{channel}|{fplay}", + ), + InlineKeyboardButton( + text=_["P_B_2"], + callback_data=f"MusicStream {videoid}|{user_id}|v|{channel}|{fplay}", + ), + ], + [ + InlineKeyboardButton( + text="❎", + callback_data=f"slider B|{query_type}|{query}|{user_id}|{channel}|{fplay}", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data=f"forceclose {query}|{user_id}", + ), + InlineKeyboardButton( + text="❯", + callback_data=f"slider F|{query_type}|{query}|{user_id}|{channel}|{fplay}", + ), + ], + ] + return buttons + + +## Cpanel Markup + + +def panel_markup_1(_, videoid, chat_id): + buttons = [ + [ + InlineKeyboardButton( + text="⏸ Pause", callback_data=f"ADMIN Pause|{chat_id}" + ), + InlineKeyboardButton( + text="â–ļī¸ Resume", + callback_data=f"ADMIN Resume|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text="⏯ Skip", callback_data=f"ADMIN Skip|{chat_id}" + ), + InlineKeyboardButton( + text="⏚ Stop", callback_data=f"ADMIN Stop|{chat_id}" + ), + ], + [ + InlineKeyboardButton( + text="â—€ī¸", + callback_data=f"Pages Back|0|{videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="🔙 Back", + callback_data=f"MainMarkup {videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="â–ļī¸", + callback_data=f"Pages Forw|0|{videoid}|{chat_id}", + ), + ], + ] + return buttons + + +def panel_markup_2(_, videoid, chat_id): + buttons = [ + [ + InlineKeyboardButton( + text="🔇 Mute", callback_data=f"ADMIN Mute|{chat_id}" + ), + InlineKeyboardButton( + text="🔊 Unmute", + callback_data=f"ADMIN Unmute|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text="🔀 Shuffle", + callback_data=f"ADMIN Shuffle|{chat_id}", + ), + InlineKeyboardButton( + text="🔁 Loop", callback_data=f"ADMIN Loop|{chat_id}" + ), + ], + [ + InlineKeyboardButton( + text="â—€ī¸", + callback_data=f"Pages Back|1|{videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="🔙 Back", + callback_data=f"MainMarkup {videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="â–ļī¸", + callback_data=f"Pages Forw|1|{videoid}|{chat_id}", + ), + ], + ] + return buttons + + +def panel_markup_3(_, videoid, chat_id): + buttons = [ + [ + InlineKeyboardButton( + text="⏎ 10 Seconds", + callback_data=f"ADMIN 1|{chat_id}", + ), + InlineKeyboardButton( + text="⏭ 10 Seconds", + callback_data=f"ADMIN 2|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text="⏎ 30 Seconds", + callback_data=f"ADMIN 3|{chat_id}", + ), + InlineKeyboardButton( + text="⏭ 30 Seconds", + callback_data=f"ADMIN 4|{chat_id}", + ), + ], + [ + InlineKeyboardButton( + text="â—€ī¸", + callback_data=f"Pages Back|2|{videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="🔙 Back", + callback_data=f"MainMarkup {videoid}|{chat_id}", + ), + InlineKeyboardButton( + text="â–ļī¸", + callback_data=f"Pages Forw|2|{videoid}|{chat_id}", + ), + ], + ] + return buttons diff --git a/YukkiMusic/utils/inline/playlist.py b/YukkiMusic/utils/inline/playlist.py new file mode 100644 index 0000000000000000000000000000000000000000..313e4faefa347e9b712f7048d3ad36ba7daad60d --- /dev/null +++ b/YukkiMusic/utils/inline/playlist.py @@ -0,0 +1,166 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + + +def botplaylist_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["PL_B_1"], + callback_data="get_playlist_playmode", + ), + InlineKeyboardButton( + text=_["PL_B_8"], callback_data="get_top_playlists" + ), + ], + [ + InlineKeyboardButton( + text=_["PL_B_4"], callback_data="PM" + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def top_play_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["PL_B_9"], callback_data="SERVERTOP global" + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_10"], callback_data="SERVERTOP chat" + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_11"], callback_data="SERVERTOP user" + ) + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], callback_data="get_playmarkup" + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def get_playlist_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["P_B_1"], callback_data="play_playlist a" + ), + InlineKeyboardButton( + text=_["P_B_2"], callback_data="play_playlist b" + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], callback_data="home_play" + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def top_play_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["PL_B_9"], callback_data="SERVERTOP Global" + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_10"], callback_data="SERVERTOP Group" + ) + ], + [ + InlineKeyboardButton( + text=_["PL_B_11"], callback_data="SERVERTOP Personal" + ) + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], callback_data="get_playmarkup" + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def failed_top_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="get_top_playlists", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def warning_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["PL_B_7"], + callback_data="delete_whole_playlist", + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="del_back_playlist", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl + + +def close_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ] + ] + ) + return upl diff --git a/YukkiMusic/utils/inline/queue.py b/YukkiMusic/utils/inline/queue.py new file mode 100644 index 0000000000000000000000000000000000000000..5a8726b5a81e913328b4f33d1befdc8d8a79491b --- /dev/null +++ b/YukkiMusic/utils/inline/queue.py @@ -0,0 +1,74 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + + +def queue_markup( + _, + DURATION, + CPLAY, + videoid, + played: Union[bool, int] = None, + dur: Union[bool, int] = None, +): + not_dur = [ + [ + InlineKeyboardButton( + text=_["QU_B_1"], + callback_data=f"GetQueued {CPLAY}|{videoid}", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], + callback_data="close", + ), + ] + ] + dur = [ + [ + InlineKeyboardButton( + text=_["QU_B_2"].format(played, dur), + callback_data="GetTimer", + ) + ], + [ + InlineKeyboardButton( + text=_["QU_B_1"], + callback_data=f"GetQueued {CPLAY}|{videoid}", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], + callback_data="close", + ), + ], + ] + upl = InlineKeyboardMarkup( + not_dur if DURATION == "Unknown" else dur + ) + return upl + + +def queue_back_markup(_, CPLAY): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data=f"queue_back_timer {CPLAY}", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ] + ] + ) + return upl diff --git a/YukkiMusic/utils/inline/settings.py b/YukkiMusic/utils/inline/settings.py new file mode 100644 index 0000000000000000000000000000000000000000..192ace55194c74791c884917346f2369fbd3cf14 --- /dev/null +++ b/YukkiMusic/utils/inline/settings.py @@ -0,0 +1,260 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from pyrogram.types import InlineKeyboardButton + + +def setting_markup(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_1"], callback_data="AQ" + ), + InlineKeyboardButton( + text=_["ST_B_2"], callback_data="VQ" + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_3"], callback_data="AU" + ), + InlineKeyboardButton( + text=_["ST_B_6"], callback_data="LG" + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_5"], callback_data="PM" + ), + InlineKeyboardButton( + text=_["ST_B_7"], callback_data="CM" + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def audio_quality_markup( + _, + low: Union[bool, str] = None, + medium: Union[bool, str] = None, + high: Union[bool, str] = None, +): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_8"].format("✅") + if low == True + else _["ST_B_8"].format(""), + callback_data="LQA", + ) + ], + [ + InlineKeyboardButton( + text=_["ST_B_9"].format("✅") + if medium == True + else _["ST_B_9"].format(""), + callback_data="MQA", + ) + ], + [ + InlineKeyboardButton( + text=_["ST_B_10"].format("✅") + if high == True + else _["ST_B_10"].format(""), + callback_data="HQA", + ) + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def video_quality_markup( + _, + low: Union[bool, str] = None, + medium: Union[bool, str] = None, + high: Union[bool, str] = None, +): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_11"].format("✅") + if low == True + else _["ST_B_11"].format(""), + callback_data="LQV", + ) + ], + [ + InlineKeyboardButton( + text=_["ST_B_12"].format("✅") + if medium == True + else _["ST_B_12"].format(""), + callback_data="MQV", + ) + ], + [ + InlineKeyboardButton( + text=_["ST_B_13"].format("✅") + if high == True + else _["ST_B_13"].format(""), + callback_data="HQV", + ) + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def cleanmode_settings_markup( + _, + status: Union[bool, str] = None, + dels: Union[bool, str] = None, + sug: Union[bool, str] = None, +): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_7"], callback_data="CMANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_14"] if status == True else _["ST_B_15"], + callback_data="CLEANMODE", + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_26"], callback_data="COMMANDANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_14"] if dels == True else _["ST_B_15"], + callback_data="COMMANDELMODE", + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_27"], callback_data="SUGGANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_14"] if sug == True else _["ST_B_15"], + callback_data="SUGGESTIONCHANGE", + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def auth_users_markup(_, status: Union[bool, str] = None): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_3"], callback_data="AUTHANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_16"] if status == True else _["ST_B_17"], + callback_data="AUTH", + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_18"], callback_data="AUTHLIST" + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons + + +def playmode_users_markup( + _, + Direct: Union[bool, str] = None, + Group: Union[bool, str] = None, + Playtype: Union[bool, str] = None, +): + buttons = [ + [ + InlineKeyboardButton( + text=_["ST_B_19"], callback_data="SEARCHANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_20"] if Direct == True else _["ST_B_21"], + callback_data="MODECHANGE", + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_22"], callback_data="AUTHANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_16"] if Group == True else _["ST_B_17"], + callback_data="CHANNELMODECHANGE", + ), + ], + [ + InlineKeyboardButton( + text=_["ST_B_25"], callback_data="PLAYTYPEANSWER" + ), + InlineKeyboardButton( + text=_["ST_B_16"] + if Playtype == True + else _["ST_B_17"], + callback_data="PLAYTYPECHANGE", + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="settingsback_helper", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons diff --git a/YukkiMusic/utils/inline/song.py b/YukkiMusic/utils/inline/song.py new file mode 100644 index 0000000000000000000000000000000000000000..8ee157ac2e7c7c2f54cf4a752186e7839d08bf87 --- /dev/null +++ b/YukkiMusic/utils/inline/song.py @@ -0,0 +1,31 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import InlineKeyboardButton + + +def song_markup(_, vidid): + buttons = [ + [ + InlineKeyboardButton( + text=_["SG_B_2"], + callback_data=f"song_helper audio|{vidid}", + ), + InlineKeyboardButton( + text=_["SG_B_3"], + callback_data=f"song_helper video|{vidid}", + ), + ], + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], callback_data="close" + ), + ], + ] + return buttons diff --git a/YukkiMusic/utils/inline/start.py b/YukkiMusic/utils/inline/start.py new file mode 100644 index 0000000000000000000000000000000000000000..7bb44e402aa98c7a58e20b926d2cd197286e556d --- /dev/null +++ b/YukkiMusic/utils/inline/start.py @@ -0,0 +1,134 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from pyrogram.types import InlineKeyboardButton + +from config import GITHUB_REPO, SUPPORT_CHANNEL, SUPPORT_GROUP +from YukkiMusic import app + + +def start_pannel(_): + buttons = [ + [ + InlineKeyboardButton( + text=_["S_B_1"], + url=f"https://t.me/{app.username}?start=help", + ), + InlineKeyboardButton( + text=_["S_B_2"], callback_data="settings_helper" + ), + ], + ] + if SUPPORT_CHANNEL and SUPPORT_GROUP: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_4"], url=f"{SUPPORT_CHANNEL}" + ), + InlineKeyboardButton( + text=_["S_B_3"], url=f"{SUPPORT_GROUP}" + ), + ] + ) + else: + if SUPPORT_CHANNEL: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_4"], url=f"{SUPPORT_CHANNEL}" + ) + ] + ) + if SUPPORT_GROUP: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_3"], url=f"{SUPPORT_GROUP}" + ) + ] + ) + return buttons + + +def private_panel(_, BOT_USERNAME, OWNER: Union[bool, int] = None): + buttons = [ + [ + InlineKeyboardButton( + text=_["S_B_8"], callback_data="settings_back_helper" + ) + ] + ] + if SUPPORT_CHANNEL and SUPPORT_GROUP: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_4"], url=f"{SUPPORT_CHANNEL}" + ), + InlineKeyboardButton( + text=_["S_B_3"], url=f"{SUPPORT_GROUP}" + ), + ] + ) + else: + if SUPPORT_CHANNEL: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_4"], url=f"{SUPPORT_CHANNEL}" + ) + ] + ) + if SUPPORT_GROUP: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_3"], url=f"{SUPPORT_GROUP}" + ) + ] + ) + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_5"], + url=f"https://t.me/{BOT_USERNAME}?startgroup=true", + ) + ] + ) + if GITHUB_REPO and OWNER: + buttons.append( + [ + InlineKeyboardButton(text=_["S_B_7"], user_id=OWNER), + InlineKeyboardButton( + text=_["S_B_6"], url=f"{GITHUB_REPO}" + ), + ] + ) + else: + if GITHUB_REPO: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_6"], url=f"{GITHUB_REPO}" + ), + ] + ) + if OWNER: + buttons.append( + [ + InlineKeyboardButton( + text=_["S_B_7"], user_id=OWNER + ), + ] + ) + buttons.append( + [InlineKeyboardButton(text=_["ST_B_6"], callback_data="LG")] + ) + return buttons diff --git a/YukkiMusic/utils/inline/stats.py b/YukkiMusic/utils/inline/stats.py new file mode 100644 index 0000000000000000000000000000000000000000..72beca370fa9b7120dad5253009903a8a192df6d --- /dev/null +++ b/YukkiMusic/utils/inline/stats.py @@ -0,0 +1,176 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup + +from YukkiMusic import app + + +def back_stats_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="TOPMARKUPGET", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl + + +def overallback_stats_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="GlobalStats", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl + + +def get_stats_markup(_, status): + not_sudo = [ + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], + callback_data="close", + ) + ] + sudo = [ + InlineKeyboardButton( + text=_["SA_B_8"], + callback_data="bot_stats_sudo g", + ), + InlineKeyboardButton( + text=_["CLOSEMENU_BUTTON"], + callback_data="close", + ), + ] + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["SA_B_7"], + callback_data="TOPMARKUPGET", + ) + ], + [ + InlineKeyboardButton( + text=_["SA_B_6"], + url=f"https://t.me/{app.username}?start=stats", + ), + InlineKeyboardButton( + text=_["SA_B_5"], + callback_data="TopOverall g", + ), + ], + sudo if status else not_sudo, + ] + ) + return upl + + +def stats_buttons(_, status): + not_sudo = [ + InlineKeyboardButton( + text=_["SA_B_5"], + callback_data="TopOverall s", + ) + ] + sudo = [ + InlineKeyboardButton( + text=_["SA_B_8"], + callback_data="bot_stats_sudo s", + ), + InlineKeyboardButton( + text=_["SA_B_5"], + callback_data="TopOverall s", + ), + ] + upl = InlineKeyboardMarkup( + [ + sudo if status else not_sudo, + [ + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl + + +def back_stats_buttons(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="GETSTATS", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl + + +def top_ten_stats_markup(_): + upl = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton( + text=_["SA_B_2"], + callback_data="GetStatsNow Tracks", + ), + InlineKeyboardButton( + text=_["SA_B_1"], + callback_data="GetStatsNow Chats", + ), + ], + [ + InlineKeyboardButton( + text=_["SA_B_3"], + callback_data="GetStatsNow Users", + ), + InlineKeyboardButton( + text=_["SA_B_4"], + callback_data="GetStatsNow Here", + ), + ], + [ + InlineKeyboardButton( + text=_["BACK_BUTTON"], + callback_data="GlobalStats", + ), + InlineKeyboardButton( + text=_["CLOSE_BUTTON"], + callback_data="close", + ), + ], + ] + ) + return upl diff --git a/YukkiMusic/utils/inlinequery.py b/YukkiMusic/utils/inlinequery.py new file mode 100644 index 0000000000000000000000000000000000000000..f653220bfc901655ae23efc937e62bb2e70d9e1d --- /dev/null +++ b/YukkiMusic/utils/inlinequery.py @@ -0,0 +1,72 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from pyrogram.types import (InlineQueryResultArticle, + InputTextMessageContent) + +answer = [] + +answer.extend( + [ + InlineQueryResultArticle( + title="Pause Stream", + description=f"Pause the current playout on group call.", + thumb_url="https://telegra.ph/file/c0a1c789def7b93f13745.png", + input_message_content=InputTextMessageContent("/pause"), + ), + InlineQueryResultArticle( + title="Resume Stream", + description=f"Resume the ongoing playout on group call.", + thumb_url="https://telegra.ph/file/02d1b7f967ca11404455a.png", + input_message_content=InputTextMessageContent("/resume"), + ), + InlineQueryResultArticle( + title="Mute Stream", + description=f"Mute the ongoing playout on group call.", + thumb_url="https://telegra.ph/file/66516f2976cb6d87e20f9.png", + input_message_content=InputTextMessageContent("/mute"), + ), + InlineQueryResultArticle( + title="Unmute Stream", + description=f"Unmute the ongoing playout on group call.", + thumb_url="https://telegra.ph/file/3078794f9341ffd582e18.png", + input_message_content=InputTextMessageContent("/unmute"), + ), + InlineQueryResultArticle( + title="Skip Stream", + description=f"Skip to next track. | For Specific track number: /skip [number] ", + thumb_url="https://telegra.ph/file/98b88e52bc625903c7a2f.png", + input_message_content=InputTextMessageContent("/skip"), + ), + InlineQueryResultArticle( + title="End Stream", + description="Stop the ongoing playout on group call.", + thumb_url="https://telegra.ph/file/d2eb03211baaba8838cc4.png", + input_message_content=InputTextMessageContent("/stop"), + ), + InlineQueryResultArticle( + title="Shuffle Stream", + description="Shuffle the queued tracks list.", + thumb_url="https://telegra.ph/file/7f6aac5c6e27d41a4a269.png", + input_message_content=InputTextMessageContent("/shuffle"), + ), + InlineQueryResultArticle( + title="Seek Stream", + description="Seek the ongoing stream to a specific duration.", + thumb_url="https://telegra.ph/file/cd25ec6f046aa8003cfee.png", + input_message_content=InputTextMessageContent("/seek 10"), + ), + InlineQueryResultArticle( + title="Loop Stream", + description="Loop the current playing music. | Usage: /loop [enable|disable]", + thumb_url="https://telegra.ph/file/081c20ce2074ea3e9b952.png", + input_message_content=InputTextMessageContent("/loop 3"), + ), + ] +) diff --git a/YukkiMusic/utils/logger.py b/YukkiMusic/utils/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..d1aa28180721c96174696bcbbab415ed3e6e6e55 --- /dev/null +++ b/YukkiMusic/utils/logger.py @@ -0,0 +1,42 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from config import LOG, LOG_GROUP_ID +from YukkiMusic import app +from YukkiMusic.utils.database import is_on_off + + +async def play_logs(message, streamtype): + if await is_on_off(LOG): + if message.chat.username: + chatusername = f"@{message.chat.username}" + else: + chatusername = "Private Group" + logger_text = f""" +**YUKKI PLAY LOG** + +**Chat:** {message.chat.title} [`{message.chat.id}`] +**User:** {message.from_user.mention} +**Username:** @{message.from_user.username} +**User ID:** `{message.from_user.id}` +**Chat Link:** {chatusername} + +**Query:** {message.text} + +**StreamType:** {streamtype}""" + if message.chat.id != LOG_GROUP_ID: + try: + await app.send_message( + LOG_GROUP_ID, + f"{logger_text}", + disable_web_page_preview=True, + ) + except: + pass + return diff --git a/YukkiMusic/utils/pastebin.py b/YukkiMusic/utils/pastebin.py new file mode 100644 index 0000000000000000000000000000000000000000..e6c057a5ba289eb3ded1ea7e0059a2742f6cfcb9 --- /dev/null +++ b/YukkiMusic/utils/pastebin.py @@ -0,0 +1,30 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import aiohttp + +BASE = "https://batbin.me/" + + +async def post(url: str, *args, **kwargs): + async with aiohttp.ClientSession() as session: + async with session.post(url, *args, **kwargs) as resp: + try: + data = await resp.json() + except Exception: + data = await resp.text() + return data + + +async def Yukkibin(text): + resp = await post(f"{BASE}api/v2/paste", data=text) + if not resp["success"]: + return + link = BASE + resp["message"] + return link diff --git a/YukkiMusic/utils/stream/autoclear.py b/YukkiMusic/utils/stream/autoclear.py new file mode 100644 index 0000000000000000000000000000000000000000..1021047e3942d81520d3e2a352359ae5df4298c6 --- /dev/null +++ b/YukkiMusic/utils/stream/autoclear.py @@ -0,0 +1,31 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os + +from config import autoclean + + +async def auto_clean(popped): + try: + rem = popped["file"] + autoclean.remove(rem) + count = autoclean.count(rem) + if count == 0: + if ( + "vid_" not in rem + or "live_" not in rem + or "index_" not in rem + ): + try: + os.remove(rem) + except: + pass + except: + pass diff --git a/YukkiMusic/utils/stream/queue.py b/YukkiMusic/utils/stream/queue.py new file mode 100644 index 0000000000000000000000000000000000000000..0478e390507d606ed444275fe0258d4f9041961b --- /dev/null +++ b/YukkiMusic/utils/stream/queue.py @@ -0,0 +1,96 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +from typing import Union + +from config import autoclean, chatstats, userstats +from config.config import time_to_seconds +from YukkiMusic.misc import db + + +async def put_queue( + chat_id, + original_chat_id, + file, + title, + duration, + user, + vidid, + user_id, + stream, + forceplay: Union[bool, str] = None, +): + title = title.title() + try: + duration_in_seconds = time_to_seconds(duration) - 3 + except: + duration_in_seconds = 0 + put = { + "title": title, + "dur": duration, + "streamtype": stream, + "by": user, + "chat_id": original_chat_id, + "file": file, + "vidid": vidid, + "seconds": duration_in_seconds, + "played": 0, + } + if forceplay: + check = db.get(chat_id) + if check: + check.insert(0, put) + else: + db[chat_id] = [] + db[chat_id].append(put) + else: + db[chat_id].append(put) + autoclean.append(file) + vidid = "telegram" if vidid == "soundcloud" else vidid + to_append = {"vidid": vidid, "title": title} + if chat_id not in chatstats: + chatstats[chat_id] = [] + chatstats[chat_id].append(to_append) + if user_id not in userstats: + userstats[user_id] = [] + userstats[user_id].append(to_append) + return + + +async def put_queue_index( + chat_id, + original_chat_id, + file, + title, + duration, + user, + vidid, + stream, + forceplay: Union[bool, str] = None, +): + put = { + "title": title, + "dur": duration, + "streamtype": stream, + "by": user, + "chat_id": original_chat_id, + "file": file, + "vidid": vidid, + "seconds": 0, + "played": 0, + } + if forceplay: + check = db.get(chat_id) + if check: + check.insert(0, put) + else: + db[chat_id] = [] + db[chat_id].append(put) + else: + db[chat_id].append(put) diff --git a/YukkiMusic/utils/stream/stream.py b/YukkiMusic/utils/stream/stream.py new file mode 100644 index 0000000000000000000000000000000000000000..64b21743308451d4e8c78e32b2df25be1afb22e3 --- /dev/null +++ b/YukkiMusic/utils/stream/stream.py @@ -0,0 +1,494 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +from random import randint +from typing import Union + +from pyrogram.types import InlineKeyboardMarkup + +import config +from YukkiMusic import Carbon, YouTube, app +from YukkiMusic.core.call import Yukki +from YukkiMusic.misc import db +from YukkiMusic.utils.database import (add_active_chat, + add_active_video_chat, + is_active_chat, + is_video_allowed, music_on) +from YukkiMusic.utils.exceptions import AssistantErr +from YukkiMusic.utils.inline.play import (stream_markup, + telegram_markup) +from YukkiMusic.utils.inline.playlist import close_markup +from YukkiMusic.utils.pastebin import Yukkibin +from YukkiMusic.utils.stream.queue import put_queue, put_queue_index +from YukkiMusic.utils.thumbnails import gen_thumb + + +async def stream( + _, + mystic, + user_id, + result, + chat_id, + user_name, + original_chat_id, + video: Union[bool, str] = None, + streamtype: Union[bool, str] = None, + spotify: Union[bool, str] = None, + forceplay: Union[bool, str] = None, +): + if not result: + return + if video: + if not await is_video_allowed(chat_id): + raise AssistantErr(_["play_7"]) + if forceplay: + await Yukki.force_stop_stream(chat_id) + if streamtype == "playlist": + msg = f"{_['playlist_16']}\n\n" + count = 0 + for search in result: + if int(count) == config.PLAYLIST_FETCH_LIMIT: + continue + try: + ( + title, + duration_min, + duration_sec, + thumbnail, + vidid, + ) = await YouTube.details( + search, False if spotify else True + ) + except: + continue + if str(duration_min) == "None": + continue + if duration_sec > config.DURATION_LIMIT: + continue + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + count += 1 + msg += f"{count}- {title[:70]}\n" + msg += f"{_['playlist_17']} {position}\n\n" + else: + if not forceplay: + db[chat_id] = [] + status = True if video else None + try: + file_path, direct = await YouTube.download( + vidid, mystic, video=status, videoid=True + ) + except: + raise AssistantErr(_["play_16"]) + await Yukki.join_call( + chat_id, original_chat_id, file_path, video=status + ) + await put_queue( + chat_id, + original_chat_id, + file_path if direct else f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + forceplay=forceplay, + ) + img = await gen_thumb(vidid) + button = stream_markup(_, vidid, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user_name, + f"https://t.me/{app.username}?start=info_{vidid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + if count == 0: + return + else: + link = await Yukkibin(msg) + lines = msg.count("\n") + if lines >= 17: + car = os.linesep.join(msg.split(os.linesep)[:17]) + else: + car = msg + carbon = await Carbon.generate( + car, randint(100, 10000000) + ) + upl = close_markup(_) + return await app.send_photo( + original_chat_id, + photo=carbon, + caption=_["playlist_18"].format(link, position), + reply_markup=upl, + ) + elif streamtype == "youtube": + link = result["link"] + vidid = result["vidid"] + title = (result["title"]).title() + duration_min = result["duration_min"] + status = True if video else None + try: + file_path, direct = await YouTube.download( + vidid, mystic, videoid=True, video=status + ) + except: + raise AssistantErr(_["play_16"]) + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + file_path if direct else f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + await app.send_message( + original_chat_id, + _["queue_4"].format( + position, title[:30], duration_min, user_name + ), + ) + else: + if not forceplay: + db[chat_id] = [] + + await Yukki.join_call( + chat_id, original_chat_id, file_path, video=status + ) + await put_queue( + chat_id, + original_chat_id, + file_path if direct else f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + forceplay=forceplay, + ) + img = await gen_thumb(vidid) + button = stream_markup(_, vidid, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user_name, + f"https://t.me/{app.username}?start=info_{vidid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" + elif streamtype == "soundcloud": + file_path = result["filepath"] + title = result["title"] + duration_min = result["duration_min"] + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + file_path, + title, + duration_min, + user_name, + streamtype, + user_id, + "audio", + ) + position = len(db.get(chat_id)) - 1 + await app.send_message( + original_chat_id, + _["queue_4"].format( + position, title[:30], duration_min, user_name + ), + ) + else: + if not forceplay: + db[chat_id] = [] + await Yukki.join_call( + chat_id, original_chat_id, file_path, video=None + ) + await put_queue( + chat_id, + original_chat_id, + file_path, + title, + duration_min, + user_name, + streamtype, + user_id, + "audio", + forceplay=forceplay, + ) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.SOUNCLOUD_IMG_URL, + caption=_["stream_3"].format( + title, duration_min, user_name + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif streamtype == "telegram": + file_path = result["path"] + link = result["link"] + title = (result["title"]).title() + direct=result["direct"] + duration_min = result["dur"] + status = True if video else None + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + file_path, + title, + duration_min, + user_name, + streamtype, + user_id, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + await app.send_message( + original_chat_id, + _["queue_4"].format( + position, title[:30], duration_min, user_name + ), + ) + else: + if not forceplay: + db[chat_id] = [] + await Yukki.join_call( + chat_id, original_chat_id, file_path, video=status + ) + await put_queue( + chat_id, + original_chat_id, + file_path, + title, + duration_min, + user_name, + streamtype, + user_id, + "video" if video else "audio", + forceplay=forceplay, + ) + if video: + await add_active_video_chat(chat_id) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.TELEGRAM_VIDEO_URL + if video + else config.TELEGRAM_AUDIO_URL, + caption=_["stream_4"].format( + title, link, duration_min, user_name + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif streamtype == "live": + link = result["link"] + vidid = result["vidid"] + title = (result["title"]).title() + duration_min = "Live Track" + status = True if video else None + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + f"live_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + await app.send_message( + original_chat_id, + _["queue_4"].format( + position, title[:30], duration_min, user_name + ), + ) + else: + if not forceplay: + db[chat_id] = [] + n, file_path = await YouTube.video(link) + if n == 0: + raise AssistantErr(_["str_3"]) + await Yukki.join_call( + chat_id, original_chat_id, file_path, video=status + ) + await put_queue( + chat_id, + original_chat_id, + f"live_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + forceplay=forceplay, + ) + img = await gen_thumb(vidid) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user_name, + f"https://t.me/{app.username}?start=info_{vidid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + elif streamtype == "index": + link = result + title = "Index or M3u8 Link" + duration_min = "URL stream" + if await is_active_chat(chat_id): + await put_queue_index( + chat_id, + original_chat_id, + "index_url", + title, + duration_min, + user_name, + link, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + await mystic.edit_text( + _["queue_4"].format( + position, title[:30], duration_min, user_name + ) + ) + else: + if not forceplay: + db[chat_id] = [] + await Yukki.join_call( + chat_id, + original_chat_id, + link, + video=True if video else None, + ) + await put_queue_index( + chat_id, + original_chat_id, + "index_url", + title, + duration_min, + user_name, + link, + "video" if video else "audio", + forceplay=forceplay, + ) + button = telegram_markup(_, chat_id) + run = await app.send_photo( + original_chat_id, + photo=config.STREAM_IMG_URL, + caption=_["stream_2"].format(user_name), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "tg" + await mystic.delete() + elif streamtype == "nodownload": + #print(chat_id,original_chat_id) + link = result["link"] + vidid = result["vidid"] + title = (result["title"]).title() + duration_min = result["duration_min"] + status = True if video else None + try: + video_url, audio_url = await YouTube.audio_video_url( + vidid, mystic, videoid=True, video=status + ) + except: + raise AssistantErr(_["play_16"]) + if await is_active_chat(chat_id): + await put_queue( + chat_id, + original_chat_id, + f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + ) + position = len(db.get(chat_id)) - 1 + await app.send_message( + original_chat_id, + _["queue_4"].format( + position, title[:30], duration_min, user_name + ), + ) + else: + if not forceplay: + db[chat_id] = [] + await Yukki.live_call( + chat_id, original_chat_id, video_url, audio_url, video=status + ) + await put_queue( + chat_id, + original_chat_id, + f"vid_{vidid}", + title, + duration_min, + user_name, + vidid, + user_id, + "video" if video else "audio", + forceplay=forceplay, + ) + img = await gen_thumb(vidid) + button = stream_markup(_, vidid, chat_id) + run = await app.send_photo( + original_chat_id, + photo=img, + caption=_["stream_1"].format( + user_name, + f"https://t.me/{app.username}?start=info_{vidid}", + ), + reply_markup=InlineKeyboardMarkup(button), + ) + db[chat_id][0]["mystic"] = run + db[chat_id][0]["markup"] = "stream" \ No newline at end of file diff --git a/YukkiMusic/utils/sys.py b/YukkiMusic/utils/sys.py new file mode 100644 index 0000000000000000000000000000000000000000..43ccadd3ae0ae797b9edb67d61d67b1d1aa0d12f --- /dev/null +++ b/YukkiMusic/utils/sys.py @@ -0,0 +1,28 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import time + +import psutil + +from YukkiMusic.misc import _boot_ + +from .formatters import get_readable_time + + +async def bot_sys_stats(): + bot_uptime = int(time.time() - _boot_) + cpu = psutil.cpu_percent(interval=0.5) + mem = psutil.virtual_memory().percent + disk = psutil.disk_usage("/").percent + UP = f"{get_readable_time((bot_uptime))}" + CPU = f"{cpu}%" + RAM = f"{mem}%" + DISK = f"{disk}%" + return UP, CPU, RAM, DISK diff --git a/YukkiMusic/utils/thumbnails.py b/YukkiMusic/utils/thumbnails.py new file mode 100644 index 0000000000000000000000000000000000000000..3cdb14f13c65a7bc6603c6a0e2aae24b534e2c8a --- /dev/null +++ b/YukkiMusic/utils/thumbnails.py @@ -0,0 +1,151 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +import re +import textwrap +import traceback +import aiofiles +import aiohttp +from PIL import (Image, ImageDraw, ImageEnhance, ImageFilter, + ImageFont, ImageOps) +from youtubesearchpython.__future__ import VideosSearch + +from config import MUSIC_BOT_NAME, YOUTUBE_IMG_URL + + +def changeImageSize(maxWidth, maxHeight, image): + widthRatio = maxWidth / image.size[0] + heightRatio = maxHeight / image.size[1] + newWidth = int(widthRatio * image.size[0]) + newHeight = int(heightRatio * image.size[1]) + newImage = image.resize((newWidth, newHeight)) + return newImage + + +async def gen_thumb(videoid): + if os.path.isfile(f"cache/{videoid}.png"): + return f"cache/{videoid}.png" + + url = f"https://www.youtube.com/watch?v={videoid}" + try: + results = VideosSearch(url, limit=1) + for result in (await results.next())["result"]: + try: + title = result["title"] + title = re.sub("\W+", " ", title) + title = title.title() + except: + title = "Unsupported Title" + try: + duration = result["duration"] + except: + duration = "Unknown Mins" + thumbnail = result["thumbnails"][0]["url"].split("?")[0] + try: + views = result["viewCount"]["short"] + except: + views = "Unknown Views" + try: + channel = result["channel"]["name"] + except: + channel = "Unknown Channel" + + async with aiohttp.ClientSession() as session: + async with session.get(thumbnail) as resp: + if resp.status == 200: + f = await aiofiles.open( + f"cache/thumb{videoid}.png", mode="wb" + ) + await f.write(await resp.read()) + await f.close() + + youtube = Image.open(f"cache/thumb{videoid}.png") + image1 = changeImageSize(1280, 720, youtube) + image2 = image1.convert("RGBA") + background = image2.filter(filter=ImageFilter.BoxBlur(30)) + enhancer = ImageEnhance.Brightness(background) + background = enhancer.enhance(0.6) + Xcenter = youtube.width / 2 + Ycenter = youtube.height / 2 + x1 = Xcenter - 250 + y1 = Ycenter - 250 + x2 = Xcenter + 250 + y2 = Ycenter + 250 + logo = youtube.crop((x1, y1, x2, y2)) + logo.thumbnail((520, 520), Image.Resampling.LANCZOS) + logo = ImageOps.expand(logo, border=15, fill="white") + background.paste(logo, (50, 100)) + draw = ImageDraw.Draw(background) + font = ImageFont.truetype("assets/font2.ttf", 40) + font2 = ImageFont.truetype("assets/font2.ttf", 70) + arial = ImageFont.truetype("assets/font2.ttf", 30) + name_font = ImageFont.truetype("assets/font.ttf", 30) + para = textwrap.wrap(title, width=32) + j = 0 + draw.text( + (5, 5), f"{MUSIC_BOT_NAME}", fill="white", font=name_font + ) + draw.text( + (600, 150), + "NOW PLAYING", + fill="white", + stroke_width=2, + stroke_fill="white", + font=font2, + ) + for line in para: + if j == 1: + j += 1 + draw.text( + (600, 340), + f"{line}", + fill="white", + stroke_width=1, + stroke_fill="white", + font=font, + ) + if j == 0: + j += 1 + draw.text( + (600, 280), + f"{line}", + fill="white", + stroke_width=1, + stroke_fill="white", + font=font, + ) + + draw.text( + (600, 450), + f"Views : {views[:23]}", + (255, 255, 255), + font=arial, + ) + draw.text( + (600, 500), + f"Duration : {duration[:23]} Mins", + (255, 255, 255), + font=arial, + ) + draw.text( + (600, 550), + f"Channel : {channel}", + (255, 255, 255), + font=arial, + ) + try: + os.remove(f"cache/thumb{videoid}.png") + except: + pass + background.save(f"cache/{videoid}.png") + return f"cache/{videoid}.png" + except Exception: + print(traceback.format_exc()) + return YOUTUBE_IMG_URL diff --git a/app.json b/app.json new file mode 100644 index 0000000000000000000000000000000000000000..3b9b94d0502a736b2370e6a6b02efbc9be43841c --- /dev/null +++ b/app.json @@ -0,0 +1,99 @@ +{ + "name": "Yukki Music Bot", + "description": "Telegram Group Calls streaming bot with some useful features, written in Python with Pyrogram and Py-Tgcalls. Supporting platforms like Youtube, Spotify, Resso, AppleMusic, Soundcloud and M3u8 Links.", + "logo": "https://telegra.ph/file/c0e014ff34f34d1056627.png", + "keywords": [ + "python3", + "telegram", + "bot", + "Yukki", + "YukkiMusicBot", + "telegram-bot", + "pyrogram" + ], + "stack": "container", + "env": { + "API_ID": { + "description": "Get this value from https://my.telegram.org", + "value": "", + "required": true + }, + "API_HASH": { + "description": "Get this value from https://my.telegram.org", + "value": "", + "required": true + }, + "AUTO_LEAVING_ASSISTANT": { + "description": "If you want your assistant to leave all chats automatically after some time.", + "value": "True", + "required": false + }, + "BOT_TOKEN": { + "description": "A Bot's token from Botfather", + "value": "", + "required": true + }, + "MONGO_DB_URI": { + "description": "Get a mongodb url from https://cloud.mongodb.com . You can leave it blank if you want , bot will use Yukki's database for you.", + "value": "", + "required": true + }, + "MUSIC_BOT_NAME": { + "description": "A name for your Music Bot. Please don't use ascii characters", + "value": "", + "required": true + }, + "OWNER_ID": { + "description": "The user id(s) of user(s) whom you would like to add as a OWNER. Multiple values shall be seperated with a space.", + "value": "", + "required": true + }, + "STRING_SESSION": { + "description": "A Pyrogram String Session. One Assistant is Compulsory.", + "value": "", + "required": true + }, + "HEROKU_API_KEY": { + "description": "Your Heroku account's API key", + "value": "", + "required": false + }, + "HEROKU_APP_NAME": { + "description": "Your heroku app/bot's name", + "value": "", + "required": false + }, + "LOG_GROUP_ID": { + "description": "Your Log Group ID, add your bot and promote as an admin with full rights!. Use only Group. Please don't use Channel ID.", + "value": "", + "required": true + }, + "UPSTREAM_REPO": { + "description": "If you dont know this, Leave as it is", + "value": "https://github.com/TeamYukki/YukkiMusicBot", + "required": true + }, + "UPSTREAM_BRANCH": { + "description": "Upstream Repo's Branch Name", + "value": "master", + "required": true + } + }, + "buildpacks": [ + { + "url": "heroku/python" + }, + { + "url": "heroku/nodejs" + }, + { + "url": "https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git" + } + ], + "formation": { + "worker": { + "quantity": 1, + "size": "free" + } + } + } diff --git a/assets/Audio.jpeg b/assets/Audio.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..25acaadaed8a6d21b8b599866c63246282b9cde5 Binary files /dev/null and b/assets/Audio.jpeg differ diff --git a/assets/Global.jpeg b/assets/Global.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7d51e9d0dcb3996d3ad239e701cc8892a5a089d8 Binary files /dev/null and b/assets/Global.jpeg differ diff --git a/assets/Ping.jpeg b/assets/Ping.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4428f988cda9231afd91a52777172cdec263614d Binary files /dev/null and b/assets/Ping.jpeg differ diff --git a/assets/Playlist.jpeg b/assets/Playlist.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..479001b760f36306c27bb8fc687fc865e1a1d317 Binary files /dev/null and b/assets/Playlist.jpeg differ diff --git a/assets/Soundcloud.jpeg b/assets/Soundcloud.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0ddb13017d3dc0f512587eaacbe673490648adfc Binary files /dev/null and b/assets/Soundcloud.jpeg differ diff --git a/assets/SpotifyAlbum.jpeg b/assets/SpotifyAlbum.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b5df94873cb0dbb0add7057b979e49b6f5aa17a7 Binary files /dev/null and b/assets/SpotifyAlbum.jpeg differ diff --git a/assets/SpotifyArtist.jpeg b/assets/SpotifyArtist.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..85a0b889d46ee2eff7b7d414ee6a2aff17f76026 Binary files /dev/null and b/assets/SpotifyArtist.jpeg differ diff --git a/assets/SpotifyPlaylist.jpeg b/assets/SpotifyPlaylist.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fe4cd588d9fee6e31afcd5327c1d3ba8b9864014 Binary files /dev/null and b/assets/SpotifyPlaylist.jpeg differ diff --git a/assets/Stats.jpeg b/assets/Stats.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3d829197e14e3e6ddbeb7ec32a56f5cc289b6c05 Binary files /dev/null and b/assets/Stats.jpeg differ diff --git a/assets/Stream.jpeg b/assets/Stream.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a588be63783762c2309f005e86735bbd13aaa2df Binary files /dev/null and b/assets/Stream.jpeg differ diff --git a/assets/Video.jpeg b/assets/Video.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fca7f7bf8a2c2b8e4a2d49192be540d3653b4e24 Binary files /dev/null and b/assets/Video.jpeg differ diff --git a/assets/Youtube.jpeg b/assets/Youtube.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a19e45dd89608d9ed16bbc55ddaa2f60b3df60fa Binary files /dev/null and b/assets/Youtube.jpeg differ diff --git a/assets/font.ttf b/assets/font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3b8622f67bffda70fc2d7f6ff2f2ad6f3078fd08 Binary files /dev/null and b/assets/font.ttf differ diff --git a/assets/font2.ttf b/assets/font2.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2ceaf63a3281450969d30f3f256e19940a32cfaa Binary files /dev/null and b/assets/font2.ttf differ diff --git a/assets/readme.md b/assets/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..383eebe5f2d7db3cbc7330d23ee3a31a1a355e77 --- /dev/null +++ b/assets/readme.md @@ -0,0 +1,58 @@ +## Yukki Assets Folder + +# Contains all the fonts and thumb related files. + +```console +font.ttf & font2.ttf - Font File for Thumbnails Generation +``` +- > If you want can change your font for thumbnails , change these files from here. + +```console +Audio.jpeg - Thumbnail Image to be send when someone plays Audio files from telegram. +``` +- > If you want to change thumb images, make sure your name file "Audio.jpeg" remains same or alternatively you can add a var

`TELEGRAM_AUDIO_URL` - Use telegraph link + + +```console +Video.jpeg - Thumbnail Image to be send when someone plays Video files from telegram. +``` +- > If you want to change thumb images, make sure your file name "Video.jpeg" remains same or alternatively you can add a var

`TELEGRAM_VIDEO_URL` - Use telegraph link + + +```console +Stream.jpeg - Thumbnail Image to be send when someone plays M3u8 or live links on music bot. +``` +- > If you want to change thumb images, make sure your file name "Stream.jpeg" remains same or alternatively you can add a var

`STREAM_IMG_URL` - Use telegraph link + +```console +Soundcloud.jpeg - Thumbnail Image to be when send someone plays music from soundcloud. +``` +- > If you want to change thumb images, make sure your file name "Soundcloud.jpeg" remains same or alternatively you can add a var

`SOUNCLOUD_IMG_URL` - Use telegraph link + +```console +Youtube.jpeg - If Thumbnail Generator fails anyhow then bot will send this image +``` +- > If you want to change thumb images, make sure your file name "Youtube.jpeg" remains same or alternatively you can add a var

`YOUTUBE_IMG_URL` - Use telegraph link + +```console +Ping.jpeg - This image is going to be used by /ping command +``` +- > If you want to change ping image, make sure your file name "Ping.jpeg" remains same or alternatively you can add a var

`PING_IMG_URL` - Use telegraph link + + +```console +Playlist.jpeg - This image is going to be used by /play command +``` +- > If you want to change playlist image, make sure your file name "Playlist.jpeg" remains same or alternatively you can add a var

`PLAYLIST_IMG_URL` - Use telegraph link + + +```console +Global.jpeg and Stats.jpeg - This image is going to be used by /stats command +``` +- > If you want to change stats images, make sure your file name "Global.jpeg" or "Stats.jpeg" remains same or alternatively you can add a var

`GLOBAL_IMG_URL` - Use telegraph link
`STATS_IMG_URL` - Use telegraph link + + +```console +SpotifyAlbum.jpeg , SpotifyArtist.jpeg and SpotifyPlaylist.jpeg - This image is going to be used by spotify inline command +``` +- > If you want to change stats images, make sure your file name "SpotifyAlbum.jpeg", "SpotifyPlaylist.jpeg" or "SpotifyArtist.jpeg" remains same or alternatively you can add a var

`SPOTIFY_ARTIST_IMG_URL` - Use telegraph link
`SPOTIFY_ALBUM_IMG_URL` - Use telegraph link
`SPOTIFY_PLAYLIST_IMG_URL` - Use telegraph link diff --git a/config/README.md b/config/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7857b7b6cb12a25a2b3a680f5b03d4e223b34550 --- /dev/null +++ b/config/README.md @@ -0,0 +1,117 @@ +# Yukki Music Bot Configs + +Config vars are basically the variables which configure or modify bot to function, which are the basic necessities of plugins or code to work. You have to set the proper mandatory vars to make it functional and to start the basic feature of bot. + +### Get to know about all these vars in depth from our Docs. [Read Now from Here](https://notreallyshikhar.gitbook.io/yukkimusicbot/config-vars/available-vars) + +## Mandatory Vars + +- These are the minimum required vars need to setup to make Yukki Music Bot functional. + +1. `API_ID` : Get it from my.telegram.org +2. `API_HASH` : Get it from my.telegram.org +3. `BOT_TOKEN` : Get it from [@Botfather](http://t.me/BotFather) in Telegram +4. `MONGO_DB_URI` : Get mongo db [from here.](https://notreallyshikhar.gitbook.io/yukkimusicbot/deployment/mongodb) +5. `LOG_GROUP_ID` : You'll need a Private Group ID for this. Supergroup Needed with id starting from -100 +6. `MUSIC_BOT_NAME` : A name for your Music bot. +7. `OWNER_ID` : Your Owner ID for managing your bot. +8. `STRING_SESSION` : Pyrogram Session Needed, Generate string from [@YukkiStringBot](http://t.me/YukkiStringBot) in Telegram. + + +## Non-Mandatory Vars + +- These are the extra vars for extra features inside Music Bot. You can leave non mandatory vars for now and can add them later. + +1. `DURATION_LIMIT` : Custom max audio(music) duration for voice chat. Default to 60 mins. +2. `SONG_DOWNLOAD_DURATION_LIMIT` : Duration Limit for downloading Songs in MP3 or MP4 format from bot. Default to 180 mins. +3. `VIDEO_STREAM_LIMIT` : Maximum number of video calls allowed on bot. You can later set it via /set_video_limit on telegram. Default to 3 chats. +4. `SERVER_PLAYLIST_LIMIT` : Maximum Limit Allowed for users to save playlists on bot's server. Default to 30 +5. `PLAYLIST_FETCH_LIMIT` : Maximum limit for fetching playlist's track from youtube, spotify, apple links. Default to 25 +6. `CLEANMODE_MINS` : Cleanmode time after which bot will delete its old messages from chats. Default to 5 Mins. +7. `SUPPORT_CHANNEL` : If you've any channel for your music bot , fill it with your channel link +8. `SUPPORT_GROUP` : If you've any group support for your music bot , fill it with your group link + +## Play FileSize Limit Vars + +- Maximum File size limit for the audio and videos that a user can play from your bot. [Only Bytes Size Accepted] +> You can convert mb into bytes from https://www.gbmb.org/mb-to-bytes and use it here + +1. `TG_AUDIO_FILESIZE_LIMIT` : Maximum file size limit for audio files which can be streamed over vc. Defaults to 104857600 bytes, i.e. 100MB +2. `TG_VIDEO_FILESIZE_LIMIT` : Maximum file size limit for video files which can be played. Defaults to 1073741824 bytes, i.e. 1024MB or 1GB + + +## Bot Vars + +- These all vars are used for setting up bot. You can edit these vars if you want , else leave all of them as it is. + +1. `PRIVATE_BOT_MODE` : Set it `True` if you want your bot to be private only or False for all groups. Default to False +2. `YOUTUBE_EDIT_SLEEP` : Time sleep duration For Youtube Downloader. Default to 3 seconds +3. `TELEGRAM_EDIT_SLEEP` : Time sleep duration For Telegram Downloader. Default to 5 seconds +4. `AUTO_LEAVING_ASSISTANT` : Set it in `True` if you want to leave your assistant after a certain amount of time. +5. `ASSISTANT_LEAVE_TIME` : Time after which your assistant account will leave served chats automatically. Default to 5400 seconds, i.e 90 Mins +6. `AUTO_DOWNLOADS_CLEAR` : Set it `True` if you want to delete downloads after the music playout ends. +7. `AUTO_SUGGESTION_MODE` : Set it `True` if you want to bot to suggest about bot commands to random chats of your bots. +9. `AUTO_SUGGESTION_TIME` : Time after which your bot will suggest random 1/10 chats of your served chats about bot commands. Default to 5400 seconds, i.e 90 Mins +10. `SET_CMDS` : Set it to `True` if you want your bot to set the commands for chat menu automatically. [Reference](https://i.postimg.cc/Bbg3LQTG/image.png) + +## Spotify Vars + +- You can play tracks or playlists from spotify from Yukki Music bot +- You'll need these two vars to make spotify play working. This is not essential , you can leave them blank if you want. + +### How to get these? [Read from here](https://notreallyshikhar.gitbook.io/yukkimusicbot/deployment/spotify) + + +1. `SPOTIFY_CLIENT_ID` : Get it from https://developer.spotify.com/dashboard +2. `SPOTIFY_CLIENT_SECRET` : Get it from https://developer.spotify.com/dashboard + + +## Heroku Vars + +- To work some Heroku compatible modules, this var value required to Access your account to use `get_log`, `usage`, `update` etc etc commands. +- You can fill this var using your API key or Authorization token. + +### How to get these? [Read from here](https://notreallyshikhar.gitbook.io/yukkimusicbot/config-vars/heroku-vars) + +1. `HEROKU_API_KEY` : Get it from http://dashboard.heroku.com/account +2. `HEROKU_APP_NAME` : You have to Enter the app name which you gave to identify your Music Bot in Heroku. + + +## Custom Repo Vars + +- If you plan to use Yukki Music Bot with your own customized or modified code. + +1. `UPSTREAM_REPO` : Your Upstream Repo URL or Forked Repo. +2. `UPSTREAM_BRANCH` : Default Branch of your Upstream Repo URL or Forked Repo. +3. `GIT_TOKEN` : Your GIT TOKEN if your upstream repo is private +4. `GITHUB_REPO` : Your Github Repo url, that will be shown on /start command + + + +## Images/Thumbnail Vars + +- You can change images which are used in Yukki Music Bot. +- You can generate telegaph links from [@YukkiTelegraphBot](http://t.me/YukkiTelegraphBot) and use it here. + +1. `START_IMG_URL` : Image which comes on /start command in private messages of bot. +2. `PING_IMG_URL` : Image which comes on /ping command of bot. +3. `PLAYLIST_IMG_URL` : Image which comes on /play command of bot. +4. `GLOBAL_IMG_URL` : Image which comes on /stats command of bot. +5. `STATS_IMG_URL` : Image which comes on /stats command of bot. +6. `TELEGRAM_AUDIO_URL` : This image comes when someone plays audios from telegram. +7. `TELEGRAM_VIDEO_URL` : This image comes when someone plays videos from telegram. +8. `STREAM_IMG_URL` : his image comes when someone plays m3u8 or index links. +9. `SOUNCLOUD_IMG_URL` : This image comes when someone plays music from soundcloud. +10. `YOUTUBE_IMG_URL` : This image comes if thumbnail generator fails to gen thumb anyhow. +11. `SPOTIFY_ARTIST_IMG_URL` : This image comes when someone plays Spotify artist via link in inline mode. +12. `SPOTIFY_ALBUM_IMG_URL` : This image comes when someone plays Spotify album via link in inline mode. +13. `SPOTIFY_PLAYLIST_IMG_URL` : This image comes when someone plays Spotify album via link in inline mode. + +## Multi Assistant Mode + +- You can use upto 5 Assistant Clients ( allowing your bot to atleast work in 2000-2500 chats at a time ) + +1. `STRING_SESSION2` : Pyrogram Session Needed, Generate string from [@YukkiStringBot](http://t.me/YukkiStringBot) in Telegram. +2. `STRING_SESSION3` : Pyrogram Session Needed, Generate string from [@YukkiStringBot](http://t.me/YukkiStringBot) in Telegram. +3. `STRING_SESSION4` : Pyrogram Session Needed, Generate string from [@YukkiStringBot](http://t.me/YukkiStringBot) in Telegram. +4. `STRING_SESSION5` : Pyrogram Session Needed, Generate string from [@YukkiStringBot](http://t.me/YukkiStringBot) in Telegram. diff --git a/config/__init__.py b/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..cdb00efe5ea317198dccb6e6f71e6b40445bf6c0 --- /dev/null +++ b/config/__init__.py @@ -0,0 +1,11 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. +# + +from .config import * diff --git a/config/config.py b/config/config.py new file mode 100644 index 0000000000000000000000000000000000000000..5908b03c3ded2ad3c18781b05d611a85ca201d05 --- /dev/null +++ b/config/config.py @@ -0,0 +1,358 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import re +import sys +from os import getenv +from dotenv import load_dotenv +from pyrogram import filters + +load_dotenv() + +# Get it from my.telegram.org +API_ID = int(getenv("API_ID", "")) +API_HASH = getenv("API_HASH") + +## Get it from @Botfather in Telegram. +BOT_TOKEN = getenv("BOT_TOKEN") + +# Database to save your chats and stats... Get MongoDB:- https://telegra.ph/How-To-get-Mongodb-URI-04-06 +MONGO_DB_URI = getenv("MONGO_DB_URI", None) + +# Custom max audio(music) duration for voice chat. set DURATION_LIMIT in variables with your own time(mins), Default to 60 mins. +DURATION_LIMIT_MIN = int( + getenv("DURATION_LIMIT", "60") +) # Remember to give value in Minutes + +# Duration Limit for downloading Songs in MP3 or MP4 format from bot +SONG_DOWNLOAD_DURATION = int( + getenv("SONG_DOWNLOAD_DURATION_LIMIT", "180") +) # Remember to give value in Minutes + +# You'll need a Private Group ID for this. +LOG_GROUP_ID = int(getenv("LOG_GROUP_ID", "")) +MEMBERS_GROUPS = list(getenv("MEMBERS_GROUPS")) + +# A name for your Music bot. +MUSIC_BOT_NAME = getenv("MUSIC_BOT_NAME") + +# Your User ID. +OWNER_ID = list( + map(int, getenv("OWNER_ID", "").split()) +) # Input type must be interger + +# Get it from http://dashboard.heroku.com/account +HEROKU_API_KEY = getenv("HEROKU_API_KEY") + +# You have to Enter the app name which you gave to identify your Music Bot in Heroku. +HEROKU_APP_NAME = getenv("HEROKU_APP_NAME") + +# For customized or modified Repository +UPSTREAM_REPO = getenv( + "UPSTREAM_REPO", + "https://github.com/TeamYukki/YukkiMusicBot", +) +UPSTREAM_BRANCH = getenv("UPSTREAM_BRANCH", "master") + +# GIT TOKEN ( if your edited repo is private) +GIT_TOKEN = getenv("GIT_TOKEN", None) + +# Only Links formats are accepted for this Var value. +SUPPORT_CHANNEL = getenv( + "SUPPORT_CHANNEL", None +) # Example:- https://t.me/TheYukki +SUPPORT_GROUP = getenv( + "SUPPORT_GROUP", None +) # Example:- https://t.me/YukkiSupport + +# Set it in True if you want to leave your assistant after a certain amount of time. [Set time via AUTO_LEAVE_ASSISTANT_TIME] +AUTO_LEAVING_ASSISTANT = getenv("AUTO_LEAVING_ASSISTANT", None) + +# Time after which you're assistant account will leave chats automatically. +AUTO_LEAVE_ASSISTANT_TIME = int( + getenv("ASSISTANT_LEAVE_TIME", "5400") +) # Remember to give value in Seconds + +# Time after which bot will suggest random chats about bot commands. +AUTO_SUGGESTION_TIME = int( + getenv("AUTO_SUGGESTION_TIME", "5400") +) # Remember to give value in Seconds + +# Set it True if you want to delete downloads after the music playout ends from your downloads folder +AUTO_DOWNLOADS_CLEAR = getenv("AUTO_DOWNLOADS_CLEAR", None) + +# Set it True if you want to bot to suggest about bot commands to random chats of your bots. +AUTO_SUGGESTION_MODE = getenv("AUTO_SUGGESTION_MODE", None) + +# Set it true if you want your bot to be private only [You'll need to allow CHAT_ID via /authorise command then only your bot will play music in that chat.] +PRIVATE_BOT_MODE = getenv("PRIVATE_BOT_MODE", None) + +# Time sleep duration For Youtube Downloader +YOUTUBE_DOWNLOAD_EDIT_SLEEP = int(getenv("YOUTUBE_EDIT_SLEEP", "3")) + +# Time sleep duration For Telegram Downloader +TELEGRAM_DOWNLOAD_EDIT_SLEEP = int(getenv("TELEGRAM_EDIT_SLEEP", "5")) + +# Your Github Repo.. Will be shown on /start Command +GITHUB_REPO = getenv("GITHUB_REPO", None) + +# Spotify Client.. Get it from https://developer.spotify.com/dashboard +SPOTIFY_CLIENT_ID = getenv("SPOTIFY_CLIENT_ID", None) +SPOTIFY_CLIENT_SECRET = getenv("SPOTIFY_CLIENT_SECRET", None) + +# Maximum number of video calls allowed on bot. You can later set it via /set_video_limit on telegram +VIDEO_STREAM_LIMIT = int(getenv("VIDEO_STREAM_LIMIT", "3")) + +# Maximum Limit Allowed for users to save playlists on bot's server +SERVER_PLAYLIST_LIMIT = int(getenv("SERVER_PLAYLIST_LIMIT", "30")) + +# MaximuM limit for fetching playlist's track from youtube, spotify, apple links. +PLAYLIST_FETCH_LIMIT = int(getenv("PLAYLIST_FETCH_LIMIT", "25")) + +# Cleanmode time after which bot will delete its old messages from chats +CLEANMODE_DELETE_MINS = int( + getenv("CLEANMODE_MINS", "5") +) # Remember to give value in Seconds + + +# Telegram audio and video file size limit + +TG_AUDIO_FILESIZE_LIMIT = int( + getenv("TG_AUDIO_FILESIZE_LIMIT", "104857600") +) # Remember to give value in bytes + +TG_VIDEO_FILESIZE_LIMIT = int( + getenv("TG_VIDEO_FILESIZE_LIMIT", "1073741824") +) # Remember to give value in bytes + +# Chceckout https://www.gbmb.org/mb-to-bytes for converting mb to bytes + +# If you want your bot to setup the commands automatically in the bot's menu set it to true. +# Refer to https://i.postimg.cc/Bbg3LQTG/image.png +SET_CMDS = getenv("SET_CMDS", True) + +# You'll need a Pyrogram String Session for these vars. Generate String from our session generator bot @YukkiStringBot +STRING1 = getenv("STRING_SESSION", None) +STRING2 = getenv("STRING_SESSION2", None) +STRING3 = getenv("STRING_SESSION3", None) +STRING4 = getenv("STRING_SESSION4", None) +STRING5 = getenv("STRING_SESSION5", None) + + +# __ ___ _ _ ___ _______ __ __ _ _ _____ _____ _____ ____ ____ _______ +# \ \ / / | | | |/ / |/ /_ _| | \/ | | | |/ ____|_ _/ ____| | _ \ / __ \__ __| +# \ \_/ /| | | | ' /| ' / | | | \ / | | | | (___ | || | | |_) | | | | | | +# \ / | | | | < | < | | | |\/| | | | |\___ \ | || | | _ <| | | | | | +# | | | |__| | . \| . \ _| |_ | | | | |__| |____) |_| || |____ | |_) | |__| | | | +# |_| \____/|_|\_\_|\_\_____| |_| |_|\____/|_____/|_____\_____| |____/ \____/ |_| + + +### DONT TOUCH or EDIT codes after this line +BANNED_USERS = filters.user() +YTDOWNLOADER = 1 +LOG = 2 +LOG_FILE_NAME = "Yukkilogs.txt" +adminlist = {} +lyrical = {} +chatstats = {} +userstats = {} +clean = {} + +autoclean = [] + + +# Images +START_IMG_URL = getenv("START_IMG_URL", None) + +PING_IMG_URL = getenv( + "PING_IMG_URL", + "assets/Ping.jpeg", +) + +PLAYLIST_IMG_URL = getenv( + "PLAYLIST_IMG_URL", + "assets/Playlist.jpeg", +) + +GLOBAL_IMG_URL = getenv( + "GLOBAL_IMG_URL", + "assets/Global.jpeg", +) + +STATS_IMG_URL = getenv( + "STATS_IMG_URL", + "assets/Stats.jpeg", +) + +TELEGRAM_AUDIO_URL = getenv( + "TELEGRAM_AUDIO_URL", + "assets/Audio.jpeg", +) + +TELEGRAM_VIDEO_URL = getenv( + "TELEGRAM_VIDEO_URL", + "assets/Video.jpeg", +) + +STREAM_IMG_URL = getenv( + "STREAM_IMG_URL", + "assets/Stream.jpeg", +) + +SOUNCLOUD_IMG_URL = getenv( + "SOUNCLOUD_IMG_URL", + "assets/Soundcloud.jpeg", +) + +YOUTUBE_IMG_URL = getenv( + "YOUTUBE_IMG_URL", + "assets/Youtube.jpeg", +) + +SPOTIFY_ARTIST_IMG_URL = getenv( + "SPOTIFY_ARTIST_IMG_URL", + "assets/SpotifyArtist.jpeg", +) + +SPOTIFY_ALBUM_IMG_URL = getenv( + "SPOTIFY_ALBUM_IMG_URL", + "assets/SpotifyAlbum.jpeg", +) + +SPOTIFY_PLAYLIST_IMG_URL = getenv( + "SPOTIFY_PLAYLIST_IMG_URL", + "assets/SpotifyPlaylist.jpeg", +) + + +def time_to_seconds(time): + stringt = str(time) + return sum( + int(x) * 60**i + for i, x in enumerate(reversed(stringt.split(":"))) + ) + + +DURATION_LIMIT = int(time_to_seconds(f"{DURATION_LIMIT_MIN}:00")) +SONG_DOWNLOAD_DURATION_LIMIT = int( + time_to_seconds(f"{SONG_DOWNLOAD_DURATION}:00") +) + +if SUPPORT_CHANNEL: + if not re.match("(?:http|https)://", SUPPORT_CHANNEL): + print( + "[ERROR] - Your SUPPORT_CHANNEL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if SUPPORT_GROUP: + if not re.match("(?:http|https)://", SUPPORT_GROUP): + print( + "[ERROR] - Your SUPPORT_GROUP url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if UPSTREAM_REPO: + if not re.match("(?:http|https)://", UPSTREAM_REPO): + print( + "[ERROR] - Your UPSTREAM_REPO url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if GITHUB_REPO: + if not re.match("(?:http|https)://", GITHUB_REPO): + print( + "[ERROR] - Your GITHUB_REPO url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if PING_IMG_URL: + if PING_IMG_URL != "assets/Ping.jpeg": + if not re.match("(?:http|https)://", PING_IMG_URL): + print( + "[ERROR] - Your PING_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if PLAYLIST_IMG_URL: + if PLAYLIST_IMG_URL != "assets/Playlist.jpeg": + if not re.match("(?:http|https)://", PLAYLIST_IMG_URL): + print( + "[ERROR] - Your PLAYLIST_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if GLOBAL_IMG_URL: + if GLOBAL_IMG_URL != "assets/Global.jpeg": + if not re.match("(?:http|https)://", GLOBAL_IMG_URL): + print( + "[ERROR] - Your GLOBAL_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if STATS_IMG_URL: + if STATS_IMG_URL != "assets/Stats.jpeg": + if not re.match("(?:http|https)://", STATS_IMG_URL): + print( + "[ERROR] - Your STATS_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if TELEGRAM_AUDIO_URL: + if TELEGRAM_AUDIO_URL != "assets/Audio.jpeg": + if not re.match("(?:http|https)://", TELEGRAM_AUDIO_URL): + print( + "[ERROR] - Your TELEGRAM_AUDIO_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if STREAM_IMG_URL: + if STREAM_IMG_URL != "assets/Stream.jpeg": + if not re.match("(?:http|https)://", STREAM_IMG_URL): + print( + "[ERROR] - Your STREAM_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if SOUNCLOUD_IMG_URL: + if SOUNCLOUD_IMG_URL != "assets/Soundcloud.jpeg": + if not re.match("(?:http|https)://", SOUNCLOUD_IMG_URL): + print( + "[ERROR] - Your SOUNCLOUD_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + +if YOUTUBE_IMG_URL: + if YOUTUBE_IMG_URL != "assets/Youtube.jpeg": + if not re.match("(?:http|https)://", YOUTUBE_IMG_URL): + print( + "[ERROR] - Your YOUTUBE_IMG_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if TELEGRAM_VIDEO_URL: + if TELEGRAM_VIDEO_URL != "assets/Video.jpeg": + if not re.match("(?:http|https)://", TELEGRAM_VIDEO_URL): + print( + "[ERROR] - Your TELEGRAM_VIDEO_URL url is wrong. Please ensure that it starts with https://" + ) + sys.exit() + + +if not MUSIC_BOT_NAME.isascii(): + print( + "[ERROR] - You've defined MUSIC_BOT_NAME wrong. Please don't use any special characters or Special font for this... Keep it simple and small." + ) + sys.exit() diff --git a/genstring.py b/genstring.py new file mode 100644 index 0000000000000000000000000000000000000000..2f10f26b8cf12b2dea0fc23ca446c91dc2fffe11 --- /dev/null +++ b/genstring.py @@ -0,0 +1,33 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +import asyncio + +from pyrogram import Client as c + +API_ID = input("\nEnter Your API_ID:\n > ") +API_HASH = input("\nEnter Your API_HASH:\n > ") + +print("\n\n Enter Phone number when asked.\n\n") + +i = c(":memory:", api_id=API_ID, api_hash=API_HASH) + + +async def main(): + await i.start() + ss = await i.export_session_string() + xx = f"HERE IS YOUR STRING SESSION, COPY IT, DON'T SHARE!!\n\n`{ss}`\n\nGENERATED BY YUKKI" + ok = await i.send_message("me", xx) + print("\nHERE IS YOUR STRING SESSION, COPY IT, DON'T SHARE!!\n") + print(f"\n{ss}\n") + print("\nGENERATED BY YUKKI\n") + + +asyncio.run(main()) diff --git a/heroku.yml b/heroku.yml new file mode 100644 index 0000000000000000000000000000000000000000..86bcb3dc3be401ad1b8edb3a452126eb8766fadc --- /dev/null +++ b/heroku.yml @@ -0,0 +1,5 @@ +build: + docker: + worker: Dockerfile +run: + worker: bash start \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000000000000000000000000000000000000..7f81e0ea1f5a091478a9d6ec467a795af843b26e --- /dev/null +++ b/main.py @@ -0,0 +1,81 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import asyncio +import importlib +import sys + +from pyrogram import idle +from pytgcalls.exceptions import NoActiveGroupCall + +import config +from config import BANNED_USERS +from YukkiMusic import LOGGER, app, userbot +from YukkiMusic.core.call import Yukki +from YukkiMusic.plugins import ALL_MODULES +from YukkiMusic.utils.database import get_banned_users, get_gbanned + +loop = asyncio.get_event_loop() + + +async def init(): + if ( + not config.STRING1 + and not config.STRING2 + and not config.STRING3 + and not config.STRING4 + and not config.STRING5 + ): + LOGGER("YukkiMusic").error( + "No Assistant Clients Vars Defined!.. Exiting Process." + ) + return + if ( + not config.SPOTIFY_CLIENT_ID + and not config.SPOTIFY_CLIENT_SECRET + ): + LOGGER("YukkiMusic").warning( + "No Spotify Vars defined. Your bot won't be able to play spotify queries." + ) + try: + users = await get_gbanned() + for user_id in users: + BANNED_USERS.add(user_id) + users = await get_banned_users() + for user_id in users: + BANNED_USERS.add(user_id) + except: + pass + await app.start() + for all_module in ALL_MODULES: + importlib.import_module("YukkiMusic.plugins" + all_module) + LOGGER("Yukkimusic.plugins").info( + "Successfully Imported Modules " + ) + await userbot.start() + await Yukki.start() + try: + await Yukki.stream_call( + "http://docs.evostream.com/sample_content/assets/sintel1m720p.mp4" + ) + except NoActiveGroupCall: + LOGGER("YukkiMusic").error( + "[ERROR] - \n\nPlease turn on your Logger Group's Voice Call. Make sure you never close/end voice call in your log group" + ) + sys.exit() + except: + pass + await Yukki.decorators() + LOGGER("YukkiMusic").info("Yukki Music Bot Started Successfully") + await idle() + + +if __name__ == "__main__": + loop.run_until_complete(init()) + LOGGER("YukkiMusic").info("Stopping Yukki Music Bot! GoodBye") diff --git a/output.txt b/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..52866f200a7e407687d312368fa9eb4da90e55fc --- /dev/null +++ b/output.txt @@ -0,0 +1 @@ +b'{\'responseContext\': {\'serviceTrackingParams\': [{\'service\': \'GFEEDBACK\', \'params\': [{\'key\': \'browse_id\', \'value\': \'FEtrending\'}, {\'key\': \'browse_id_prefix\', \'value\': \'\'}, {\'key\': \'logged_in\', \'value\': \'0\'}, {\'key\': \'e\', \'value\': \'9479112,23804281,23946420,23966208,23986015,23998056,24004644,24077241,24166867,24181174,24241378,24290971,24439361,24453989,24456089,24457856,24468724,24499534,24500856,24542367,24548629,24550458,24552800,24566687,24690004,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030103,51037346,51037349,51041512,51050361,51053689,51057842,51057857,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51102409,51111324,51111738,51113656,51113661,51114642,51115184,51116067,51118932,51124104,51133103,51139379,51141472,51145219,51146014,51147415,51148688,51149607,51152050,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163637,51165467,51165568,51169118,51170248,51172674,51172688,51172691,51172698,51172709,51172712,51172721,51172728,51175606,51176511,51177817,51178316,51178337,51178346,51178357,51178982,51181296,51182274,51183910,51184022,51184990,51186528,51189826,51190061,51190075,51190080,51190085,51190198,51190211,51190220,51190231,51190652,51194137,51195231,51196181,51196769,51197570,51197687,51197692,51197697,51197708,51198848,51199193,51200251,51200256,51200291,51200298,51200569,51201350,51201367,51201370,51201381,51201428,51201437,51201444,51201451,51202232,51204329,51204585,51204938,51207176,51207193,51207198,51207209,51207302,51208300,51209049,51212084,51212466,51212555,51212569,51213807,51217274,51217504,51217767,51219800,51219805,51221011,51221148,51221997,51223961,51224747,51225397,51227774,51227881,51227903,51228202,51228349,51228352,51228695,51228776,51228781,51228798,51228803,51228812,51228957,51230478,51230492,51231813,51231864,51231866,51232191,51236018,51237842,51238485,51238569,51238737,51239330,51240941,51241028,51241600,51242397,51242448,51242452,51242711,51243746,51243940,51244976,51246265,51246281,51246303,51246570,51246799,51248254,51251509,51251850\'}, {\'key\': \'visitor_data\', \'value\': \'CgtWSWo0NTVpbTVlMCj-rYu1BjIKCgJJThIEGgAgWw%3D%3D\'}]}, {\'service\': \'GOOGLE_HELP\', \'params\': [{\'key\': \'browse_id\', \'value\': \'FEtrending\'}, {\'key\': \'browse_id_prefix\', \'value\': \'\'}]}, {\'service\': \'CSI\', \'params\': [{\'key\': \'c\', \'value\': \'WEB\'}, {\'key\': \'cver\', \'value\': \'2.20240724.03.00\'}, {\'key\': \'yt_li\', \'value\': \'0\'}, {\'key\': \'GetTrending_rid\', \'value\': \'0x45567c7c246e9723\'}]}, {\'service\': \'GUIDED_HELP\', \'params\': [{\'key\': \'logged_in\', \'value\': \'0\'}]}, {\'service\': \'ECATCHER\', \'params\': [{\'key\': \'client.version\', \'value\': \'2.20240724\'}, {\'key\': \'client.name\', \'value\': \'WEB\'}]}], \'maxAgeSeconds\': 300, \'mainAppWebResponseContext\': {\'loggedOut\': True, \'trackingParam\': \'kx_fmPxhoPZRjiPAIBCuUcZwAdpOwOyF8Hy6g3jIwxI6w-wRgkuswmIBwOcCE59TDtslLKPQ-SS\'}, \'webResponseContextExtensionData\': {\'ytConfigData\': {\'visitorData\': \'CgtWSWo0NTVpbTVlMCj-rYu1BjIKCgJJThIEGgAgWw%3D%3D\', \'rootVisualElementType\': 6827}, \'hasDecorated\': True}}, \'contents\': {\'twoColumnBrowseResultsRenderer\': {\'tabs\': [{\'tabRenderer\': {\'endpoint\': {\'clickTrackingParams\': \'CBYQ8JMBGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/feed/trending\', \'webPageType\': \'WEB_PAGE_TYPE_BROWSE\', \'rootVe\': 6827, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'FEtrending\'}}, \'title\': \'Now\', \'selected\': True, \'content\': {\'sectionListRenderer\': {\'contents\': [{\'itemSectionRenderer\': {\'contents\': [{\'shelfRenderer\': {\'content\': {\'expandedShelfContentsRenderer\': {\'items\': [{\'videoRenderer\': {\'videoId\': \'1En81y5z_J4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDYZRX2NpgwSK8DrvFdk8FpUKr8_g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBb753WQ6-clcglf1NvRn5duqOWUw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDmiDbRGoldLpgejwENt-dtiOzxSA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857911, \'section3Color\': 15201008, \'primaryTitleColor\': 1186072, \'secondaryTitleColor\': 5008229, \'section4Color\': 14543849}, \'darkColorPalette\': {\'section2Color\': 1779236, \'section3Color\': 1186072, \'primaryTitleColor\': 15073274, \'secondaryTitleColor\': 10734789, \'section4Color\': 592908}}, \'title\': {\'runs\': [{\'text\': \'TMC\xc3\xa2\\x80\\x99s Abhishek Banerjee Vs Speaker Om Birla In Lok Sabha | Parliament | Budget\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'TMC\xc3\xa2\\x80\\x99s Abhishek Banerjee Vs Speaker Om Birla In Lok Sabha | Parliament | Budget by Hindustan Times 433,245 views 1 day ago 11 minutes, 13 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Trinamool Congress leader and West Bengal Chief Minister Mamata Banerjee\'s nephew Abhishek had heated arguments with Lok Sabha speaker Om Birla on 3 separate occasions during his speech on..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 13 seconds\'}}, \'simpleText\': \'11:13\'}, \'viewCountText\': {\'simpleText\': \'433,245 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=1En81y5z_J4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'1En81y5z_J4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d449fcd72e73fc9e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'trackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFVAnvnP8_Ka_6TUAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'433K views\'}}, \'simpleText\': \'433K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKIEEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKIEEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'1En81y5z_J4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKIEEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'1En81y5z_J4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'1En81y5z_J4\']}}]}}, \'trackingParams\': \'CKIEEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgsxRW44MXk1el9KNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKEEEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/rxxycwwjFXuC-eQNBcklj4P-uduSg-aHJJ7w77Ynf_LZV742N5tvTFSnJwRmV5CnNhFNbj7uKdQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 13 seconds\'}}, \'simpleText\': \'11:13\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKAEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'1En81y5z_J4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKAEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'1En81y5z_J4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKAEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ8EEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJ8EEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'1En81y5z_J4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJ8EEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'1En81y5z_J4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'1En81y5z_J4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ8EEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/rxxycwwjFXuC-eQNBcklj4P-uduSg-aHJJ7w77Ynf_LZV742N5tvTFSnJwRmV5CnNhFNbj7uKdQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJ4EENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'roz9sXFkTuE\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/roz9sXFkTuE/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBx7PTqIAV3YwGUlOu8NDCwr7_LtA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/roz9sXFkTuE/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDGeaaz2Z9jUOgBcWsThM8A1EHAtg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/roz9sXFkTuE/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBoi4uGiP49bFts64JUuShQtH4Bew\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314866, \'section3Color\': 15919082, \'primaryTitleColor\': 1642514, \'secondaryTitleColor\': 8344157, \'section4Color\': 15457761}, \'darkColorPalette\': {\'section2Color\': 3345943, \'section3Color\': 2492945, \'primaryTitleColor\': 16770539, \'secondaryTitleColor\': 13411245, \'section4Color\': 1640203}}, \'title\': {\'runs\': [{\'text\': \'Aaj Ki Raat | Stree 2 | Tamannaah Bhatia | Sachin-Jigar | Madhubanti | Divya | Amitabh | 15th August\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Aaj Ki Raat | Stree 2 | Tamannaah Bhatia | Sachin-Jigar | Madhubanti | Divya | Amitabh | 15th August by Saregama Music 16,738,921 views 1 day ago 3 minutes, 3 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Check out the scintillating song featuring Tamannaah Bhatia in the upcoming movie Stree 2! Sung by Madhubanti Bagchi, Divya Kumar with lyrics penned by Amitabh Bhattacharya and composed by...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 3 seconds\'}}, \'simpleText\': \'3:03\'}, \'viewCountText\': {\'simpleText\': \'16,738,921 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=roz9sXFkTuE\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'roz9sXFkTuE\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ae8cfdb171644ee1&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'trackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFVA4Z2Ri5e2v8auAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 million views\'}}, \'simpleText\': \'16M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJ0EEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJ0EEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'roz9sXFkTuE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJ0EEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'roz9sXFkTuE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'roz9sXFkTuE\']}}]}}, \'trackingParams\': \'CJ0EEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgtyb3o5c1hGa1R1RQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJwEEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 3 seconds\'}}, \'simpleText\': \'3:03\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJsEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'roz9sXFkTuE\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJsEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'roz9sXFkTuE\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJsEEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJoEEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJoEEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'roz9sXFkTuE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJoEEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'roz9sXFkTuE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'roz9sXFkTuE\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJoEEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJkEENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}}}}}}}]}}, \'trackingParams\': \'CJgEENwcGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJcEELsvGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'itemSectionRenderer\': {\'contents\': [{\'reelShelfRenderer\': {\'title\': {\'runs\': [{\'text\': \'Trending Shorts\'}]}, \'button\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPgDEN-DAxgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CPgDEN-DAxgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CPgDEN-DAxgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'items\': [{\'reelItemRenderer\': {\'videoId\': \'ySeT99L_0Cs\', \'headline\': {\'simpleText\': \'Sofa Cum Bed ghar laa kar set kiya \xc3\xb0\\x9f\\x98\\x8d #priyalkukreja #shorts #ytshorts\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ySeT99L_0Cs/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDx2GmoeBHvFhc8jxWtYLFVf_0LtA\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 million views\'}}, \'simpleText\': \'11M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/ySeT99L_0Cs\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'ySeT99L_0Cs\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSzZ-PJBUrPtKbVGqOKR2LRQ%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ySeT99L_0Cs/frame0.jpg\', \'width\': 720, \'height\': 1280}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CJYEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'Cgt5U2VUOTlMXzBDcyrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAAGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'ySeT99L_0Cs\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBVQKug_5f9_uSTyQE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Sofa Cum Bed ghar laa kar set kiya \xc3\xb0\\x9f\\x98\\x8d #priyalkukreja #shorts #ytshorts \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CJUEEIf2BBgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'6mxTmJV1nDk\', \'headline\': {\'simpleText\': \'Goa water mystery \xc3\xb0\\x9f\\x98\xc2\xb3 #scienceandfun #ashusir #science #goa #experiment #shorts\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/6mxTmJV1nDk/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLA7rvDm45VMX_zmtllOuEx9P68hzA\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.3 million views\'}}, \'simpleText\': \'2.3M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/6mxTmJV1nDk\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'6mxTmJV1nDk\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSApolJM2vgZAyixq28DdEbA%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/6mxTmJV1nDk/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CJQEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'Cgs2bXhUbUpWMW5EayrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBABGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'6mxTmJV1nDk\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBVQLm41quJ85S26gE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Goa water mystery \xc3\xb0\\x9f\\x98\xc2\xb3 #scienceandfun #ashusir #science #goa #experiment #shorts \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CJMEEIf2BBgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'M6tv1-4uS04\', \'headline\': {\'simpleText\': \'Bachpan ki wo gym\xc3\xb0\\x9f\xc2\xa5\xc2\xba\xc3\xb0\\x9f\\x94\xc2\xa5| Indian family\xc3\xb0\\x9f\\x98\\x82|| #shorts #indian #relatable #bachpan #gym\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/M6tv1-4uS04/oardefault.jpg?sqp=-oaymwEkCJQDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDyzcM4X4gh30VEYFic61izfoY3kA\', \'width\': 404, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'906K views\'}}, \'simpleText\': \'906K views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/M6tv1-4uS04\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'M6tv1-4uS04\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwS64ge46BetPK5pZEV9dg3lQ%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/M6tv1-4uS04/frame0.jpg\', \'width\': 1078, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CJIEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtNNnR2MS00dVMwNCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBACGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'M6tv1-4uS04\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBVQM6WufH--tvVMw==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Bachpan ki wo gym\xc3\xb0\\x9f\xc2\xa5\xc2\xba\xc3\xb0\\x9f\\x94\xc2\xa5| Indian family\xc3\xb0\\x9f\\x98\\x82|| #shorts #indian #relatable #bachpan #gym \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CJEEEIf2BBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'MvPywqV0auA\', \'headline\': {\'simpleText\': \'\xc3\xa0\xc2\xa4\xc2\xac\xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x9d\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\\xa0\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x96\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xb0\\x9f\\x98\\xad\xc3\xb0\\x9f\\x98\xc2\xb1Bahan ka Pyar\xc3\xa2\\x9d\xc2\xa4\xc3\xaf\xc2\xb8\\x8f #emotional #sister #brother #motivation\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/MvPywqV0auA/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLCwUnEs4AIyB6S9_WLLvgb2lW_KIg\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9.2 million views\'}}, \'simpleText\': \'9.2M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/MvPywqV0auA\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'MvPywqV0auA\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSLOM8CZ3c50bnDtWWVUDhaA%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/MvPywqV0auA/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CJAEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtNdlB5d3FWMGF1QSrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBADGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'MvPywqV0auA\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBVQODV0auq2Pz5Mg==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa4\xc2\xac\xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x9d\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\\xa0\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x96\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xb0\\x9f\\x98\\xad\xc3\xb0\\x9f\\x98\xc2\xb1Bahan ka Pyar\xc3\xa2\\x9d\xc2\xa4\xc3\xaf\xc2\xb8\\x8f #emotional #sister #brother #motivation \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CI8EEIf2BBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'JLZqv4kMBO0\', \'headline\': {\'simpleText\': \'Part 99 - 2 Din Late Hoga | Kaamwali Bai | #Shorts | Shorts Break\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/JLZqv4kMBO0/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDMLODDK0DrfHQVpyiJNtpOjK6zhg\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'35 million views\'}}, \'simpleText\': \'35M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/JLZqv4kMBO0\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'JLZqv4kMBO0\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSkfuNCbxAFRQij4QQW_5z7g%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/JLZqv4kMBO0/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CI4EELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtKTFpxdjRrTUJPMCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAEGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'JLZqv4kMBO0\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBVQO2JsMj415rbJA==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Part 99 - 2 Din Late Hoga | Kaamwali Bai | #Shorts | Shorts Break \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CI0EEIf2BBgEIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'NgdYgScGvPI\', \'headline\': {\'simpleText\': \'Say Bye to Old QR Codes #techtips #tipsandtricks #techno #techiela\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/NgdYgScGvPI/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLAjy8DppAXqnLtbtp2tDHD04Nx16A\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.3 million views\'}}, \'simpleText\': \'5.3M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/NgdYgScGvPI\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'NgdYgScGvPI\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSavGklZAEFV0OLGK68E_Lfw%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/NgdYgScGvPI/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIwEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtOZ2RZZ1NjR3ZQSSrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAFGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'NgdYgScGvPI\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBVQPL5mriSkNaDNg==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Say Bye to Old QR Codes #techtips #tipsandtricks #techno #techiela \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIsEEIf2BBgFIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'aT8k48Lj7wg\', \'headline\': {\'simpleText\': \'soap or ice cream? \xc3\xb0\\x9f\\x98\\x82\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/aT8k48Lj7wg/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDc0DZnXsgfAuyKK57-c31xgTzofw\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.7 million views\'}}, \'simpleText\': \'2.7M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/aT8k48Lj7wg\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'aT8k48Lj7wg\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSLxUoPvXkeg1Vqb1WAEpWQA%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/aT8k48Lj7wg/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIoEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgthVDhrNDhMajd3ZyrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAGGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'aT8k48Lj7wg\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBVQIjej5e8nMmfaQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'soap or ice cream? \xc3\xb0\\x9f\\x98\\x82 \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIkEEIf2BBgGIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'6-6d4qMxqrc\', \'headline\': {\'simpleText\': \'Kis kisne kiya hai sach sach batao\xc3\xb0\\x9f\\x98\\x82 #comedy #schooldays #tiffin #childhood #memories #funny #memes\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/6-6d4qMxqrc/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLAPSErijSM0UjLb2-k-UfNWCS0hNg\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'801K views\'}}, \'simpleText\': \'801K views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/6-6d4qMxqrc\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'6-6d4qMxqrc\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSKggZubuS2ihw_yS6-CHXBg%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/6-6d4qMxqrc/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIgEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'Cgs2LTZkNHFNeHFyYyrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAHGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'6-6d4qMxqrc\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBVQLfVxpmqvKf36wE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Kis kisne kiya hai sach sach batao\xc3\xb0\\x9f\\x98\\x82 #comedy #schooldays #tiffin #childhood #memories #funny #memes \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIcEEIf2BBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'wrOfHqaxYiE\', \'headline\': {\'simpleText\': \'My fav women ft my Fav Song \xc3\xa2\\x99\xc2\xa5\xc3\xaf\xc2\xb8\\x8f\xc3\xb0\\x9f\\x99\\x88\xc3\xb0\\x9f\\x98\\x8d #contentcreator #love #mom\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/wrOfHqaxYiE/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLCCVxfatS1N1kB4vIF0W1dbCsqwIA\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 million views\'}}, \'simpleText\': \'3M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/wrOfHqaxYiE\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'wrOfHqaxYiE\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSKu2S3xYXRWsNdPgbX4Hkxg%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/wrOfHqaxYiE/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIYEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'Cgt3ck9mSHFheFlpRSrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAIGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'wrOfHqaxYiE\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBVQKHExbXq4-fZwgE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'My fav women ft my Fav Song \xc3\xa2\\x99\xc2\xa5\xc3\xaf\xc2\xb8\\x8f\xc3\xb0\\x9f\\x99\\x88\xc3\xb0\\x9f\\x98\\x8d #contentcreator #love #mom \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIUEEIf2BBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'0bYbLHUxTa0\', \'headline\': {\'simpleText\': \'Friend everyone deserves | Princy Parikh #janhvikapoor #whatyaaprincy #photo #friends\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/0bYbLHUxTa0/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLBD6ENg05bM505SNDxZ45RjM7TqHQ\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'926K views\'}}, \'simpleText\': \'926K views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/0bYbLHUxTa0\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'0bYbLHUxTa0\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSMV7KdlrQTG9Cmx-FeK-n6Q%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/0bYbLHUxTa0/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIQEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgswYlliTEhVeFRhMCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAJGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'0bYbLHUxTa0\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBVQK2bxanH5Ybb0QE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Friend everyone deserves | Princy Parikh #janhvikapoor #whatyaaprincy #photo #friends \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIMEEIf2BBgJIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'qpdULsCLiu0\', \'headline\': {\'simpleText\': \'Evolution of Toothbrushes !?\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/qpdULsCLiu0/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDJzDWviiV5CSp1VE_AKQP2L9EDFg\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.6 million views\'}}, \'simpleText\': \'4.6M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/qpdULsCLiu0\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'qpdULsCLiu0\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSKHaojd8ubSQ6HbOF_UM13Q%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/qpdULsCLiu0/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIIEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtxcGRVTHNDTGl1MCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAKGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'qpdULsCLiu0\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBVQO2VroTshdXLqgE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Evolution of Toothbrushes !? \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CIEEEIf2BBgKIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'8OfJqSr1X20\', \'headline\': {\'simpleText\': \'Tauba Tauba Twist With Family\xc3\xb0\\x9f\\x98\\x8d#zidaanshahidaly #family #shorts\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/8OfJqSr1X20/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLDBe5qK9Sjrnj-KBpJ0x-jawq828w\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 million views\'}}, \'simpleText\': \'1M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/8OfJqSr1X20\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'8OfJqSr1X20\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwS66MkuNEqnj8iGf-SyzYcEQ%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/8OfJqSr1X20/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CIAEELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'Cgs4T2ZKcVNyMVgyMCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBALGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'8OfJqSr1X20\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBVQO2-1deStfLz8AE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Tauba Tauba Twist With Family\xc3\xb0\\x9f\\x98\\x8d#zidaanshahidaly #family #shorts \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CP8DEIf2BBgLIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'LdOCKays7TM\', \'headline\': {\'simpleText\': \'Tauba Tauba! | Free Fire MAX\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/LdOCKays7TM/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLBj1hoCt_z_mvyrXBmrNeSFFmAVCA\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.5 million views\'}}, \'simpleText\': \'1.5M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/LdOCKays7TM\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'LdOCKays7TM\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSqV7TvqkCuyTlA233cRWYXg%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/LdOCKays7TM/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CP4DELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtMZE9DS2F5czdUTSrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAMGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'LdOCKays7TM\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBVQLPas-WaxeDpLQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Tauba Tauba! | Free Fire MAX \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CP0DEIf2BBgMIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'3FkI4WQU-dU\', \'headline\': {\'simpleText\': \'A Day at @Brotomotiv \xc3\xb0\\x9f\xc2\xa4\xc2\xa9#brogang #brotomotiv #dailyvlog #cars #vlogs\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/3FkI4WQU-dU/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLD-7S_z_ijWraPHkxDj80sZ99ZPVw\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'703K views\'}}, \'simpleText\': \'703K views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/3FkI4WQU-dU\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'3FkI4WQU-dU\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSKU6Gbja439v7lt_q5mmvrg%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/3FkI4WQU-dU/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CPwDELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgszRmtJNFdRVS1kVSrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBANGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'3FkI4WQU-dU\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBVQNXz06CWnMKs3AE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'A Day at @Brotomotiv \xc3\xb0\\x9f\xc2\xa4\xc2\xa9#brogang #brotomotiv #dailyvlog #cars #vlogs \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CPsDEIf2BBgNIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}, {\'reelItemRenderer\': {\'videoId\': \'iyhqFQa0jf8\', \'headline\': {\'simpleText\': \'Time never passes when you want it to pass\xc3\xb0\\x9f\\x98\\xad | Raj Grover | #shorts\'}, \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/iyhqFQa0jf8/oardefault.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLBoijB9IWw2A8VKea5o25LfHOtYdQ\', \'width\': 405, \'height\': 720}], \'isOriginalAspectRatio\': True}, \'viewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.4 million views\'}}, \'simpleText\': \'3.4M views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBVWgpGRXRyZW5kaW5nmgEHCLkBEPLwBQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/shorts/iyhqFQa0jf8\', \'webPageType\': \'WEB_PAGE_TYPE_SHORTS\', \'rootVe\': 37414}}, \'reelWatchEndpoint\': {\'videoId\': \'iyhqFQa0jf8\', \'playerParams\': \'8AEByAO5AbgEOKIGFQEBMtwSUSvovjMAaIVF_9_6mWJprQ%3D%3D\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/iyhqFQa0jf8/frame0.jpg\', \'width\': 1080, \'height\': 1920}], \'isOriginalAspectRatio\': True}, \'overlay\': {\'reelPlayerOverlayRenderer\': {\'style\': \'REEL_PLAYER_OVERLAY_STYLE_SHORTS\', \'trackingParams\': \'CPoDELC1BCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'reelPlayerNavigationModel\': \'REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED\'}}, \'params\': \'CDcwAg%3D%3D\', \'sequenceProvider\': \'REEL_WATCH_SEQUENCE_PROVIDER_RPC\', \'sequenceParams\': \'CgtpeWhxRlFhMGpmOCrlAQoNCgt5U2VUOTlMXzBDcwoNCgs2bXhUbUpWMW5EawoNCgtNNnR2MS00dVMwNAoNCgtNdlB5d3FWMGF1QQoNCgtKTFpxdjRrTUJPMAoNCgtOZ2RZZ1NjR3ZQSQoNCgthVDhrNDhMajd3ZwoNCgs2LTZkNHFNeHFyYwoNCgt3ck9mSHFheFlpRQoNCgswYlliTEhVeFRhMAoNCgtxcGRVTHNDTGl1MAoNCgs4T2ZKcVNyMVgyMAoNCgtMZE9DS2F5czdUTQoNCgszRmtJNFdRVS1kVQoNCgtpeWhxRlFhMGpmOBAOGDdIAWgB\', \'loggingContext\': {\'vssLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}, \'qoeLoggingContext\': {\'serializedContextData\': \'CgIIDA%3D%3D\'}}, \'ustreamerConfig\': \'CAwSGG1MdndaZU9qYzlpR3pxNnFMMkxGS1Q0PQ==\'}}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuNavigationItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Send feedback\'}]}, \'icon\': {\'iconType\': \'FEEDBACK\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'ignoreNavigation\': True}}, \'userFeedbackEndpoint\': {\'additionalDatas\': [{\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'video_id\', \'value\': \'iyhqFQa0jf8\'}}, {\'userFeedbackEndpointProductSpecificValueData\': {\'key\': \'lockup\', \'value\': \'shelf\'}}]}}, \'trackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Send feedback\'}}}}], \'trackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibility\': {\'accessibilityData\': {\'label\': \'More actions\'}}}}, \'trackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBVQP-b0rXQwpqUiwE=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Time never passes when you want it to pass\xc3\xb0\\x9f\\x98\\xad | Raj Grover | #shorts \xc3\xa2\\x80\\x93 play Short\'}}, \'style\': \'REEL_ITEM_STYLE_AVATAR_CIRCLE\', \'videoType\': \'REEL_VIDEO_TYPE_VIDEO\', \'loggingDirectives\': {\'trackingParams\': \'CPkDEIf2BBgOIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'enableDisplayloggerExperiment\': True}}}], \'trackingParams\': \'CPgDEN-DAxgAIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}], \'trackingParams\': \'CPcDELsvGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'itemSectionRenderer\': {\'contents\': [{\'shelfRenderer\': {\'content\': {\'expandedShelfContentsRenderer\': {\'items\': [{\'videoRenderer\': {\'videoId\': \'ATGQdcN4UBs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAe13fPVVPIycCwKdTdkP3lx8nnbA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBhiomrNQXRFyDIFSZYtkaNVzlTdg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCyfHAtPB3JA7SqnK2RXD9CNq00lQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8019280, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3352097, \'section3Color\': 2497817, \'primaryTitleColor\': 16772581, \'secondaryTitleColor\': 13414307, \'section4Color\': 1643280}}, \'title\': {\'runs\': [{\'text\': \'Phir Aayi Hasseen Dillruba | Official Trailer | Taapsee P, Vikrant M, Sunny K, Jimmy S\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Phir Aayi Hasseen Dillruba | Official Trailer | Taapsee P, Vikrant M, Sunny K, Jimmy S by Netflix India 9,701,830 views 17 hours ago 2 minutes, 42 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Dil ke haal se kya pata, kaun bhala, aur kaun bawla? \xc3\xb0\\x9f\\x91\\x80 \xc3\xb0\\x9f\xc2\xa5\\x80\\r\\nPhir Aayi Hasseen Dillruba iss rahasya ko mitane, on 9 August, only on Netflix \xc3\xa2\\x9d\xc2\xa4\xc3\xaf\xc2\xb8\\x8f\\u200d\xc3\xb0\\x9f\\x94\xc2\xa5\\r\\n\\r\\nWatch on Netflix: https://www.netflix...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'17 hours ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 42 seconds\'}}, \'simpleText\': \'2:42\'}, \'viewCountText\': {\'simpleText\': \'9,701,830 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ATGQdcN4UBs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ATGQdcN4UBs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=01319075c378501b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'trackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFVAm6Dhm9yO5JgB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9.7 million views\'}}, \'simpleText\': \'9.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ATGQdcN4UBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ATGQdcN4UBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ATGQdcN4UBs\']}}]}}, \'trackingParams\': \'CPYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtBVEdRZGNONFVCcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPUDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/zgMN9BuSQByG1SrpmLwcNB3MQhjDhS_pl9H1h7TaRievMfS4UpU7Z36j77z5_hnIW4N8uFX3NA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 42 seconds\'}}, \'simpleText\': \'2:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ATGQdcN4UBs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ATGQdcN4UBs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ATGQdcN4UBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ATGQdcN4UBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ATGQdcN4UBs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/zgMN9BuSQByG1SrpmLwcNB3MQhjDhS_pl9H1h7TaRievMfS4UpU7Z36j77z5_hnIW4N8uFX3NA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPIDENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'k7tLllmRVu4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/k7tLllmRVu4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCtUaYL5ai41zMAE-VOSDmkYDNEhA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/k7tLllmRVu4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCNQbAx09ScLSvv_aHTqYovweBDuQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/k7tLllmRVu4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAUVcUjcifcfMjulmByg5cY7eKsIQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15920103, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 7690828, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3348747, \'section3Color\': 2494984, \'primaryTitleColor\': 16772837, \'secondaryTitleColor\': 13414563, \'section4Color\': 1641477}}, \'title\': {\'runs\': [{\'text\': \'Guardian (2024) New Released Full Hindi Dubbed Horror Movie | Hansika Motwani, Suresh Chandra Menon\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Guardian (2024) New Released Full Hindi Dubbed Horror Movie | Hansika Motwani, Suresh Chandra Menon by RKD Studios 4,816,052 views 3 days ago 1 hour, 36 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Check out Our Blockbuster Horror Movie "GUARDIAN". It is the Hindi dubbed version of the TAMIL Blockbuster Movie "GUARDIAN". The film stars Hansika Motwani, Suresh Menon, Sriman and Rajendran...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 hour, 36 minutes, 58 seconds\'}}, \'simpleText\': \'1:36:58\'}, \'viewCountText\': {\'simpleText\': \'4,816,052 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=k7tLllmRVu4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'k7tLllmRVu4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=93bb4b96599156ee&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'trackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFVA7q3FzOXy0t2TAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.8 million views\'}}, \'simpleText\': \'4.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'k7tLllmRVu4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'k7tLllmRVu4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'k7tLllmRVu4\']}}]}}, \'trackingParams\': \'CPEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtrN3RMbGxtUlZ1NA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPADEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/JxO-AGHTUPTCU_Irgbhchh0_5sYjE_AZYX2bPtsaEug68dUXiIrIAFqNOjI9VrxZv262sU4hpQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 hour, 36 minutes, 58 seconds\'}}, \'simpleText\': \'1:36:58\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CO8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'k7tLllmRVu4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CO8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'k7tLllmRVu4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CO8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CO4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CO4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'k7tLllmRVu4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CO4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'k7tLllmRVu4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'k7tLllmRVu4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CO4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/JxO-AGHTUPTCU_Irgbhchh0_5sYjE_AZYX2bPtsaEug68dUXiIrIAFqNOjI9VrxZv262sU4hpQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CO0DENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'a2AD7Wa8Jx0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDtrENTYI-nHac8RvqSoyd5ksELlA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBn4YYGC7bx5ycgXyfv9HeC-fsoqA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDmPNhzgEwPBN_zxyNHvytkfoQTVQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314866, \'section3Color\': 15919081, \'primaryTitleColor\': 1643027, \'secondaryTitleColor\': 8018014, \'section4Color\': 15457760}, \'darkColorPalette\': {\'section2Color\': 3351591, \'section3Color\': 2497309, \'primaryTitleColor\': 16770537, \'secondaryTitleColor\': 13411242, \'section4Color\': 1643027}}, \'title\': {\'runs\': [{\'text\': \'Savi-Sai-Rajat ka \xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\\x82\xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa5\\x80\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\xc2\xbe hug! | Ep.1284 | Latest | Ghum Hai Kisikey Pyaar Meiin | Mon-Sun | 8PM\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Savi-Sai-Rajat ka \xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\\x82\xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa5\\x80\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\xc2\xbe hug! | Ep.1284 | Latest | Ghum Hai Kisikey Pyaar Meiin | Mon-Sun | 8PM by Ghum Hai Kisikey Pyaar Meiin 1,468,391 views 1 day ago 3 minutes, 21 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Click here to Subscribe Ghum Hai Kisikey Pyaar Meiin : https://www.youtube.com/channel/UCh9Ao0KLPNXGsHqvIU1pdVw\\n\\nClick here to Subscribe Star Plus : https://www.youtube.com/channel/UC-LPIU24bQXVljU...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 21 seconds\'}}, \'simpleText\': \'3:21\'}, \'viewCountText\': {\'simpleText\': \'1,468,391 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=a2AD7Wa8Jx0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'a2AD7Wa8Jx0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6b6003ed66bc271d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'trackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFVAnc7wtdb9gLBr\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.4 million views\'}}, \'simpleText\': \'1.4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COwDEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COwDEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'a2AD7Wa8Jx0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COwDEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'a2AD7Wa8Jx0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'a2AD7Wa8Jx0\']}}]}}, \'trackingParams\': \'COwDEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgthMkFEN1dhOEp4MA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COsDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/MHFaHBZzV3kCZRrZ-DVE_gnGuisdfsskorOC0Kc24q5UnC5liL92W9xbqnEeCvwW-2jHBYEGyw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 21 seconds\'}}, \'simpleText\': \'3:21\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COoDEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'a2AD7Wa8Jx0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COoDEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'a2AD7Wa8Jx0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COoDEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COkDEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COkDEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'a2AD7Wa8Jx0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COkDEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'a2AD7Wa8Jx0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'a2AD7Wa8Jx0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COkDEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/MHFaHBZzV3kCZRrZ-DVE_gnGuisdfsskorOC0Kc24q5UnC5liL92W9xbqnEeCvwW-2jHBYEGyw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COgDENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'PiRW6KOaM5c\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCvgtbocfLGslpt2oYMClaHbAVu2Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDhxs0rgzt4kZX1ZaODSRMA_OI8pg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA6FHWyfqI-gXs0iDkedbKWIg0iGg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856888, \'section3Color\': 15199474, \'primaryTitleColor\': 1316377, \'secondaryTitleColor\': 5858160, \'section4Color\': 14542059}, \'darkColorPalette\': {\'section2Color\': 2633011, \'section3Color\': 1974566, \'primaryTitleColor\': 15069695, \'secondaryTitleColor\': 10728908, \'section4Color\': 1316377}}, \'title\': {\'runs\': [{\'text\': \'CABBAGE with EGGS | Vegetables with Egg Recipe Cooking in Village | Quick and Easy Omelette Recipe\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'CABBAGE with EGGS | Vegetables with Egg Recipe Cooking in Village | Quick and Easy Omelette Recipe by Village Cooking Channel 2,153,456 views 1 day ago 9 minutes, 41 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'We add an egg to the cabbage to make this delicious recipe. We use some fresh vegetables and cabbage, mix them together, and cook them in a big hot vessel. This is the trending omelet recipe...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 41 seconds\'}}, \'simpleText\': \'9:41\'}, \'viewCountText\': {\'simpleText\': \'2,153,456 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=PiRW6KOaM5c\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'PiRW6KOaM5c\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3e2456e8a39a3397&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'trackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFVAl-fonIrdlZI-\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.1 million views\'}}, \'simpleText\': \'2.1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PiRW6KOaM5c\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PiRW6KOaM5c\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PiRW6KOaM5c\']}}]}}, \'trackingParams\': \'COcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtQaVJXNktPYU01Yw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COYDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/4eEETdAR33227A9KRhQ1T4P2NyYReiZKMeaN_rZ8QZ1LSCLUudaggLhZ1C40RkDyw6SejAmW=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 41 seconds\'}}, \'simpleText\': \'9:41\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'PiRW6KOaM5c\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'PiRW6KOaM5c\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PiRW6KOaM5c\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PiRW6KOaM5c\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PiRW6KOaM5c\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/4eEETdAR33227A9KRhQ1T4P2NyYReiZKMeaN_rZ8QZ1LSCLUudaggLhZ1C40RkDyw6SejAmW=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COMDENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'SFuNit9HO8g\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDHQWmxNWU8UdIg_1X_zx56FoIqiQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD6RUXnMMSJju6Db1rYkcOJ2Xn9UA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCAWUFsQt7heFrHqa89n9U5YA_4kg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856376, \'section3Color\': 15198450, \'primaryTitleColor\': 1052953, \'secondaryTitleColor\': 5659780, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 1579827, \'section3Color\': 1184806, \'primaryTitleColor\': 15067391, \'secondaryTitleColor\': 10725580, \'section4Color\': 789785}}, \'title\': {\'runs\': [{\'text\': "Testing Virat Kohli\'s Favourite Restaurants | SlayyPop"}], \'accessibility\': {\'accessibilityData\': {\'label\': "Testing Virat Kohli\'s Favourite Restaurants | SlayyPop by SlayyPop 1,823,686 views 2 days ago 12 minutes, 42 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "This herbal hair oil is amazing for getting that healthy, shiny hair we all love. If you also want to get the original Neelambari Hair Oil, check out the link below! Don\'t wait, get yours now!..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 42 seconds\'}}, \'simpleText\': \'12:42\'}, \'viewCountText\': {\'simpleText\': \'1,823,686 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=SFuNit9HO8g\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'SFuNit9HO8g\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=485b8d8adf473bc8&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'trackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFVAyPec-q2x461I\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.8 million views\'}}, \'simpleText\': \'1.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'SFuNit9HO8g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'SFuNit9HO8g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'SFuNit9HO8g\']}}]}}, \'trackingParams\': \'COIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtTRnVOaXQ5SE84Zw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COEDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mFh-WLjsiIXXBm9h4WXNGIPW16BRtArKpa4lNQnI8iXjg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 42 seconds\'}}, \'simpleText\': \'12:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'SFuNit9HO8g\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'SFuNit9HO8g\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CN8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CN8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'SFuNit9HO8g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CN8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'SFuNit9HO8g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'SFuNit9HO8g\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CN8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mFh-WLjsiIXXBm9h4WXNGIPW16BRtArKpa4lNQnI8iXjg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CN4DENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'av9BiY6pb7M\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAbgIqRlTPcsbWHpz160r0E59JtJA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBOTQY4sU5K3vG2xa6n5hmh3y4O1w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBu6RwuQWl7gmC494p3nvn4RxlLcA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3350287, \'section3Color\': 2496267, \'primaryTitleColor\': 16773349, \'secondaryTitleColor\': 13415843, \'section4Color\': 1642247}}, \'title\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum Episode 6 | Fahad Mustafa | Hania Aamir | 23 July 2024 (Eng Sub) ARY Digital\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Kabhi Main Kabhi Tum Episode 6 | Fahad Mustafa | Hania Aamir | 23 July 2024 (Eng Sub) ARY Digital by ARY Digital HD 4,804,004 views 2 days ago 41 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum | Episode 6 | Digitally Presented by Master Paints , Food Panda , Sunsilk & Skin White | Fahad Mustafa | Hania Aamir | 23 July 2024 | ARY Digital Drama \\n\\nThe drama revolves...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 8 seconds\'}}, \'simpleText\': \'41:08\'}, \'viewCountText\': {\'simpleText\': \'4,804,004 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=av9BiY6pb7M\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'av9BiY6pb7M\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6aff41898ea96fb3&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'trackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFVAs9-l9Zix0P9q\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.8 million views\'}}, \'simpleText\': \'4.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CN0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CN0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'av9BiY6pb7M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CN0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'av9BiY6pb7M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'av9BiY6pb7M\']}}]}}, \'trackingParams\': \'CN0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgthdjlCaVk2cGI3TQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNwDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 8 seconds\'}}, \'simpleText\': \'41:08\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'av9BiY6pb7M\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'av9BiY6pb7M\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'av9BiY6pb7M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'av9BiY6pb7M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'av9BiY6pb7M\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNkDENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'sBBCXKbrT3I\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA92HHkWozW1YGiXIW09ITES8D7BA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLClejhzkaPKctW0hl8riomeILjMGA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA-F0rBfraDIlKTOINxH-CqBnbXeg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856376, \'section3Color\': 15198450, \'primaryTitleColor\': 1052953, \'secondaryTitleColor\': 5659524, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 856627, \'section3Color\': 658726, \'primaryTitleColor\': 15067391, \'secondaryTitleColor\': 10725580, \'section4Color\': 395545}}, \'title\': {\'runs\': [{\'text\': "India (W) vs Nepal (W) | ACC Women\'s Asia Cup | Match 10 | Highlights"}], \'accessibility\': {\'accessibilityData\': {\'label\': "India (W) vs Nepal (W) | ACC Women\'s Asia Cup | Match 10 | Highlights by Asian Cricket Council 1,937,069 views 2 days ago 12 minutes, 5 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Match 10 of India (W) vs Nepal (W), ACC Women\'s Asia Cup"}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 5 seconds\'}}, \'simpleText\': \'12:05\'}, \'viewCountText\': {\'simpleText\': \'1,937,069 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=sBBCXKbrT3I\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'sBBCXKbrT3I\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b010425ca6eb4f72&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'trackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFVA8p6tt8rLkIiwAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.9 million views\'}}, \'simpleText\': \'1.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'sBBCXKbrT3I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'sBBCXKbrT3I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'sBBCXKbrT3I\']}}]}}, \'trackingParams\': \'CNgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtzQkJDWEticlQzSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNcDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 5 seconds\'}}, \'simpleText\': \'12:05\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'sBBCXKbrT3I\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'sBBCXKbrT3I\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'sBBCXKbrT3I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'sBBCXKbrT3I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'sBBCXKbrT3I\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNQDENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Nd0gLi3SXno\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCSr311in_OUEtcJxaudT76hqgXJQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDuTmOrsGtoGKGxnR65zf3RTjF2iA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBdiks5NpFpBMCZ77Sr1tSIBdVSqA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857656, \'section3Color\': 15200242, \'primaryTitleColor\': 1054489, \'secondaryTitleColor\': 4745328, \'section4Color\': 14543083}, \'darkColorPalette\': {\'section2Color\': 335654, \'section3Color\': 202009, \'primaryTitleColor\': 15071743, \'secondaryTitleColor\': 10732492, \'section4Color\': 68108}}, \'title\': {\'runs\': [{\'text\': \'Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5 by TheLoudDude 471,124 views 1 day ago 19 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5\\n\\nDon\'t forget to leave a Like, Comment and Favorite, helps out a lot!!\\n\\nFOLLOW, LIKE AND JOIN ME ON:\\n\\nInstagram - https://www.instagram.c..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 25 seconds\'}}, \'simpleText\': \'19:25\'}, \'viewCountText\': {\'simpleText\': \'471,124 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Nd0gLi3SXno\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Nd0gLi3SXno\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=35dd202e2dd25e7a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'trackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFVA-rzJ7uKFyO41\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'471K views\'}}, \'simpleText\': \'471K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Nd0gLi3SXno\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Nd0gLi3SXno\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Nd0gLi3SXno\']}}]}}, \'trackingParams\': \'CNMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtOZDBnTGkzU1hubw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNIDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kLVtNfwERunPCUNfPJ10eP5ZSJ-2ZTU44TITxEo29i9-U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 25 seconds\'}}, \'simpleText\': \'19:25\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Nd0gLi3SXno\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Nd0gLi3SXno\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Nd0gLi3SXno\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Nd0gLi3SXno\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Nd0gLi3SXno\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kLVtNfwERunPCUNfPJ10eP5ZSJ-2ZTU44TITxEo29i9-U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CM8DENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'T9d_JnE7y14\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/T9d_JnE7y14/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCeSI_YMp4E3Qjykh6syt9xQpaEIQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/T9d_JnE7y14/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD3pUzGDR0RWfSMlwnLe7zLb1NzaQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/T9d_JnE7y14/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBcmAzrvklGxbbM-S-3s7DOvMFqHw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919079, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8344914, \'section4Color\': 15458013}, \'darkColorPalette\': {\'section2Color\': 3349273, \'section3Color\': 2495507, \'primaryTitleColor\': 16771045, \'secondaryTitleColor\': 13411747, \'section4Color\': 1641740}}, \'title\': {\'runs\': [{\'text\': \'Demonte Colony 2 - Release Trailer | Arulnithi, Priya Bhavani Shankar | Ajay R Gnanamuthu | Sam CS\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Demonte Colony 2 - Release Trailer | Arulnithi, Priya Bhavani Shankar | Ajay R Gnanamuthu | Sam CS by Think Music India 3,566,952 views 1 day ago 2 minutes, 27 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'#Demontecolony2 #AjayRGnanamuthu #Arulnithi\\n#PriyaBhavaniShankar #BobbyBalachandran #BTGUniversal #GnanamuthuPattarai #WhiteNightsEntertainment #DemonteColony2ReleaseTrailer\\n\\nPeek into the...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Think Music India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thinkmusicofficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLbdVvreihwZRL6kwuEUYsA\', \'canonicalBaseUrl\': \'/@thinkmusicofficial\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 27 seconds\'}}, \'simpleText\': \'2:27\'}, \'viewCountText\': {\'simpleText\': \'3,566,952 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=T9d_JnE7y14\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'T9d_JnE7y14\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=4fd77f26713bcb5e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Think Music India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thinkmusicofficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLbdVvreihwZRL6kwuEUYsA\', \'canonicalBaseUrl\': \'/@thinkmusicofficial\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Think Music India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thinkmusicofficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLbdVvreihwZRL6kwuEUYsA\', \'canonicalBaseUrl\': \'/@thinkmusicofficial\'}}}]}, \'trackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFVA3pbviefk3-tP\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.5 million views\'}}, \'simpleText\': \'3.5M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CM4DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CM4DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'T9d_JnE7y14\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CM4DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'T9d_JnE7y14\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'T9d_JnE7y14\']}}]}}, \'trackingParams\': \'CM4DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtUOWRfSm5FN3kxNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CM0DEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/dzgLCjRr-jI96sRdV8Ovl6F3LafGEh3a777hPBBwkN5VL2pixr98frJJwFL8fZQKBg289O574A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thinkmusicofficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLbdVvreihwZRL6kwuEUYsA\', \'canonicalBaseUrl\': \'/@thinkmusicofficial\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 27 seconds\'}}, \'simpleText\': \'2:27\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMwDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'T9d_JnE7y14\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMwDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'T9d_JnE7y14\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMwDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMsDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMsDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'T9d_JnE7y14\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMsDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'T9d_JnE7y14\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'T9d_JnE7y14\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMsDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/dzgLCjRr-jI96sRdV8Ovl6F3LafGEh3a777hPBBwkN5VL2pixr98frJJwFL8fZQKBg289O574A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMoDENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thinkmusicofficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLbdVvreihwZRL6kwuEUYsA\', \'canonicalBaseUrl\': \'/@thinkmusicofficial\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'_OKAwz2MsJs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA4Yl6B4nS7KbUgPDmDw2reND6z2g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAZACUvz2aSCZ65N9YWQPCTlCR0fg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLC-4FkCv_1w-CceiMZUC5oaykQ1wQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857910, \'section3Color\': 15201007, \'primaryTitleColor\': 1054999, \'secondaryTitleColor\': 4549474, \'section4Color\': 14543848}, \'darkColorPalette\': {\'section2Color\': 1582626, \'section3Color\': 1054999, \'primaryTitleColor\': 15073272, \'secondaryTitleColor\': 10734786, \'section4Color\': 527371}}, \'title\': {\'runs\': [{\'text\': \'Joker: Folie \xc3\x83\\x80 Deux | Official Trailer\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Joker: Folie \xc3\x83\\x80 Deux | Official Trailer by Warner Bros. Pictures 15,926,400 views 2 days ago 2 minutes, 51 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'When you\xc3\xa2\\x80\\x99re smiling, the whole world smiles with you. Joker: Folie \xc3\x83\\x80 Deux \xc3\xa2\\x80\\x93 only in theaters and IMAX, October 4. #JokerMovie #FilmedForIMAX \\n\\nFrom acclaimed writer/director/producer Todd...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 51 seconds\'}}, \'simpleText\': \'2:51\'}, \'viewCountText\': {\'simpleText\': \'15,926,400 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=_OKAwz2MsJs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'_OKAwz2MsJs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fce280c33d8cb09b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'trackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFVAm-Gy7LOYoPH8AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'15 million views\'}}, \'simpleText\': \'15M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMkDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMkDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_OKAwz2MsJs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMkDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_OKAwz2MsJs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_OKAwz2MsJs\']}}]}}, \'trackingParams\': \'CMkDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtfT0tBd3oyTXNKcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMgDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/CoYiDB8ojHTQvSwr9h8clzpcm85wiFaHroW0MaVgTnDEXAIMxhGlzC5Vwo9N3-z3obfVqc_G62I=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 51 seconds\'}}, \'simpleText\': \'2:51\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMcDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'_OKAwz2MsJs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMcDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'_OKAwz2MsJs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMcDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMYDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMYDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_OKAwz2MsJs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMYDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_OKAwz2MsJs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_OKAwz2MsJs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMYDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/CoYiDB8ojHTQvSwr9h8clzpcm85wiFaHroW0MaVgTnDEXAIMxhGlzC5Vwo9N3-z3obfVqc_G62I=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMUDENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'gcNmzgE1XWo\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAKc6qCFr1c0wnOvXdS6b63wyLThw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBse0VUjTXKaBjiSgwJGV9DbNPo_w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLC5jc0dQ1mi63rD6YMR5xJpfrJRlA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15987192, \'section3Color\': 15460338, \'primaryTitleColor\': 1249305, \'secondaryTitleColor\': 6706820, \'section4Color\': 14867947}, \'darkColorPalette\': {\'section2Color\': 1773107, \'section3Color\': 1313574, \'primaryTitleColor\': 15656447, \'secondaryTitleColor\': 11641804, \'section4Color\': 853785}}, \'title\': {\'runs\': [{\'text\': \'Blockbuster or Disaster? | Budget 2024 EXPLAINED in just 15 minutes\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Blockbuster or Disaster? | Budget 2024 EXPLAINED in just 15 minutes by Labour Law Advisor 630,261 views 2 days ago 16 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\\nBuy Health Insurance: https://health.lla.in\\nBuy Term Insurance: https://term.lla.in\\n\\nHax to Save Tax Courses by LLA:...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 31 seconds\'}}, \'simpleText\': \'16:31\'}, \'viewCountText\': {\'simpleText\': \'630,261 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=gcNmzgE1XWo\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'gcNmzgE1XWo\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=81c366ce01355d6a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'trackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFVA6rrVieDZ2eGBAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'630K views\'}}, \'simpleText\': \'630K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMQDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMQDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'gcNmzgE1XWo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMQDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'gcNmzgE1XWo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'gcNmzgE1XWo\']}}]}}, \'trackingParams\': \'CMQDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtnY05temdFMVhXbw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMMDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/CVvE7vApeq2jgHhty_LsDBVJPnp-msvs7r3spAZo_14T_nBqd1CWTjhUdjg1TTAztO7MOxu2=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 31 seconds\'}}, \'simpleText\': \'16:31\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMIDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'gcNmzgE1XWo\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMIDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'gcNmzgE1XWo\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMIDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMEDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMEDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'gcNmzgE1XWo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMEDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'gcNmzgE1XWo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'gcNmzgE1XWo\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMEDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/CVvE7vApeq2jgHhty_LsDBVJPnp-msvs7r3spAZo_14T_nBqd1CWTjhUdjg1TTAztO7MOxu2=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMADENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'x8YP-rk8w2Y\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/x8YP-rk8w2Y/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBiau5WsbOK5Xf7AzfkJSxOu2BcPw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/x8YP-rk8w2Y/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDEMTJEEGvp-e1UrL2mHJInGtTTbg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/x8YP-rk8w2Y/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBb1W6T6cx68_y5Bx8alhlAFSKXCg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857144, \'section3Color\': 15199730, \'primaryTitleColor\': 1053977, \'secondaryTitleColor\': 5006453, \'section4Color\': 14542315}, \'darkColorPalette\': {\'section2Color\': 729651, \'section3Color\': 530982, \'primaryTitleColor\': 15070463, \'secondaryTitleColor\': 10730188, \'section4Color\': 332057}}, \'title\': {\'runs\': [{\'text\': \'We Opened 100 Mystery Boxes Worth \xc3\xa2\\x82\xc2\xb930,00,000 With JCB | \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8b \xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x89\xc3\xa0\xc2\xa4\\x9f\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\\x97 \xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa4\\x88\xc3\xb0\\x9f\xc2\xa4\\x91\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'We Opened 100 Mystery Boxes Worth \xc3\xa2\\x82\xc2\xb930,00,000 With JCB | \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8b \xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x89\xc3\xa0\xc2\xa4\\x9f\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\\x97 \xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa4\\x88\xc3\xb0\\x9f\xc2\xa4\\x91 by Crazy XYZ 1,946,974 views 16 hours ago 23 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Sign-up on Hibox through my link within next 24 hours and get 100rs instant cashback on your first purchase.\\n\\nhttps://share.hibox.com.in/down/app?recommender=634891\\n\\nReferral ID - 634891\\n\\nHibox...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'16 hours ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'23 minutes, 50 seconds\'}}, \'simpleText\': \'23:50\'}, \'viewCountText\': {\'simpleText\': \'1,946,974 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=x8YP-rk8w2Y\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'x8YP-rk8w2Y\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c7c60ffab93cc366&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'trackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFVA5obzyav_g-PHAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.9 million views\'}}, \'simpleText\': \'1.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CL8DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CL8DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'x8YP-rk8w2Y\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CL8DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'x8YP-rk8w2Y\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'x8YP-rk8w2Y\']}}]}}, \'trackingParams\': \'CL8DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt4OFlQLXJrOHcyWQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CL4DEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m_dwfeg3dT3tiDA8BJyWUyAk9EYZKjB5J_HGXBqSMcqmE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'23 minutes, 50 seconds\'}}, \'simpleText\': \'23:50\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CL0DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'x8YP-rk8w2Y\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CL0DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'x8YP-rk8w2Y\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CL0DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLwDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLwDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'x8YP-rk8w2Y\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLwDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'x8YP-rk8w2Y\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'x8YP-rk8w2Y\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLwDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m_dwfeg3dT3tiDA8BJyWUyAk9EYZKjB5J_HGXBqSMcqmE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLsDENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'8DHetOLjAXk\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLC7owsgTMYmtBybCd6TNUgOM2qc1w\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB93hSyCUiT5f4zs_uZjwG0lPG0Qw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAewwYyQSPx65-KPAzm6xE5sOVu4g\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919079, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8344658, \'section4Color\': 15458013}, \'darkColorPalette\': {\'section2Color\': 3349788, \'section3Color\': 2496021, \'primaryTitleColor\': 16770789, \'secondaryTitleColor\': 13411747, \'section4Color\': 1641998}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa4\\x8f\xc3\xa0\xc2\xa4\\x95 Skit \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 Through CID \xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xb2 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Case \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Mystery! | CID | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x80.\xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x88.\xc3\xa0\xc2\xa4\xc2\xa1\xc3\xa0\xc2\xa5\\x80.| Latest Episode| 23 July 2024\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa4\\x8f\xc3\xa0\xc2\xa4\\x95 Skit \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 Through CID \xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xb2 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Case \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Mystery! | CID | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x80.\xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x88.\xc3\xa0\xc2\xa4\xc2\xa1\xc3\xa0\xc2\xa5\\x80.| Latest Episode| 23 July 2024 by LIV Crime 756,588 views 2 days ago 48 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Click here to Subscribe to LIV Crime: \\nhttps://www.youtube.com/channel/UCzXpAx4v6rFLYXkJZ5nmSvQ?sub_confirmation=1\\n\\nA woman\'s ghost is haunting the city and causing destruction around. The..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes\'}}, \'simpleText\': \'48:00\'}, \'viewCountText\': {\'simpleText\': \'756,588 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=8DHetOLjAXk\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'8DHetOLjAXk\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f031deb4e2e30179&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'trackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFVA-YKMl87W95jwAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'756K views\'}}, \'simpleText\': \'756K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLoDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLoDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8DHetOLjAXk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLoDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8DHetOLjAXk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8DHetOLjAXk\']}}]}}, \'trackingParams\': \'CLoDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs4REhldE9MakFYaw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLkDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/KUIS6mJgrYkNTaUuCdda7ewat5IFHzGK0hULzV0c0b5BsIeThimuIULKg2IcQemtmPwbDDnOPg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes\'}}, \'simpleText\': \'48:00\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLgDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'8DHetOLjAXk\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLgDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'8DHetOLjAXk\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLgDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLcDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLcDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8DHetOLjAXk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLcDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8DHetOLjAXk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8DHetOLjAXk\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLcDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/KUIS6mJgrYkNTaUuCdda7ewat5IFHzGK0hULzV0c0b5BsIeThimuIULKg2IcQemtmPwbDDnOPg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLYDENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ltAbK1EhW3s\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBMDasRYD9NzddtCvuynZZMLwqr5Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDvTgmSCfAX5a_3mpd-M-_ysV461g\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDLkJvzFMmUwSTjUF1Xj_bSunxhNg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8018255, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3346695, \'section3Color\': 2493701, \'primaryTitleColor\': 16772069, \'secondaryTitleColor\': 13413539, \'section4Color\': 1640451}}, \'title\': {\'runs\': [{\'text\': \'Hamster Kombat Withdrawal Successful | Hamster Kombat \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 Withdraw \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x87 ?\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Hamster Kombat Withdrawal Successful | Hamster Kombat \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 Withdraw \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x87 ? by Manoj Dey 448,946 views 2 days ago 6 minutes, 33 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Joining Link - https://t.me/hamstEr_kombat_bot/start?startapp=kentId5325436803\\n\\nPart 1 Video - https://youtu.be/EC0djBtl4Vg?si=U_hMeMJ-k6AFog93\\n\\nFOLLOW ME ON:\\n\xc3\xb0\\x9f\\x93\xc2\xb8 Instagram: https://instagram.com/...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6 minutes, 33 seconds\'}}, \'simpleText\': \'6:33\'}, \'viewCountText\': {\'simpleText\': \'448,946 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ltAbK1EhW3s\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ltAbK1EhW3s\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=96d01b2b51215b7b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'trackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFVA-7aFibXlhuiWAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'448K views\'}}, \'simpleText\': \'448K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLUDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLUDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ltAbK1EhW3s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLUDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ltAbK1EhW3s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ltAbK1EhW3s\']}}]}}, \'trackingParams\': \'CLUDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtsdEFiSzFFaFczcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLQDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lLkEfWaXwrWypl4d7tEWiz-s8JzPSqKvXGn25qh9IgNF0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6 minutes, 33 seconds\'}}, \'simpleText\': \'6:33\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLMDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ltAbK1EhW3s\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLMDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ltAbK1EhW3s\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLMDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLIDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLIDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ltAbK1EhW3s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLIDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ltAbK1EhW3s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ltAbK1EhW3s\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLIDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lLkEfWaXwrWypl4d7tEWiz-s8JzPSqKvXGn25qh9IgNF0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLEDENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'NvFshE8GjEI\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/NvFshE8GjEI/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBoLpc8bF9Vk_alIT2R9fpHq4gpqQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/NvFshE8GjEI/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBwVJVEwHtkNum-6_-cZtNpbwbqjA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/NvFshE8GjEI/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCEjSaI5xAxhbvFWU5RvFCRoQxJKg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8017487, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3349271, \'section3Color\': 2495505, \'primaryTitleColor\': 16771557, \'secondaryTitleColor\': 13413027, \'section4Color\': 1641739}}, \'title\': {\'runs\': [{\'text\': \'New Evo Parafal Max Lvl Solo Vs Squad Gameplay | Badge99\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'New Evo Parafal Max Lvl Solo Vs Squad Gameplay | Badge99 by Badge 99 292,721 views 1 day ago 13 minutes, 38 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'New Evo Parafal Max Lvl Solo Vs Squad Gameplay | Badge99\\n\\nMy Instagram \xc3\xa2\\x96\xc2\xba https://www.instagram.com/badge_99/\\n\\nTwitter \xc3\xa2\\x96\xc2\xba https://twitter.com/Badge99_\\nFacebook \xc3\xa2\\x96\xc2\xba https://fb.me/badge99yt...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Badge 99\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Badge99ff\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCPhZzHKo3Y5YYoazMQWuLTg\', \'canonicalBaseUrl\': \'/@Badge99ff\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 38 seconds\'}}, \'simpleText\': \'13:38\'}, \'viewCountText\': {\'simpleText\': \'292,721 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=NvFshE8GjEI\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'NvFshE8GjEI\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=36f16c844f068c42&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Badge 99\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Badge99ff\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCPhZzHKo3Y5YYoazMQWuLTg\', \'canonicalBaseUrl\': \'/@Badge99ff\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Badge 99\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Badge99ff\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCPhZzHKo3Y5YYoazMQWuLTg\', \'canonicalBaseUrl\': \'/@Badge99ff\'}}}]}, \'trackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFVAwpia-MSQ2_g2\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'292K views\'}}, \'simpleText\': \'292K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLADEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLADEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'NvFshE8GjEI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLADEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'NvFshE8GjEI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'NvFshE8GjEI\']}}]}}, \'trackingParams\': \'CLADEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtOdkZzaEU4R2pFSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CK8DEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m1JGhbBG2Pvjoo6GkT35X7Wg0tnWWVUORQADsc4QqOT-o=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Badge99ff\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCPhZzHKo3Y5YYoazMQWuLTg\', \'canonicalBaseUrl\': \'/@Badge99ff\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 38 seconds\'}}, \'simpleText\': \'13:38\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CK4DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'NvFshE8GjEI\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CK4DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'NvFshE8GjEI\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CK4DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CK0DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CK0DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'NvFshE8GjEI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CK0DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'NvFshE8GjEI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'NvFshE8GjEI\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CK0DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m1JGhbBG2Pvjoo6GkT35X7Wg0tnWWVUORQADsc4QqOT-o=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKwDENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Badge99ff\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCPhZzHKo3Y5YYoazMQWuLTg\', \'canonicalBaseUrl\': \'/@Badge99ff\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'IOpjcKzqNhs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDMx97AqGSUDO6kyOBdbZQ1pipohQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB11YfzWFW5LyC3WoLURqHyya-sjw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCosQlFd7mulTNaespa7IIWAHR8lA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 3355443, \'section3Color\': 2500134, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 1644825}}, \'title\': {\'runs\': [{\'text\': \'What Villager Hide in His Inventory in Minecraft\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'What Villager Hide in His Inventory in Minecraft by Adi-Spot 512,262 views 2 days ago 10 minutes, 33 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'What Villager Hide in His Inventory in Minecraft\\n\\n\\nMy Second Channel @Blazzy... \\n\\n\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\\nSocial Media :\\n\\nFollow karlo jaldi sai :)\\nhttps://www.instagram.com/adisp...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 33 seconds\'}}, \'simpleText\': \'10:33\'}, \'viewCountText\': {\'simpleText\': \'512,262 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=IOpjcKzqNhs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'IOpjcKzqNhs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=20ea6370acea361b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'trackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFVAm-yo54rumPUg\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'512K views\'}}, \'simpleText\': \'512K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKsDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKsDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'IOpjcKzqNhs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKsDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'IOpjcKzqNhs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'IOpjcKzqNhs\']}}]}}, \'trackingParams\': \'CKsDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtJT3BqY0t6cU5ocw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKoDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/5AIANn5GsWevl-bEfnSJ09z3HFEx2S1amog17T671BiKyfVAXd2AYIbc3BPTXO4hKmiSxqIY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 33 seconds\'}}, \'simpleText\': \'10:33\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKkDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'IOpjcKzqNhs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKkDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'IOpjcKzqNhs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKkDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKgDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKgDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'IOpjcKzqNhs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKgDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'IOpjcKzqNhs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'IOpjcKzqNhs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKgDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/5AIANn5GsWevl-bEfnSJ09z3HFEx2S1amog17T671BiKyfVAXd2AYIbc3BPTXO4hKmiSxqIY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKcDENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'csD9NAgPcRA\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/csD9NAgPcRA/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhlIFYoUzAP&rs=AOn4CLDCO8F4dj-24wbWBtdUOFu9g39m5g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/csD9NAgPcRA/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYZSBWKFMwDw==&rs=AOn4CLB1E7pgX6tY6KqNLM5SjcaFP-rAlg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/csD9NAgPcRA/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYZSBWKFMwDw==&rs=AOn4CLA0if8z4q5lJv5sDXkZ2dW7IM2Frg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643796, \'secondaryTitleColor\': 7035735, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3353385, \'section3Color\': 2498591, \'primaryTitleColor\': 16771557, \'secondaryTitleColor\': 13413799, \'section4Color\': 1643796}}, \'title\': {\'runs\': [{\'text\': \'Tishaa Kumar Death Reason | Tishaa Kumar Funeral | Tishaa Kumar Cancer News|Tishaa Kumar Passes Away\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Tishaa Kumar Death Reason | Tishaa Kumar Funeral | Tishaa Kumar Cancer News|Tishaa Kumar Passes Away by FilmiBeat 545,583 views 2 days ago 4 minutes, 27 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Tishaa Kumar RIP: Bhushan Kumar\'s Cousin Passes Away At 21 After Battling With Cancer. Bhushan Kumar Cousin Tishaa Kumar Funeral, Mother\'s condition after seeing daughter\'s dead body. Dead..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'FilmiBeat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@filmibeat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCsaoYBUHz_lVB_dOmFwA9Zw\', \'canonicalBaseUrl\': \'/@filmibeat\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4 minutes, 27 seconds\'}}, \'simpleText\': \'4:27\'}, \'viewCountText\': {\'simpleText\': \'545,583 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=csD9NAgPcRA\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'csD9NAgPcRA\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=72c0fd34080f7110&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'FilmiBeat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@filmibeat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCsaoYBUHz_lVB_dOmFwA9Zw\', \'canonicalBaseUrl\': \'/@filmibeat\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'FilmiBeat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@filmibeat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCsaoYBUHz_lVB_dOmFwA9Zw\', \'canonicalBaseUrl\': \'/@filmibeat\'}}}]}, \'trackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFVAkOK9wMCmv-By\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'545K views\'}}, \'simpleText\': \'545K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'csD9NAgPcRA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'csD9NAgPcRA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'csD9NAgPcRA\']}}]}}, \'trackingParams\': \'CKYDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgtjc0Q5TkFnUGNSQQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKUDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/BXqPHu0uA_kZcazrRMwixHrnXJWU8SmmC05nejKT72f6E6B2Lj-9fg3HZOf_KPFB5E_QCka8=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@filmibeat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCsaoYBUHz_lVB_dOmFwA9Zw\', \'canonicalBaseUrl\': \'/@filmibeat\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4 minutes, 27 seconds\'}}, \'simpleText\': \'4:27\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'csD9NAgPcRA\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'csD9NAgPcRA\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKQDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'csD9NAgPcRA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'csD9NAgPcRA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'csD9NAgPcRA\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKMDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/BXqPHu0uA_kZcazrRMwixHrnXJWU8SmmC05nejKT72f6E6B2Lj-9fg3HZOf_KPFB5E_QCka8=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKIDENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@filmibeat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCsaoYBUHz_lVB_dOmFwA9Zw\', \'canonicalBaseUrl\': \'/@filmibeat\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'wZ89Zg3_Ubo\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/wZ89Zg3_Ubo/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAngW4GLKn1oESyovuPe5iEdgy3rw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/wZ89Zg3_Ubo/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAw0bESxCgFJH09X0QDzy2NJabAlA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/wZ89Zg3_Ubo/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD_mSZZg0aDHxEucceXAd1JJE8BZw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919080, \'primaryTitleColor\': 1642513, \'secondaryTitleColor\': 8344150, \'section4Color\': 15457758}, \'darkColorPalette\': {\'section2Color\': 3344139, \'section3Color\': 2491656, \'primaryTitleColor\': 16770535, \'secondaryTitleColor\': 13411238, \'section4Color\': 1639173}}, \'title\': {\'runs\': [{\'text\': \'Nepal Crash Sole Survivor Rose From Ashes As Others Perish | Rare Details Of Kathmandu Tragedy\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Nepal Crash Sole Survivor Rose From Ashes As Others Perish | Rare Details Of Kathmandu Tragedy by Times Of India 466,304 views 1 day ago 3 minutes, 17 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'The Kathmandu airport plane crash had a sole survivor. The aircraft, carrying 2 crew members and 17 technicians, crashed while taking off. The lone survivor, Captain Manish Ratna Shakya, a...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Times Of India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@timesofindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCckHqySbfy5FcPP6MD_S-Yg\', \'canonicalBaseUrl\': \'/@timesofindia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 17 seconds\'}}, \'simpleText\': \'3:17\'}, \'viewCountText\': {\'simpleText\': \'466,304 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=wZ89Zg3_Ubo\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'wZ89Zg3_Ubo\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c19f3d660dff51ba&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Times Of India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@timesofindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCckHqySbfy5FcPP6MD_S-Yg\', \'canonicalBaseUrl\': \'/@timesofindia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Times Of India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@timesofindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCckHqySbfy5FcPP6MD_S-Yg\', \'canonicalBaseUrl\': \'/@timesofindia\'}}}]}, \'trackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFVAuqP97-Csz8_BAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'466K views\'}}, \'simpleText\': \'466K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wZ89Zg3_Ubo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wZ89Zg3_Ubo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wZ89Zg3_Ubo\']}}]}}, \'trackingParams\': \'CKEDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt3Wjg5WmczX1Vibw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKADEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/VbGkSvLpAmSOVxSQ-42YlR4uQjaRbADrBZ0Jbm8rpeI7RiFSEp2_8DJqzgqH4dWViwYOQy2QJnQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@timesofindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCckHqySbfy5FcPP6MD_S-Yg\', \'canonicalBaseUrl\': \'/@timesofindia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 17 seconds\'}}, \'simpleText\': \'3:17\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'wZ89Zg3_Ubo\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'wZ89Zg3_Ubo\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ8DEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJ4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wZ89Zg3_Ubo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJ4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wZ89Zg3_Ubo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wZ89Zg3_Ubo\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ4DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/VbGkSvLpAmSOVxSQ-42YlR4uQjaRbADrBZ0Jbm8rpeI7RiFSEp2_8DJqzgqH4dWViwYOQy2QJnQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJ0DENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@timesofindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCckHqySbfy5FcPP6MD_S-Yg\', \'canonicalBaseUrl\': \'/@timesofindia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'qCm69ALv0U0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/qCm69ALv0U0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAxCMFib6An8CElkCwpuCwMqr_t6A\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/qCm69ALv0U0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCjAGr46UPeytCk38JZYMFNtbzd5w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/qCm69ALv0U0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCtrxTogHEp7fGk50WmV97PmLlHGw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856120, \'section3Color\': 15198450, \'primaryTitleColor\': 1052953, \'secondaryTitleColor\': 5659268, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 1119539, \'section3Color\': 855846, \'primaryTitleColor\': 15067391, \'secondaryTitleColor\': 10725324, \'section4Color\': 526873}}, \'title\': {\'runs\': [{\'text\': \'BSNL New 4G Sim Testing - Better Than Jio & Airtel?? | My Experience\xc3\xb0\\x9f\\x98\xc2\xb1 !\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'BSNL New 4G Sim Testing - Better Than Jio & Airtel?? | My Experience\xc3\xb0\\x9f\\x98\xc2\xb1 ! by Techno Ruhez 340,977 views 2 days ago 7 minutes, 35 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'BSNL New 4G Sim Testing \\nHello Dosto is video me maine aap logo ko BSNL New 4G k bare me Full Details diya hu, Umeed hai aapko video pasand aayegi\\n\\n#bsnl #bsnl4g #bsnl_plans #technoruhez...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Techno Ruhez\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnoRuhez\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC8vlDm5xvbxOrCvdu9UNOiA\', \'canonicalBaseUrl\': \'/@TechnoRuhez\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'7 minutes, 35 seconds\'}}, \'simpleText\': \'7:35\'}, \'viewCountText\': {\'simpleText\': \'340,977 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=qCm69ALv0U0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'qCm69ALv0U0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a829baf402efd14d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Techno Ruhez\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnoRuhez\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC8vlDm5xvbxOrCvdu9UNOiA\', \'canonicalBaseUrl\': \'/@TechnoRuhez\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Techno Ruhez\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnoRuhez\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC8vlDm5xvbxOrCvdu9UNOiA\', \'canonicalBaseUrl\': \'/@TechnoRuhez\'}}}]}, \'trackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFVAzaK_l8De7pSoAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'340K views\'}}, \'simpleText\': \'340K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJwDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJwDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'qCm69ALv0U0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJwDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'qCm69ALv0U0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'qCm69ALv0U0\']}}]}}, \'trackingParams\': \'CJwDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtxQ202OUFMdjBVMA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJsDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mqeNLs7gdh0NEmiY8MbBJuyyk_KGBQmbM5b1U6BEcZoyQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnoRuhez\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC8vlDm5xvbxOrCvdu9UNOiA\', \'canonicalBaseUrl\': \'/@TechnoRuhez\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'7 minutes, 35 seconds\'}}, \'simpleText\': \'7:35\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJoDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'qCm69ALv0U0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJoDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'qCm69ALv0U0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJoDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJkDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJkDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'qCm69ALv0U0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJkDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'qCm69ALv0U0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'qCm69ALv0U0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJkDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mqeNLs7gdh0NEmiY8MbBJuyyk_KGBQmbM5b1U6BEcZoyQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJgDENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnoRuhez\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC8vlDm5xvbxOrCvdu9UNOiA\', \'canonicalBaseUrl\': \'/@TechnoRuhez\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'f1FobBUfz1s\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCduZD7zN8o-d_4EOG72cnYuHsGyw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCTmP6rnrFC-ldeFhyBrKLqVG0PFA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAF-xUxI7yrLhINdlrcPXMrPDykuQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3350287, \'section3Color\': 2496267, \'primaryTitleColor\': 16773349, \'secondaryTitleColor\': 13415843, \'section4Color\': 1642247}}, \'title\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum Episode 5 | Fahad Mustafa | Hania Aamir | 22 July 2024 (Eng Sub) ARY Digital\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Kabhi Main Kabhi Tum Episode 5 | Fahad Mustafa | Hania Aamir | 22 July 2024 (Eng Sub) ARY Digital by ARY Digital HD 5,145,240 views 3 days ago 42 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum | Episode 5 | Digitally Presented by Master Paints , Food Panda , Sunsilk & Skin White | Fahad Mustafa | Hania Aamir | 22 July 2024 | ARY Digital Drama \\n\\nThe drama revolves...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'42 minutes, 45 seconds\'}}, \'simpleText\': \'42:45\'}, \'viewCountText\': {\'simpleText\': \'5,145,240 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=f1FobBUfz1s\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'f1FobBUfz1s\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=7f51686c151fcf5b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'trackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFVA257_qMGN2qh_\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.1 million views\'}}, \'simpleText\': \'5.1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'f1FobBUfz1s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'f1FobBUfz1s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'f1FobBUfz1s\']}}]}}, \'trackingParams\': \'CJcDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtmMUZvYkJVZnoxcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJYDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'42 minutes, 45 seconds\'}}, \'simpleText\': \'42:45\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'f1FobBUfz1s\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'f1FobBUfz1s\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJUDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'f1FobBUfz1s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'f1FobBUfz1s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'f1FobBUfz1s\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJQDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJMDENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'dyY4uSb4E2A\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/dyY4uSb4E2A/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAL40mM1KNnTxJGF7yY6LqhnHGsTw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/dyY4uSb4E2A/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA_Z8Y0-84SwoW2B5cIgn7iizv33g\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/dyY4uSb4E2A/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDK8Wb31RVxYyNoUhfz--NkHSytCg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314867, \'section3Color\': 15919082, \'primaryTitleColor\': 1642515, \'secondaryTitleColor\': 8344159, \'section4Color\': 15457761}, \'darkColorPalette\': {\'section2Color\': 3344404, \'section3Color\': 2491919, \'primaryTitleColor\': 16770540, \'secondaryTitleColor\': 13411246, \'section4Color\': 1639434}}, \'title\': {\'runs\': [{\'text\': \'How Good was the Budget? In-depth Review and Explanation!\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'How Good was the Budget? In-depth Review and Explanation! by pranjal kamra 229,174 views 2 days ago 11 minutes, 40 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'In this video, I will explain the major changes in the Union Budget 2024-25 in 3 to 4 segments. I will not only cover the budget backstory but also the reasons behind these changes.\\n\\n--------------...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'pranjal kamra\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@pranjalkamra\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwAdQUuPT6laN-AQR17fe1g\', \'canonicalBaseUrl\': \'/@pranjalkamra\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 40 seconds\'}}, \'simpleText\': \'11:40\'}, \'viewCountText\': {\'simpleText\': \'229,174 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=dyY4uSb4E2A\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'dyY4uSb4E2A\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=772638b926f81360&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'pranjal kamra\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@pranjalkamra\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwAdQUuPT6laN-AQR17fe1g\', \'canonicalBaseUrl\': \'/@pranjalkamra\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'pranjal kamra\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@pranjalkamra\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwAdQUuPT6laN-AQR17fe1g\', \'canonicalBaseUrl\': \'/@pranjalkamra\'}}}]}, \'trackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFVA4Kbgt5KXjpN3\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'229K views\'}}, \'simpleText\': \'229K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'dyY4uSb4E2A\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'dyY4uSb4E2A\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'dyY4uSb4E2A\']}}]}}, \'trackingParams\': \'CJIDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtkeVk0dVNiNEUyQQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJEDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/s-bTyc4XP0dfybkL7Cw2iKdS5RJswGTMPgdKe1mARRTUd3Kz6v-ZkZLz0FEWWk1yV6dVX2I9aA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@pranjalkamra\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwAdQUuPT6laN-AQR17fe1g\', \'canonicalBaseUrl\': \'/@pranjalkamra\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 40 seconds\'}}, \'simpleText\': \'11:40\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'dyY4uSb4E2A\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'dyY4uSb4E2A\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJADEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CI8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CI8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'dyY4uSb4E2A\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CI8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'dyY4uSb4E2A\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'dyY4uSb4E2A\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CI8DEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/s-bTyc4XP0dfybkL7Cw2iKdS5RJswGTMPgdKe1mARRTUd3Kz6v-ZkZLz0FEWWk1yV6dVX2I9aA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CI4DENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@pranjalkamra\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwAdQUuPT6laN-AQR17fe1g\', \'canonicalBaseUrl\': \'/@pranjalkamra\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'PxBR17orfRc\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/PxBR17orfRc/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCnjNMy4F3JU6SphFCky1Rggxu2Dg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/PxBR17orfRc/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD1CXcL8jxjgQYm8LCAh31wDJe7zQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/PxBR17orfRc/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDeXm5oF-cbI4tRjnZ0SANANGkxIA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 2500134, \'section3Color\': 1644825, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 789516}}, \'title\': {\'runs\': [{\'text\': \'Suriya 44 | Birthday Promo | Suriya | Karthik Subbaraj | Pooja Hegde | Santhosh Narayanan\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Suriya 44 | Birthday Promo | Suriya | Karthik Subbaraj | Pooja Hegde | Santhosh Narayanan by 2D Entertainment 2,440,641 views 2 days ago 1 minute, 37 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Suriya 44 | Birthday Promo | Suriya | Karthik Subbaraj | Pooja Hegde | Santhosh Narayanan\\n\\nCast & Crew :\\n\\nDirected by Karthik Subbaraj\\nCast : Suriya, Pooja Hegde, Joju George, Jayaram, Karunakaran...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'2D Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@2DMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj6rqKA33Ywu2GTFRDxHhnA\', \'canonicalBaseUrl\': \'/@2DMusic\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 minute, 37 seconds\'}}, \'simpleText\': \'1:37\'}, \'viewCountText\': {\'simpleText\': \'2,440,641 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=PxBR17orfRc\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'PxBR17orfRc\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3f1051d7ba2b7d17&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'2D Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@2DMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj6rqKA33Ywu2GTFRDxHhnA\', \'canonicalBaseUrl\': \'/@2DMusic\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'2D Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@2DMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj6rqKA33Ywu2GTFRDxHhnA\', \'canonicalBaseUrl\': \'/@2DMusic\'}}}]}, \'trackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFVAl_qt0fu6lIg_\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.4 million views\'}}, \'simpleText\': \'2.4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CI0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CI0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PxBR17orfRc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CI0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PxBR17orfRc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PxBR17orfRc\']}}]}}, \'trackingParams\': \'CI0DEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtQeEJSMTdvcmZSYw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIwDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mVecr4yj_pkjR-EZzh4i7K6ULbMSQLzpti7DQ0Xp7u2A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@2DMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj6rqKA33Ywu2GTFRDxHhnA\', \'canonicalBaseUrl\': \'/@2DMusic\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 minute, 37 seconds\'}}, \'simpleText\': \'1:37\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'PxBR17orfRc\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'PxBR17orfRc\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIsDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PxBR17orfRc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PxBR17orfRc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PxBR17orfRc\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIoDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mVecr4yj_pkjR-EZzh4i7K6ULbMSQLzpti7DQ0Xp7u2A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIkDENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@2DMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj6rqKA33Ywu2GTFRDxHhnA\', \'canonicalBaseUrl\': \'/@2DMusic\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'xiYjs_JPFg4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/xiYjs_JPFg4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDq2IhFWRXGJT8Z3W7_dyuibj2PNQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/xiYjs_JPFg4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDyNqji0J7nQHj4zBGBEO4Zo4mF1A\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/xiYjs_JPFg4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB873-jMNp-BWMe5chk4S2zs8DdSA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15200242, \'primaryTitleColor\': 1054489, \'secondaryTitleColor\': 4745072, \'section4Color\': 14543083}, \'darkColorPalette\': {\'section2Color\': 597798, \'section3Color\': 398617, \'primaryTitleColor\': 15071743, \'secondaryTitleColor\': 10732236, \'section4Color\': 199180}}, \'title\': {\'runs\': [{\'text\': \'HIGHLIGHTS | MAN CITY 3-4 CELTIC | Haaland, Bobb, Perone, Kuhn (2), Furuhashi, Palma Goals!\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'HIGHLIGHTS | MAN CITY 3-4 CELTIC | Haaland, Bobb, Perone, Kuhn (2), Furuhashi, Palma Goals! by Man City 2,975,500 views 1 day ago 8 minutes, 20 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Manchester City\'s pre-season tour of the United States began with a 4-3 defeat to Celtic in North Carolina.\\n\\nA first half brace from Nicolas Kuhn and smart Kyogo Furuhashi finish meant City..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Man City\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@mancity\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCkzCjdRMrW2vXLx8mvPVLdQ\', \'canonicalBaseUrl\': \'/@mancity\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'8 minutes, 20 seconds\'}}, \'simpleText\': \'8:20\'}, \'viewCountText\': {\'simpleText\': \'2,975,500 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=xiYjs_JPFg4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'xiYjs_JPFg4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c62623b3f24f160e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Man City\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@mancity\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCkzCjdRMrW2vXLx8mvPVLdQ\', \'canonicalBaseUrl\': \'/@mancity\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Man City\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@mancity\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCkzCjdRMrW2vXLx8mvPVLdQ\', \'canonicalBaseUrl\': \'/@mancity\'}}}]}, \'trackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFVAjqy8kr_2iJPGAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.9 million views\'}}, \'simpleText\': \'2.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xiYjs_JPFg4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xiYjs_JPFg4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xiYjs_JPFg4\']}}]}}, \'trackingParams\': \'CIgDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt4aVlqc19KUEZnNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIcDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/U9x-_BMoXJBPf9RWEab_TEu2TX1o1plDjeY52_BQVshkLYDtiQkCo3MVZsmq5X0gf0cTvRkFig=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@mancity\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCkzCjdRMrW2vXLx8mvPVLdQ\', \'canonicalBaseUrl\': \'/@mancity\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'8 minutes, 20 seconds\'}}, \'simpleText\': \'8:20\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'xiYjs_JPFg4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'xiYjs_JPFg4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIYDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xiYjs_JPFg4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xiYjs_JPFg4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xiYjs_JPFg4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIUDEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/U9x-_BMoXJBPf9RWEab_TEu2TX1o1plDjeY52_BQVshkLYDtiQkCo3MVZsmq5X0gf0cTvRkFig=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIQDENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@mancity\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCkzCjdRMrW2vXLx8mvPVLdQ\', \'canonicalBaseUrl\': \'/@mancity\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Q6oDwoDsmyo\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Q6oDwoDsmyo/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLB0ykM0AqXHYVqv7aqCV_LATvMZ1A\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Q6oDwoDsmyo/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDnE1Q5z8XmGL3m_hr9OR9WAYuRvA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Q6oDwoDsmyo/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAE3FaGazv_72PEy0AesTVYAFGPzQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857910, \'section3Color\': 15201007, \'primaryTitleColor\': 1120535, \'secondaryTitleColor\': 4746082, \'section4Color\': 14543848}, \'darkColorPalette\': {\'section2Color\': 1648163, \'section3Color\': 1120535, \'primaryTitleColor\': 15073273, \'secondaryTitleColor\': 10734786, \'section4Color\': 527371}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa2\\x80\\x98True Face Of Fascist Govt\xc3\xa2\\x80\\x99: Abhishek Banerjee Delivers Fiery Speech In Lok Sabha On Union Budget\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa2\\x80\\x98True Face Of Fascist Govt\xc3\xa2\\x80\\x99: Abhishek Banerjee Delivers Fiery Speech In Lok Sabha On Union Budget by HW News Network 38,145 views 1 day ago 38 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'All India Trinamool Congress Lok Sabha Member of Parliament Abhishek Banerjee took a swipe at the Bharatiya Janata Party government in the Lower House. Mr. Banerjee in his speech talked about...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'HW News Network\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HWNewsNetwork\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGbasSKN8Nbxv1IWAAq3kUA\', \'canonicalBaseUrl\': \'/@HWNewsNetwork\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'38 minutes, 8 seconds\'}}, \'simpleText\': \'38:08\'}, \'viewCountText\': {\'simpleText\': \'38,145 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Q6oDwoDsmyo\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Q6oDwoDsmyo\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=43aa03c280ec9b2a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'HW News Network\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HWNewsNetwork\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGbasSKN8Nbxv1IWAAq3kUA\', \'canonicalBaseUrl\': \'/@HWNewsNetwork\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'HW News Network\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HWNewsNetwork\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGbasSKN8Nbxv1IWAAq3kUA\', \'canonicalBaseUrl\': \'/@HWNewsNetwork\'}}}]}, \'trackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFVAqrayh6j4gNVD\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'38K views\'}}, \'simpleText\': \'38K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Q6oDwoDsmyo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Q6oDwoDsmyo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Q6oDwoDsmyo\']}}]}}, \'trackingParams\': \'CIMDEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtRNm9Ed29Ec215bw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIIDEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nprmTFgC9Qw0iYBEzXMEOL9Bm7fmBEY7nCKliO1KIN2qc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HWNewsNetwork\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGbasSKN8Nbxv1IWAAq3kUA\', \'canonicalBaseUrl\': \'/@HWNewsNetwork\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'38 minutes, 8 seconds\'}}, \'simpleText\': \'38:08\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Q6oDwoDsmyo\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Q6oDwoDsmyo\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIEDEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Q6oDwoDsmyo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Q6oDwoDsmyo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Q6oDwoDsmyo\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIADEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nprmTFgC9Qw0iYBEzXMEOL9Bm7fmBEY7nCKliO1KIN2qc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CP8CENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HWNewsNetwork\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGbasSKN8Nbxv1IWAAq3kUA\', \'canonicalBaseUrl\': \'/@HWNewsNetwork\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'15o_NjL93ig\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/15o_NjL93ig/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBtfY6fLOZ7Xc_aLwmgwtRBIRqdRQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/15o_NjL93ig/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDzsV8aXHKQL3JsAYa_zfXlEPyD8g\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/15o_NjL93ig/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCBrc1dBLEdIrztrOMgWObirhKK9w\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857911, \'section3Color\': 15201008, \'primaryTitleColor\': 1054999, \'secondaryTitleColor\': 4549476, \'section4Color\': 14543849}, \'darkColorPalette\': {\'section2Color\': 337440, \'section3Color\': 203029, \'primaryTitleColor\': 15073274, \'secondaryTitleColor\': 10734789, \'section4Color\': 68618}}, \'title\': {\'runs\': [{\'text\': \'Kolkata Protest: Student unions stage a protest amid the ongoing anti quota protests in Bangladesh\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Kolkata Protest: Student unions stage a protest amid the ongoing anti quota protests in Bangladesh by Sangbad Pratidin 3,088,229 views 6 days ago 5 minutes, 32 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Kolkata Protest: \'\xc3\xa0\xc2\xa6\\x96\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\xc2\xb9\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x87\', \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6-\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb7\xc3\xa0\xc2\xa7\\x8b\xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xa3\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb7\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa7\\x83\xc3\xa0\xc2\xa6\xc2\xb7\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\\x9f\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5 minutes, 32 seconds\'}}, \'simpleText\': \'5:32\'}, \'viewCountText\': {\'simpleText\': \'3,088,229 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=15o_NjL93ig\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'15o_NjL93ig\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d79a3f3632fdde28&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'trackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFVAqLz3l-Pmj83XAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 million views\'}}, \'simpleText\': \'3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CP4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CP4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'15o_NjL93ig\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CP4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'15o_NjL93ig\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'15o_NjL93ig\']}}]}}, \'trackingParams\': \'CP4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgsxNW9fTmpMOTNpZw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CP0CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_minbJIhJspwyQQfZwq2XPJyzKMZ5dobhPnR5D5yrF3VkY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5 minutes, 32 seconds\'}}, \'simpleText\': \'5:32\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'15o_NjL93ig\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'15o_NjL93ig\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'15o_NjL93ig\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'15o_NjL93ig\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'15o_NjL93ig\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_minbJIhJspwyQQfZwq2XPJyzKMZ5dobhPnR5D5yrF3VkY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPoCENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Z7_NNgXbyR4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAZgfXfLzP-Lsvij0LkWYIZ6vJWbg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCO1yyagYydNvz7N7gG2jb2YS7Ekw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDXXnTt7ruIBasPzBuTdLKdYJtOeg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15199986, \'primaryTitleColor\': 1447961, \'secondaryTitleColor\': 5923429, \'section4Color\': 14542827}, \'darkColorPalette\': {\'section2Color\': 2171942, \'section3Color\': 1447961, \'primaryTitleColor\': 15071231, \'secondaryTitleColor\': 11846860, \'section4Color\': 723980}}, \'title\': {\'runs\': [{\'text\': \'Realme 13 Pro plus is here - Ultra clear camera vs DSLR\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Realme 13 Pro plus is here - Ultra clear camera vs DSLR by Technology Gyan 834,775 views 3 days ago 13 minutes, 9 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Realme 13 pro+ aa gaya hai dslr level camera k sath...\\n\\naaj is video mein camera test krte hai realme ke new smartphone realme 13 pro plus ka side by side compare krenge dslr se jange bhai...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 9 seconds\'}}, \'simpleText\': \'13:09\'}, \'viewCountText\': {\'simpleText\': \'834,775 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Z7_NNgXbyR4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Z7_NNgXbyR4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=67bfcd3605dbc91e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'trackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFVAnpLvruCm899n\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'834K views\'}}, \'simpleText\': \'834K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Z7_NNgXbyR4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Z7_NNgXbyR4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Z7_NNgXbyR4\']}}]}}, \'trackingParams\': \'CPkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtaN19OTmdYYnlSNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPgCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/tC7T8-4MvARqycrxkYbYQh5ygYMjqIn4ET9s-OAjmWeM349qscepubONTcBvb_vG43jwW_Xi_g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 9 seconds\'}}, \'simpleText\': \'13:09\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Z7_NNgXbyR4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Z7_NNgXbyR4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Z7_NNgXbyR4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Z7_NNgXbyR4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Z7_NNgXbyR4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/tC7T8-4MvARqycrxkYbYQh5ygYMjqIn4ET9s-OAjmWeM349qscepubONTcBvb_vG43jwW_Xi_g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPUCENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'_TZInXCnA60\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/_TZInXCnA60/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhPIFIoZTAP&rs=AOn4CLCD5shhOmWsiAkfh76KTGqXVPzZ9g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/_TZInXCnA60/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYTyBSKGUwDw==&rs=AOn4CLAWWKYzEWKxnyGBxbP2abBEg4dN2w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/_TZInXCnA60/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYTyBSKGUwDw==&rs=AOn4CLCwfnweJCh3DrOCMnGamHS_1yY31w\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856376, \'section3Color\': 15198450, \'primaryTitleColor\': 1250329, \'secondaryTitleColor\': 5988213, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 2566451, \'section3Color\': 1908518, \'primaryTitleColor\': 15067647, \'secondaryTitleColor\': 10725836, \'section4Color\': 1250329}}, \'title\': {\'runs\': [{\'text\': \'Geeta LLB | \xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\\x86\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x81\xc3\xa0\xc2\xa6\xc2\xb8 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa7\\x8b \xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x80\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa5\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8 6:30 PM |\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Geeta LLB | \xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\\x86\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x81\xc3\xa0\xc2\xa6\xc2\xb8 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa7\\x8b \xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x80\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa5\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8 6:30 PM | by Star Jalsha 321,287 views 1 day ago 3 minutes, 20 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Geeta LLB | \xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\\x86\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x81\xc3\xa0\xc2\xa6\xc2\xb8 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa7\\x8b \xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x80\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa5\xc2\xa4\\n\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8 6:30 PM | \\n#GeetaLLB #\xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x80\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xbeLLB...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Star Jalsha\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starjalshaindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCvMd32ON30vh2bd-_A5KA1A\', \'canonicalBaseUrl\': \'/@starjalshaindia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 20 seconds\'}}, \'simpleText\': \'3:20\'}, \'viewCountText\': {\'simpleText\': \'321,287 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=_TZInXCnA60\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'_TZInXCnA60\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fd36489d70a703ad&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Star Jalsha\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starjalshaindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCvMd32ON30vh2bd-_A5KA1A\', \'canonicalBaseUrl\': \'/@starjalshaindia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Star Jalsha\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starjalshaindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCvMd32ON30vh2bd-_A5KA1A\', \'canonicalBaseUrl\': \'/@starjalshaindia\'}}}]}, \'trackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFVArYechdeTkpv9AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'321K views\'}}, \'simpleText\': \'321K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_TZInXCnA60\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_TZInXCnA60\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_TZInXCnA60\']}}]}}, \'trackingParams\': \'CPQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtfVFpJblhDbkE2MA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPMCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/8Ex39hGjdgzPY05MsPLajf7y312w5RtJA0ZwryXWg4u_ZSfT59rRc902bcbsO5Eh6O2JS_mUvQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starjalshaindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCvMd32ON30vh2bd-_A5KA1A\', \'canonicalBaseUrl\': \'/@starjalshaindia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 20 seconds\'}}, \'simpleText\': \'3:20\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'_TZInXCnA60\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'_TZInXCnA60\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_TZInXCnA60\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_TZInXCnA60\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_TZInXCnA60\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/8Ex39hGjdgzPY05MsPLajf7y312w5RtJA0ZwryXWg4u_ZSfT59rRc902bcbsO5Eh6O2JS_mUvQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPACENwwGBoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starjalshaindia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCvMd32ON30vh2bd-_A5KA1A\', \'canonicalBaseUrl\': \'/@starjalshaindia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'0ktr83UQAaw\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/0ktr83UQAaw/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCxwXSXN_rgM7mUAzg1WKsQczMFFw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/0ktr83UQAaw/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBf4EScqOzO0eL9Og8KYrrAboZmnQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/0ktr83UQAaw/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAveNu95lRyqYFvMXGfzsVTMoQY4Q\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16316145, \'section3Color\': 15921127, \'primaryTitleColor\': 1644565, \'secondaryTitleColor\': 7038554, \'section4Color\': 15460317}, \'darkColorPalette\': {\'section2Color\': 2631458, \'section3Color\': 1644565, \'primaryTitleColor\': 16775141, \'secondaryTitleColor\': 13419436, \'section4Color\': 789514}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\\x8f\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\\x9f\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x83\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbe | Gopal Bhar (Bengali) | Double Gopal\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa6\\x8f\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\\x9f\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x83\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbe | Gopal Bhar (Bengali) | Double Gopal by Sony AATH 325,622 views 1 day ago 44 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Click here to Subscribe to SONY AATH Channel: https://www.youtube.com/channel/UCBz9qbqujcjIavFmBJW2oZw?sub_confirmation=1\\n\\nA king is sitting and thinking about how to exercise his reign in...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'44 minutes, 22 seconds\'}}, \'simpleText\': \'44:22\'}, \'viewCountText\': {\'simpleText\': \'325,622 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=0ktr83UQAaw\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'0ktr83UQAaw\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d24b6bf3751001ac&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'trackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFVArIPAqLf-2qXSAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'325K views\'}}, \'simpleText\': \'325K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CO8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CO8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'0ktr83UQAaw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CO8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'0ktr83UQAaw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'0ktr83UQAaw\']}}]}}, \'trackingParams\': \'CO8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgswa3RyODNVUUFhdw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CO4CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/5uZAuYDhUt_iliyZjcxhPKY_HQYH7dGbKGDfp8cMtfZN6E56SVK3svaUwhLY35ECWlVfijdgTw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'44 minutes, 22 seconds\'}}, \'simpleText\': \'44:22\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CO0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'0ktr83UQAaw\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CO0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'0ktr83UQAaw\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CO0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'0ktr83UQAaw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'0ktr83UQAaw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'0ktr83UQAaw\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/5uZAuYDhUt_iliyZjcxhPKY_HQYH7dGbKGDfp8cMtfZN6E56SVK3svaUwhLY35ECWlVfijdgTw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COsCENwwGBsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Umh-TUBbxjI\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Umh-TUBbxjI/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhlIEooQzAP&rs=AOn4CLBQxQf7qNY4A1Ffu4WAMMiXm_QaWA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Umh-TUBbxjI/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYZSBKKEMwDw==&rs=AOn4CLDryQ8kE2fly-U2kd8wuti_mLoOPA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Umh-TUBbxjI/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYZSBKKEMwDw==&rs=AOn4CLBb75UaJ9lku8zMX0d_jGSebEWToA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8018257, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3351841, \'section3Color\': 2497305, \'primaryTitleColor\': 16771813, \'secondaryTitleColor\': 13413027, \'section4Color\': 1643024}}, \'title\': {\'runs\': [{\'text\': \'I Opened My Own Grocery Store (Supermarket Simulator Part 1)\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'I Opened My Own Grocery Store (Supermarket Simulator Part 1) by Live Insaan 1,786,410 views 2 days ago 47 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Playing Supermarket Simulator today, a game where we start our own shop and make it into a big mall.\\n\\nBecome a Channel Member \xc3\xa2\\x96\xc2\xba https://www.youtube.com/channel/UCFwKgzKe-EdTz83r6wzhmOw/join...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'47 minutes, 22 seconds\'}}, \'simpleText\': \'47:22\'}, \'viewCountText\': {\'simpleText\': \'1,786,410 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Umh-TUBbxjI\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Umh-TUBbxjI\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=52687e4d405bc632&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'trackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFVAsozvgtTJn7RS\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.7 million views\'}}, \'simpleText\': \'1.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Umh-TUBbxjI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Umh-TUBbxjI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Umh-TUBbxjI\']}}]}}, \'trackingParams\': \'COoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtVbWgtVFVCYnhqSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COkCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nfsMq7BaO5zHVHhYcu_wHgQVimFgC7uBCbboM7a1koBWk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'47 minutes, 22 seconds\'}}, \'simpleText\': \'47:22\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Umh-TUBbxjI\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Umh-TUBbxjI\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Umh-TUBbxjI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Umh-TUBbxjI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Umh-TUBbxjI\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nfsMq7BaO5zHVHhYcu_wHgQVimFgC7uBCbboM7a1koBWk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COYCENwwGBwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'2ZTNc5ONivY\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/2ZTNc5ONivY/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDS-fnduuby4dbnHfBcOU5kxi7COA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/2ZTNc5ONivY/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCAwzai6kefolhRq_W_Rzep2CYnmQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/2ZTNc5ONivY/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA1dLCENjjrmOfgErxEs9x3UpWJmg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8017999, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3350813, \'section3Color\': 2496790, \'primaryTitleColor\': 16771813, \'secondaryTitleColor\': 13413283, \'section4Color\': 1642510}}, \'title\': {\'runs\': [{\'text\': \'Etna Bada TV Le Liya \xc3\xb0\\x9f\\x98\\x8d\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Etna Bada TV Le Liya \xc3\xb0\\x9f\\x98\\x8d by Sourav Joshi Vlogs 3,889,009 views 20 hours ago 9 minutes, 18 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Folllow me on Instagram- https://www.instagram.com/souravjoshivlogs/?hl=en\\n \\nI hope you enjoyed this video\\n\\nhit likes.\\nAnd do subscribe to my channel\\n\\nThank you so much for watching\\n\\ngod bless...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'20 hours ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 18 seconds\'}}, \'simpleText\': \'9:18\'}, \'viewCountText\': {\'simpleText\': \'3,889,009 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=2ZTNc5ONivY\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'2ZTNc5ONivY\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d994cd73938d8af6&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'trackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFVA9pW2nLmus8rZAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.8 million views\'}}, \'simpleText\': \'3.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'2ZTNc5ONivY\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'2ZTNc5ONivY\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'2ZTNc5ONivY\']}}]}}, \'trackingParams\': \'COUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgsyWlROYzVPTml2WQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COQCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/f6BWKFJa-1DcnqCIqiGCqNl2daN4rSo21UogJbKcmPC6h_VkvlF3TQ1rF-I6hN66hZ6Dfjb-bA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 18 seconds\'}}, \'simpleText\': \'9:18\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'2ZTNc5ONivY\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'2ZTNc5ONivY\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'2ZTNc5ONivY\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'2ZTNc5ONivY\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'2ZTNc5ONivY\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/f6BWKFJa-1DcnqCIqiGCqNl2daN4rSo21UogJbKcmPC6h_VkvlF3TQ1rF-I6hN66hZ6Dfjb-bA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COECENwwGB0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'tPGHoOMKkuI\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/tPGHoOMKkuI/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBevIvKWNMu4cbwoy3qE5wXj0sCRQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/tPGHoOMKkuI/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCX7JfgNnDnYIYaLb1N45md5Ri3ug\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/tPGHoOMKkuI/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCUHdBD5YXEv3fBV77PqpLH-6GzcQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16316401, \'section3Color\': 15921383, \'primaryTitleColor\': 1644304, \'secondaryTitleColor\': 7038021, \'section4Color\': 15460829}, \'darkColorPalette\': {\'section2Color\': 2630150, \'section3Color\': 1643779, \'primaryTitleColor\': 16775909, \'secondaryTitleColor\': 13419683, \'section4Color\': 788993}}, \'title\': {\'runs\': [{\'text\': \'Fire Song (Tamil) - Lyrical | Kanguva | Suriya | Devi Sri Prasad | Siva | Viveka\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Fire Song (Tamil) - Lyrical | Kanguva | Suriya | Devi Sri Prasad | Siva | Viveka by Saregama Tamil 13,105,976 views 2 days ago 3 minutes, 42 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'For more latest songs & videos, subscribe \xc3\xb0\\x9f\\x91\\x89 https://bit.ly/Saregama_Tamil\\n\\nFeel the fierce of the "Fire Song (Tamil)" from \\\'Kanguva\\\' starring Suriya, Disha Patani, Bobby Deol & others. Directed...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Saregama Tamil\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaTamil\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzee67JnEcuvjErRyWP3GpQ\', \'canonicalBaseUrl\': \'/@SaregamaTamil\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 42 seconds\'}}, \'simpleText\': \'3:42\'}, \'viewCountText\': {\'simpleText\': \'13,105,976 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=tPGHoOMKkuI\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'tPGHoOMKkuI\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b4f187a0e30a92e2&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Saregama Tamil\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaTamil\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzee67JnEcuvjErRyWP3GpQ\', \'canonicalBaseUrl\': \'/@SaregamaTamil\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Saregama Tamil\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaTamil\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzee67JnEcuvjErRyWP3GpQ\', \'canonicalBaseUrl\': \'/@SaregamaTamil\'}}}]}, \'trackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFVA4qWqmI704fi0AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 million views\'}}, \'simpleText\': \'13M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'tPGHoOMKkuI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'tPGHoOMKkuI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'tPGHoOMKkuI\']}}]}}, \'trackingParams\': \'COACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt0UEdIb09NS2t1SQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CN8CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/4F-yeAEe13w301lipg9c63oWgvg9BwbNpn3NILdtZKldTMTlnxgED2an5up86xUoL0bQx73LDQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaTamil\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzee67JnEcuvjErRyWP3GpQ\', \'canonicalBaseUrl\': \'/@SaregamaTamil\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 42 seconds\'}}, \'simpleText\': \'3:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CN4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'tPGHoOMKkuI\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CN4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'tPGHoOMKkuI\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CN4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CN0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CN0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'tPGHoOMKkuI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CN0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'tPGHoOMKkuI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'tPGHoOMKkuI\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CN0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/4F-yeAEe13w301lipg9c63oWgvg9BwbNpn3NILdtZKldTMTlnxgED2an5up86xUoL0bQx73LDQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNwCENwwGB4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaTamil\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzee67JnEcuvjErRyWP3GpQ\', \'canonicalBaseUrl\': \'/@SaregamaTamil\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'b7sQ8MZt_hI\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/b7sQ8MZt_hI/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCYW0nA_78Z_yqRr196HB3cwdknlQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/b7sQ8MZt_hI/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBZ__mBxAkWOJqBtDeiZDR_8N6fjQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/b7sQ8MZt_hI/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDKE94gFcuJ32l8oFf420g0qSganA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315889, \'section3Color\': 15920615, \'primaryTitleColor\': 1644048, \'secondaryTitleColor\': 7364680, \'section4Color\': 15460061}, \'darkColorPalette\': {\'section2Color\': 2630426, \'section3Color\': 1643792, \'primaryTitleColor\': 16774629, \'secondaryTitleColor\': 13417635, \'section4Color\': 789000}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xa7\xc3\xa0\xc2\xa6\xc2\xa8 \xc3\xa0\xc2\xa6\\x8f\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x97 | Gopal Bhar (Bengali) | Double Gopal\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa6\xc2\xa7\xc3\xa0\xc2\xa6\xc2\xa8 \xc3\xa0\xc2\xa6\\x8f\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\xad\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x97 | Gopal Bhar (Bengali) | Double Gopal by Sony AATH 416,365 views 2 days ago 43 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Click here to Subscribe to SONY AATH Channel: https://www.youtube.com/channel/UCBz9qbqujcjIavFmBJW2oZw?sub_confirmation=1\\n\\nIt starts raining heavily so Pandit advises everyone to take shelter...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'43 minutes, 35 seconds\'}}, \'simpleText\': \'43:35\'}, \'viewCountText\': {\'simpleText\': \'416,365 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=b7sQ8MZt_hI\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'b7sQ8MZt_hI\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6fbb10f0c66dfe12&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sony AATH\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}]}, \'trackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFVAkvy3s4yexN1v\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'416K views\'}}, \'simpleText\': \'416K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'b7sQ8MZt_hI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'b7sQ8MZt_hI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'b7sQ8MZt_hI\']}}]}}, \'trackingParams\': \'CNsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtiN3NROE1adF9oSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNoCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/5uZAuYDhUt_iliyZjcxhPKY_HQYH7dGbKGDfp8cMtfZN6E56SVK3svaUwhLY35ECWlVfijdgTw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'43 minutes, 35 seconds\'}}, \'simpleText\': \'43:35\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'b7sQ8MZt_hI\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'b7sQ8MZt_hI\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'b7sQ8MZt_hI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'b7sQ8MZt_hI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'b7sQ8MZt_hI\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/5uZAuYDhUt_iliyZjcxhPKY_HQYH7dGbKGDfp8cMtfZN6E56SVK3svaUwhLY35ECWlVfijdgTw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNcCENwwGB8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SonyAATH\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBz9qbqujcjIavFmBJW2oZw\', \'canonicalBaseUrl\': \'/@SonyAATH\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'YK1pIuPsl9I\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/YK1pIuPsl9I/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBSKEOSl4ZlOK23gmcsEZ2MwCzNnA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/YK1pIuPsl9I/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBBYbueyysEsCCM4jo4LHLJv5XpbQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/YK1pIuPsl9I/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAvCUSswcI9XvVeE6gT4JwBYrLNBw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920103, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691340, \'section4Color\': 15459293}, \'darkColorPalette\': {\'section2Color\': 3349775, \'section3Color\': 2495755, \'primaryTitleColor\': 16773093, \'secondaryTitleColor\': 13415331, \'section4Color\': 1641991}}, \'title\': {\'runs\': [{\'text\': "Bangladesh Student Protests | What Is \'Dictator\' Sheikh Hasina Afraid Of? | Akash Banerjee & Adwaith"}], \'accessibility\': {\'accessibilityData\': {\'label\': "Bangladesh Student Protests | What Is \'Dictator\' Sheikh Hasina Afraid Of? | Akash Banerjee & Adwaith by The Deshbhakt 2,412,582 views 3 days ago 19 minutes"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Its the WORST crisis in the career of Sheikh Hasina - the undeclared Dictator of Bangladesh. Students have paid the ultimate price - fighting back a reservation system that makes no sense to...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'The Deshbhakt\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thedeshbhakt\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmTM_hPCeckqN3cPWtYZZcg\', \'canonicalBaseUrl\': \'/@thedeshbhakt\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 23 seconds\'}}, \'simpleText\': \'19:23\'}, \'viewCountText\': {\'simpleText\': \'2,412,582 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=YK1pIuPsl9I\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'YK1pIuPsl9I\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=60ad6922e3ec97d2&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'The Deshbhakt\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thedeshbhakt\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmTM_hPCeckqN3cPWtYZZcg\', \'canonicalBaseUrl\': \'/@thedeshbhakt\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'The Deshbhakt\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thedeshbhakt\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmTM_hPCeckqN3cPWtYZZcg\', \'canonicalBaseUrl\': \'/@thedeshbhakt\'}}}]}, \'trackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFVA0q-yn66k2tZg\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.4 million views\'}}, \'simpleText\': \'2.4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNYCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNYCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'YK1pIuPsl9I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNYCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'YK1pIuPsl9I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'YK1pIuPsl9I\']}}]}}, \'trackingParams\': \'CNYCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtZSzFwSXVQc2w5SQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNUCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/wYGFSC15QYFe-lyOt3-MhR23aaNyOIKt3DG2RNj5V_uk9JDeayKHQK_Nx9oEzjiTmlCA5owo=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thedeshbhakt\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmTM_hPCeckqN3cPWtYZZcg\', \'canonicalBaseUrl\': \'/@thedeshbhakt\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 23 seconds\'}}, \'simpleText\': \'19:23\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNQCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'YK1pIuPsl9I\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNQCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'YK1pIuPsl9I\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNQCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNMCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNMCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'YK1pIuPsl9I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNMCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'YK1pIuPsl9I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'YK1pIuPsl9I\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNMCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/wYGFSC15QYFe-lyOt3-MhR23aaNyOIKt3DG2RNj5V_uk9JDeayKHQK_Nx9oEzjiTmlCA5owo=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNICENwwGCAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@thedeshbhakt\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmTM_hPCeckqN3cPWtYZZcg\', \'canonicalBaseUrl\': \'/@thedeshbhakt\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'7aqg9P9c2YM\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/7aqg9P9c2YM/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCwpnIXgxor9fK3-g1s1oM7j2OZrQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/7aqg9P9c2YM/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDKuFMWKJl5HVL1rVoNqOKLB43cYA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/7aqg9P9c2YM/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDw4XceO8ZuGL6v2T6Y_H3RRAPPGg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857912, \'section3Color\': 15200754, \'primaryTitleColor\': 1054745, \'secondaryTitleColor\': 4614251, \'section4Color\': 14543595}, \'darkColorPalette\': {\'section2Color\': 1647910, \'section3Color\': 1054745, \'primaryTitleColor\': 15072767, \'secondaryTitleColor\': 10734028, \'section4Color\': 527372}}, \'title\': {\'runs\': [{\'text\': \'Budget 2024 highlights | Impact on Stock Market | CA Rachana Ranade\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Budget 2024 highlights | Impact on Stock Market | CA Rachana Ranade by CA Rachana Phadke Ranade 306,694 views 2 days ago 15 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'In this video, we will summarise the complexities of Budget 2024. Discover how the latest financial policies will shape the stock market and affect your personal finances. We break down the...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'CA Rachana Phadke Ranade\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CARachanaRanade\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCe3qdG0A_gr-sEdat5y2twQ\', \'canonicalBaseUrl\': \'/@CARachanaRanade\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'15 minutes, 32 seconds\'}}, \'simpleText\': \'15:32\'}, \'viewCountText\': {\'simpleText\': \'306,694 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=7aqg9P9c2YM\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'7aqg9P9c2YM\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=edaaa0f4ff5cd983&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'CA Rachana Phadke Ranade\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CARachanaRanade\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCe3qdG0A_gr-sEdat5y2twQ\', \'canonicalBaseUrl\': \'/@CARachanaRanade\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'CA Rachana Phadke Ranade\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CARachanaRanade\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCe3qdG0A_gr-sEdat5y2twQ\', \'canonicalBaseUrl\': \'/@CARachanaRanade\'}}}]}, \'trackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFVAg7Pz-s-eqNXtAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'306K views\'}}, \'simpleText\': \'306K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNECEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNECEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7aqg9P9c2YM\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNECEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7aqg9P9c2YM\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7aqg9P9c2YM\']}}]}}, \'trackingParams\': \'CNECEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs3YXFnOVA5YzJZTQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNACEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/sps3-8-kwMHBYY88j9KLXjxV3lV-RFWri_N4fFnizV1h4BeQepi9PdK9C5hK8MStydtyM_UrerI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CARachanaRanade\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCe3qdG0A_gr-sEdat5y2twQ\', \'canonicalBaseUrl\': \'/@CARachanaRanade\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'15 minutes, 32 seconds\'}}, \'simpleText\': \'15:32\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CM8CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'7aqg9P9c2YM\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CM8CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'7aqg9P9c2YM\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CM8CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CM4CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CM4CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7aqg9P9c2YM\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CM4CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7aqg9P9c2YM\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7aqg9P9c2YM\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CM4CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/sps3-8-kwMHBYY88j9KLXjxV3lV-RFWri_N4fFnizV1h4BeQepi9PdK9C5hK8MStydtyM_UrerI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CM0CENwwGCEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CARachanaRanade\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCe3qdG0A_gr-sEdat5y2twQ\', \'canonicalBaseUrl\': \'/@CARachanaRanade\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'NHbURNI11yg\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/NHbURNI11yg/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDzoyBgIqZif8f3QlvjC27eWI-pMw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/NHbURNI11yg/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDWeCuiBJQwdH-layoXFH7xTyN8Ag\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/NHbURNI11yg/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCK7j7AZDKgVfpZaTZQn1Vh6rkQ3Q\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16251121, \'section3Color\': 15790823, \'primaryTitleColor\': 1579280, \'secondaryTitleColor\': 6646597, \'section4Color\': 15330269}, \'darkColorPalette\': {\'section2Color\': 2304006, \'section3Color\': 1448195, \'primaryTitleColor\': 16449509, \'secondaryTitleColor\': 12962979, \'section4Color\': 723969}}, \'title\': {\'runs\': [{\'text\': \'Alakh Sir promise FREE Batches for student After NO RE-NEET\xc3\xb0\\x9f\\x98\\x87 | Full Details\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Alakh Sir promise FREE Batches for student After NO RE-NEET\xc3\xb0\\x9f\\x98\\x87 | Full Details by Competition Wallah 238,386 views 1 day ago 7 minutes, 57 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Google Form - https://docs.google.com/forms/u/0/d/e/1FAIpQLSfxo2SVIg8Lsa6hrl5_Lq3D-CdsThoEFG2BFvrzQGXViguvBw/viewform?pli=1\\n\\nYakeen NEET 3.0 2025\\nhttps://physicswallah.onelink.me/ZAZB/hrebnz76...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Competition Wallah\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PW-NEETWallah\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCD16eo98AXl-9T61Xd711kQ\', \'canonicalBaseUrl\': \'/@PW-NEETWallah\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'7 minutes, 57 seconds\'}}, \'simpleText\': \'7:57\'}, \'viewCountText\': {\'simpleText\': \'238,386 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=NHbURNI11yg\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'NHbURNI11yg\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3476d444d235d728&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Competition Wallah\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PW-NEETWallah\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCD16eo98AXl-9T61Xd711kQ\', \'canonicalBaseUrl\': \'/@PW-NEETWallah\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Competition Wallah\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PW-NEETWallah\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCD16eo98AXl-9T61Xd711kQ\', \'canonicalBaseUrl\': \'/@PW-NEETWallah\'}}}]}, \'trackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFVAqK7Xkc2Itbs0\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'238K views\'}}, \'simpleText\': \'238K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMwCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMwCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'NHbURNI11yg\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMwCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'NHbURNI11yg\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'NHbURNI11yg\']}}]}}, \'trackingParams\': \'CMwCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtOSGJVUk5JMTF5Zw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMsCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/y4aXsm5Sa4c0KSLdF7rAP2E6Ku9DD8skwqJt6MDBL2UKutQ8phrwGc9vJ0sf3HDBuox_qtWC=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PW-NEETWallah\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCD16eo98AXl-9T61Xd711kQ\', \'canonicalBaseUrl\': \'/@PW-NEETWallah\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'7 minutes, 57 seconds\'}}, \'simpleText\': \'7:57\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMoCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'NHbURNI11yg\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMoCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'NHbURNI11yg\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMoCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMkCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMkCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'NHbURNI11yg\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMkCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'NHbURNI11yg\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'NHbURNI11yg\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMkCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/y4aXsm5Sa4c0KSLdF7rAP2E6Ku9DD8skwqJt6MDBL2UKutQ8phrwGc9vJ0sf3HDBuox_qtWC=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMgCENwwGCIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PW-NEETWallah\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCD16eo98AXl-9T61Xd711kQ\', \'canonicalBaseUrl\': \'/@PW-NEETWallah\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'xO_4nFHuLn0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/xO_4nFHuLn0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDDfTScg53GAiXJ421qMA5EJn8LKQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/xO_4nFHuLn0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB4qiWXw-3vJOlNMku16cFqLvVGqw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/xO_4nFHuLn0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBP5A_-yKb-O0E2jcfwYS-8CbGTdQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857656, \'section3Color\': 15200754, \'primaryTitleColor\': 1120281, \'secondaryTitleColor\': 4810603, \'section4Color\': 14543595}, \'darkColorPalette\': {\'section2Color\': 1713446, \'section3Color\': 1120281, \'primaryTitleColor\': 15072511, \'secondaryTitleColor\': 10733772, \'section4Color\': 527372}}, \'title\': {\'runs\': [{\'text\': \'Strongest Phone Ever Unboxing\xc3\xb0\\x9f\\x94\xc2\xa5! \xc3\xa0\xc2\xa4\\x86 \xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xac \xc3\xa0\xc2\xa4\xc2\xab\xc3\xa0\xc2\xa4\xc2\xbc\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xac\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xaa - Phone Nahi Stone Hai\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Strongest Phone Ever Unboxing\xc3\xb0\\x9f\\x94\xc2\xa5! \xc3\xa0\xc2\xa4\\x86 \xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xac \xc3\xa0\xc2\xa5\\x9e\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xac\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xaa - Phone Nahi Stone Hai by THE INDIAN UNBOXER 391,969 views 2 days ago 10 minutes, 39 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Hello guys, is video me humne ek ajeebogareeb phone ki unboxing kari hai.\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'THE INDIAN UNBOXER\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheIndianUnboxer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCIcKN-VXhkZNpf5DRdHp9JA\', \'canonicalBaseUrl\': \'/@TheIndianUnboxer\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 39 seconds\'}}, \'simpleText\': \'10:39\'}, \'viewCountText\': {\'simpleText\': \'391,969 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=xO_4nFHuLn0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'xO_4nFHuLn0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c4eff89c51ee2e7d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'THE INDIAN UNBOXER\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheIndianUnboxer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCIcKN-VXhkZNpf5DRdHp9JA\', \'canonicalBaseUrl\': \'/@TheIndianUnboxer\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'THE INDIAN UNBOXER\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheIndianUnboxer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCIcKN-VXhkZNpf5DRdHp9JA\', \'canonicalBaseUrl\': \'/@TheIndianUnboxer\'}}}]}, \'trackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFVA_dy4j8WT_vfEAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'391K views\'}}, \'simpleText\': \'391K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMcCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMcCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xO_4nFHuLn0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMcCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xO_4nFHuLn0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xO_4nFHuLn0\']}}]}}, \'trackingParams\': \'CMcCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt4T180bkZIdUxuMA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMYCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mgHOUVR55JYmLlxYbFmTSiMm489l-BRfd3zI7D_WQf_rg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheIndianUnboxer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCIcKN-VXhkZNpf5DRdHp9JA\', \'canonicalBaseUrl\': \'/@TheIndianUnboxer\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 39 seconds\'}}, \'simpleText\': \'10:39\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMUCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'xO_4nFHuLn0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMUCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'xO_4nFHuLn0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMUCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMQCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMQCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xO_4nFHuLn0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMQCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xO_4nFHuLn0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xO_4nFHuLn0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMQCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mgHOUVR55JYmLlxYbFmTSiMm489l-BRfd3zI7D_WQf_rg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMMCENwwGCMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheIndianUnboxer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCIcKN-VXhkZNpf5DRdHp9JA\', \'canonicalBaseUrl\': \'/@TheIndianUnboxer\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'7yTGYCrDBbs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAm6y7dBLciBXIBVeh9inb5NxvghQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAAH5LnCTzSQ9tfp-S7o9VVEYjzVw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAd8ipe849j0aXhvSRYgP6i_-81Ww\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856888, \'section3Color\': 15199474, \'primaryTitleColor\': 1250841, \'secondaryTitleColor\': 5530224, \'section4Color\': 14542059}, \'darkColorPalette\': {\'section2Color\': 2501683, \'section3Color\': 1843494, \'primaryTitleColor\': 15069951, \'secondaryTitleColor\': 10729420, \'section4Color\': 1250841}}, \'title\': {\'runs\': [{\'text\': \'Washing My Tractors and Vehicles in Dam | JCB 3DX | Tata Truck | Mahindra Arjun 605 | Swaraj 744\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Washing My Tractors and Vehicles in Dam | JCB 3DX | Tata Truck | Mahindra Arjun 605 | Swaraj 744 by MD JCB XPERT 597,507 views 3 days ago 20 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'LIKE || SHARE || SUBSCRIBE\\n=======================\\n\\n_____________________________________________________\\n\\nFollow us on - YouTube / MD JCB XPERT\\nInstagram :-https://www.instagram.com/mdjcb.xpert/...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'20 minutes, 12 seconds\'}}, \'simpleText\': \'20:12\'}, \'viewCountText\': {\'simpleText\': \'597,507 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=7yTGYCrDBbs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'7yTGYCrDBbs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ef24c6602ac305bb&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'trackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFVAu4uM1oLMsZLvAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'597K views\'}}, \'simpleText\': \'597K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMICEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMICEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7yTGYCrDBbs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMICEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7yTGYCrDBbs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7yTGYCrDBbs\']}}]}}, \'trackingParams\': \'CMICEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs3eVRHWUNyREJicw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMECEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_k5gYNYLjIQLJj8V3O6z6IGuQyCnFuqLe8TY_uG-Lh05zE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'20 minutes, 12 seconds\'}}, \'simpleText\': \'20:12\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMACEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'7yTGYCrDBbs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMACEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'7yTGYCrDBbs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMACEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CL8CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CL8CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7yTGYCrDBbs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CL8CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7yTGYCrDBbs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7yTGYCrDBbs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CL8CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_k5gYNYLjIQLJj8V3O6z6IGuQyCnFuqLe8TY_uG-Lh05zE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CL4CENwwGCQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'wX-dDi36lNA\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/wX-dDi36lNA/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLB_jOYB9KjKHZnajZiqSxNAsE381g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/wX-dDi36lNA/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCNFxY7mruRK7F4c16LP_SlEb52LQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/wX-dDi36lNA/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD7F9csViCf68BFsIRnADQ2MchyRg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919335, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8344914, \'section4Color\': 15458013}, \'darkColorPalette\': {\'section2Color\': 3349787, \'section3Color\': 2495764, \'primaryTitleColor\': 16771045, \'secondaryTitleColor\': 13411747, \'section4Color\': 1641997}}, \'title\': {\'runs\': [{\'text\': \'DELHI TO MUMBAI IN MY BMW\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'DELHI TO MUMBAI IN MY BMW by SOUL Regaltos 510,916 views 2 days ago 16 minutes\'}}}, \'longBylineText\': {\'runs\': [{\'text\': \'SOUL Regaltos\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@soulregaltos9810\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwFRGieumnh1MrM5F3D65Tg\', \'canonicalBaseUrl\': \'/@soulregaltos9810\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 1 second\'}}, \'simpleText\': \'16:01\'}, \'viewCountText\': {\'simpleText\': \'510,916 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=wX-dDi36lNA\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'wX-dDi36lNA\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c17f9d0e2dfa94d0&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'SOUL Regaltos\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@soulregaltos9810\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwFRGieumnh1MrM5F3D65Tg\', \'canonicalBaseUrl\': \'/@soulregaltos9810\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'SOUL Regaltos\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@soulregaltos9810\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwFRGieumnh1MrM5F3D65Tg\', \'canonicalBaseUrl\': \'/@soulregaltos9810\'}}}]}, \'trackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFVA0Knq7-Kh57_BAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'510K views\'}}, \'simpleText\': \'510K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CL0CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CL0CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wX-dDi36lNA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CL0CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wX-dDi36lNA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wX-dDi36lNA\']}}]}}, \'trackingParams\': \'CL0CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt3WC1kRGkzNmxOQQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLwCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/S9xWprcFyvLqpr2YVxa8WhnEtu3BCBD0l-ZkeOdfxIUjMzy-JC5a2Uaq2QIkU1txrtFv7XurOLk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@soulregaltos9810\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwFRGieumnh1MrM5F3D65Tg\', \'canonicalBaseUrl\': \'/@soulregaltos9810\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 1 second\'}}, \'simpleText\': \'16:01\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLsCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'wX-dDi36lNA\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLsCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'wX-dDi36lNA\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLsCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLoCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLoCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wX-dDi36lNA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLoCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wX-dDi36lNA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wX-dDi36lNA\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLoCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/S9xWprcFyvLqpr2YVxa8WhnEtu3BCBD0l-ZkeOdfxIUjMzy-JC5a2Uaq2QIkU1txrtFv7XurOLk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLkCENwwGCUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@soulregaltos9810\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCwFRGieumnh1MrM5F3D65Tg\', \'canonicalBaseUrl\': \'/@soulregaltos9810\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'hqJ9Q2iPdF4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCB3kMqFi8Udr7DUYnMEAbavsZ0aw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCeNnxSbYm0GT4o5AutXM6jFJ0vEg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCFueO_ApF2mz-OnFlcTvOmuvWQ8g\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857905, \'section3Color\': 15266535, \'primaryTitleColor\': 1251602, \'secondaryTitleColor\': 5401423, \'section4Color\': 14674909}, \'darkColorPalette\': {\'section2Color\': 1910300, \'section3Color\': 1251602, \'primaryTitleColor\': 15269861, \'secondaryTitleColor\': 10996899, \'section4Color\': 592905}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x80 \xc3\xa0\xc2\xa6\\x85\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87?\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x80 \xc3\xa0\xc2\xa6\\x85\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87? by BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe 1,924,479 views 5 days ago 3 minutes, 54 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\xc2\xb9\xc3\xa0\xc2\xa6\\x93\xc3\xa0\xc2\xa6\xc2\xaf\xc3\xa0\xc2\xa6\xc2\xbc\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x82\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa3 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xac \xc3\xa0\xc2\xa6\\x96\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x87...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'5 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 54 seconds\'}}, \'simpleText\': \'3:54\'}, \'viewCountText\': {\'simpleText\': \'1,924,479 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=hqJ9Q2iPdF4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'hqJ9Q2iPdF4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=86a27d43688f745e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'trackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFVA3ui9xLaon9GGAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.9 million views\'}}, \'simpleText\': \'1.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLgCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLgCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'hqJ9Q2iPdF4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLgCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'hqJ9Q2iPdF4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'hqJ9Q2iPdF4\']}}]}}, \'trackingParams\': \'CLgCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtocUo5UTJpUGRGNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLcCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nYQasPURYl1CI-tDg2qISGhHNYghNO0nZMe7GC-DsvUyc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 54 seconds\'}}, \'simpleText\': \'3:54\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLYCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'hqJ9Q2iPdF4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLYCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'hqJ9Q2iPdF4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLYCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLUCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLUCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'hqJ9Q2iPdF4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLUCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'hqJ9Q2iPdF4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'hqJ9Q2iPdF4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLUCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nYQasPURYl1CI-tDg2qISGhHNYghNO0nZMe7GC-DsvUyc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLQCENwwGCYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'BGy3EbyMmfU\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLANaPz-S7yPj_0gpt74Jnmo4aB3bQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCWOSbIOIm-8zP_l3B_nwTl7_wvAw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCK3ed30bLtK6BzXQi3QpC9qSBbHg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315889, \'section3Color\': 15920615, \'primaryTitleColor\': 1644307, \'secondaryTitleColor\': 7037009, \'section4Color\': 15460061}, \'darkColorPalette\': {\'section2Color\': 2630687, \'section3Color\': 1644307, \'primaryTitleColor\': 16774373, \'secondaryTitleColor\': 13417379, \'section4Color\': 789257}}, \'title\': {\'runs\': [{\'text\': \'Sawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa3 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa5\\x88\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Sawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa3 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa5\\x88 by Trimurti Bhakti 1,741,172 views 4 days ago 28 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'#trimurtibhakti \\nSawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'28 minutes, 9 seconds\'}}, \'simpleText\': \'28:09\'}, \'viewCountText\': {\'simpleText\': \'1,741,172 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=BGy3EbyMmfU\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'BGy3EbyMmfU\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=046cb711bc8c99f5&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'trackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFVA9bOy5JvirbYE\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.7 million views\'}}, \'simpleText\': \'1.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLMCEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLMCEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'BGy3EbyMmfU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLMCEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'BGy3EbyMmfU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'BGy3EbyMmfU\']}}]}}, \'trackingParams\': \'CLMCEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtCR3kzRWJ5TW1mVQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLICEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_meGBuEFNl7Cyf6Axuoi9zmjr2FCxwAxC-Q2-_xZYsZ5Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'28 minutes, 9 seconds\'}}, \'simpleText\': \'28:09\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLECEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'BGy3EbyMmfU\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLECEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'BGy3EbyMmfU\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLECEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLACEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLACEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'BGy3EbyMmfU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLACEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'BGy3EbyMmfU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'BGy3EbyMmfU\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLACEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_meGBuEFNl7Cyf6Axuoi9zmjr2FCxwAxC-Q2-_xZYsZ5Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CK8CENwwGCciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'E0AWS0O1Bjc\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/E0AWS0O1Bjc/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhEIGUoVTAP&rs=AOn4CLD4dUWkdwji76x0I1Pvop8ApILKaw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/E0AWS0O1Bjc/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYRCBlKFUwDw==&rs=AOn4CLAkDFrIBG70ZTGN4fP6UQ9Qw9YrSg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/E0AWS0O1Bjc/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYRCBlKFUwDw==&rs=AOn4CLAZUQ3XKbgcolQWMsZFfYd6WF30ng\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857909, \'section3Color\': 15201005, \'primaryTitleColor\': 1120533, \'secondaryTitleColor\': 4680538, \'section4Color\': 14543845}, \'darkColorPalette\': {\'section2Color\': 1648160, \'section3Color\': 1120533, \'primaryTitleColor\': 15073266, \'secondaryTitleColor\': 10734776, \'section4Color\': 527370}}, \'title\': {\'runs\': [{\'text\': \'I FINALLY ESCAPED FROM THE CLASSROOMS\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'I FINALLY ESCAPED FROM THE CLASSROOMS by Techno Gamerz 3,382,991 views 1 day ago 50 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'I FINALLY ESCAPED FROM THE CLASSROOMS\\n#technogamerz \\n\\nSubscribe to our Second YouTube Channel: https://www.youtube.com/c/UjjwalGamer\\n\\n\\nShare, Support, Subscribe!!!\\nSubscribe: http://bit.ly/technoga...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'50 minutes, 44 seconds\'}}, \'simpleText\': \'50:44\'}, \'viewCountText\': {\'simpleText\': \'3,382,991 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=E0AWS0O1Bjc\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'E0AWS0O1Bjc\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1340164b43b50637&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'OFFICIAL_ARTIST_BADGE\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED_ARTIST\', \'tooltip\': \'Official Artist Channel\', \'trackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Official Artist Channel\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'trackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFVAt4zUnbTJhaAT\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.3 million views\'}}, \'simpleText\': \'3.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CK4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CK4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'E0AWS0O1Bjc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CK4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'E0AWS0O1Bjc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'E0AWS0O1Bjc\']}}]}}, \'trackingParams\': \'CK4CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtFMEFXUzBPMUJqYw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CK0CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moocNXstALFiII02ett7RzPa_9lSiAAm9bXNc3zoAdGkk=s88-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'50 minutes, 44 seconds\'}}, \'simpleText\': \'50:44\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'E0AWS0O1Bjc\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'E0AWS0O1Bjc\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKwCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'E0AWS0O1Bjc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'E0AWS0O1Bjc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'E0AWS0O1Bjc\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKsCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moocNXstALFiII02ett7RzPa_9lSiAAm9bXNc3zoAdGkk=s88-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKoCENwwGCgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'bkp1RMnVgbU\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARg6IFsoZTAP&rs=AOn4CLBeJWSQNbgnpHu0b1km2CAUvHpxTA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYOiBbKGUwDw==&rs=AOn4CLD6Png04lDo1it6vzMaTxHkheUdLQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYOiBbKGUwDw==&rs=AOn4CLBPiT7VVGlaQao7kpXAqs_lgQeQlw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15200242, \'primaryTitleColor\': 1054489, \'secondaryTitleColor\': 4744816, \'section4Color\': 14543083}, \'darkColorPalette\': {\'section2Color\': 1384998, \'section3Color\': 923161, \'primaryTitleColor\': 15071487, \'secondaryTitleColor\': 10732236, \'section4Color\': 461580}}, \'title\': {\'runs\': [{\'text\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER"}], \'accessibility\': {\'accessibilityData\': {\'label\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER by Ujjwal 2,878,115 views 4 days ago 46 minutes"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER\\n#ujjwal #technogamerz \\n\\nShare, Support, Subscribe!!!\\nSubscribe: http://bit.ly/ujjwalgamer\\nDiscord : https://bitly.com/ujjwaldiscord\\nYoutube:..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'46 minutes, 57 seconds\'}}, \'simpleText\': \'46:57\'}, \'viewCountText\': {\'simpleText\': \'2,878,115 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=bkp1RMnVgbU\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'bkp1RMnVgbU\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6e4a7544c9d581b5&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'trackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFVAtYPWzsyonaVu\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.8 million views\'}}, \'simpleText\': \'2.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bkp1RMnVgbU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bkp1RMnVgbU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bkp1RMnVgbU\']}}]}}, \'trackingParams\': \'CKkCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgtia3AxUk1uVmdiVQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKgCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lyELJ0LIqRHvTpOle1dqQlSNlLhMmvs0I0vSD5hjihoGI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'46 minutes, 57 seconds\'}}, \'simpleText\': \'46:57\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'bkp1RMnVgbU\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'bkp1RMnVgbU\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKcCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bkp1RMnVgbU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bkp1RMnVgbU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bkp1RMnVgbU\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKYCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lyELJ0LIqRHvTpOle1dqQlSNlLhMmvs0I0vSD5hjihoGI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKUCENwwGCkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'vYZauUgBzyM\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/vYZauUgBzyM/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDc4Eqs2Cjj8FGiLSXY6t4ZuSWmHA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/vYZauUgBzyM/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD4JFZX8YSw8WZv6iWsSfyHRfneMA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/vYZauUgBzyM/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCGNgHaaaLZYqoVI2bTTuDQ4nU5uQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919079, \'primaryTitleColor\': 1642512, \'secondaryTitleColor\': 8344146, \'section4Color\': 15457757}, \'darkColorPalette\': {\'section2Color\': 3344135, \'section3Color\': 2491653, \'primaryTitleColor\': 16770533, \'secondaryTitleColor\': 13411235, \'section4Color\': 1639171}}, \'title\': {\'runs\': [{\'text\': \'How India just killed STOCK INVESTING! [10 Key Points!]\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'How India just killed STOCK INVESTING! [10 Key Points!] by Akshat Shrivastava 498,588 views Streamed 2 days ago 30 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xb0\\x9f\\x91\\x89 My Stock Market LIVE COURSE [CRASH COURSE over 3 weekends]\\nhttps://wisdomhatch.com/courses/stock-market-live-course-crash-course-limited-seats-september/\\n________________\\n\xc3\xb0\\x9f\\x91\\x89 Learn about...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Akshat Shrivastava\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AkshatZayn\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCqW8jxh4tH1Z1sWPbkGWL4g\', \'canonicalBaseUrl\': \'/@AkshatZayn\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'Streamed 2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'30 minutes, 54 seconds\'}}, \'simpleText\': \'30:54\'}, \'viewCountText\': {\'simpleText\': \'498,588 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=vYZauUgBzyM\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'vYZauUgBzyM\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=bd865ab94801cf23&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Akshat Shrivastava\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AkshatZayn\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCqW8jxh4tH1Z1sWPbkGWL4g\', \'canonicalBaseUrl\': \'/@AkshatZayn\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Akshat Shrivastava\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AkshatZayn\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCqW8jxh4tH1Z1sWPbkGWL4g\', \'canonicalBaseUrl\': \'/@AkshatZayn\'}}}]}, \'trackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFVAo56HwJTXlsO9AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'498K views\'}}, \'simpleText\': \'498K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'vYZauUgBzyM\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'vYZauUgBzyM\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'vYZauUgBzyM\']}}]}}, \'trackingParams\': \'CKQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt2WVphdVVnQnp5TQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKMCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ErG-whUmcqnEZfbrhdV1SqmwkNrYK0zd2nTKipi5xZ67MCEaugMaczmI2YRlYyW0-AG8xhZ6dQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AkshatZayn\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCqW8jxh4tH1Z1sWPbkGWL4g\', \'canonicalBaseUrl\': \'/@AkshatZayn\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'30 minutes, 54 seconds\'}}, \'simpleText\': \'30:54\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'vYZauUgBzyM\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'vYZauUgBzyM\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'vYZauUgBzyM\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'vYZauUgBzyM\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'vYZauUgBzyM\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ErG-whUmcqnEZfbrhdV1SqmwkNrYK0zd2nTKipi5xZ67MCEaugMaczmI2YRlYyW0-AG8xhZ6dQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKACENwwGCoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AkshatZayn\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCqW8jxh4tH1Z1sWPbkGWL4g\', \'canonicalBaseUrl\': \'/@AkshatZayn\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'_fOJFwvPnH4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/_fOJFwvPnH4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAXE5DK0M6NNQhPA2LlXhJhk8xkQQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/_fOJFwvPnH4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAq3wuJVLyQBn3RD58kTYt_julMfg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/_fOJFwvPnH4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDs8F02xVGiUlKPFn5lXJb-Kj7Oxw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920103, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 7691084, \'section4Color\': 15459293}, \'darkColorPalette\': {\'section2Color\': 3351837, \'section3Color\': 2497557, \'primaryTitleColor\': 16773093, \'secondaryTitleColor\': 13415075, \'section4Color\': 1643022}}, \'title\': {\'runs\': [{\'text\': \'Yeh Rishta Kya Kehlata Hai Today Episode NEW PROMO | 25th July 2024 |\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Yeh Rishta Kya Kehlata Hai Today Episode NEW PROMO | 25th July 2024 | by Telly Reporter 1,084,512 views 21 hours ago 1 minute\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Star Plus YRKKH / Yeh Rishta Kya Kehlata Hai Today NEW PROMO 25th July 2024 | \\n #yehrishtakyakehlatahai #samridhishukla #rohitpurohit #yrkkh \\n\xc3\xa2\\x9e\xc2\xa4Subscribe Telly Reporter @ http://bit.do/TellyRepor...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Telly Reporter\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TellyReporter\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVGiG3GcphUyMzNXg2iMN3A\', \'canonicalBaseUrl\': \'/@TellyReporter\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'21 hours ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 minute\'}}, \'simpleText\': \'1:00\'}, \'viewCountText\': {\'simpleText\': \'1,084,512 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=_fOJFwvPnH4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'_fOJFwvPnH4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fdf389170bcf9c7e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Telly Reporter\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TellyReporter\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVGiG3GcphUyMzNXg2iMN3A\', \'canonicalBaseUrl\': \'/@TellyReporter\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Telly Reporter\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TellyReporter\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVGiG3GcphUyMzNXg2iMN3A\', \'canonicalBaseUrl\': \'/@TellyReporter\'}}}]}, \'trackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFVA_ri-3vCi4vn9AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 million views\'}}, \'simpleText\': \'1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJ8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJ8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_fOJFwvPnH4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJ8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_fOJFwvPnH4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_fOJFwvPnH4\']}}]}}, \'trackingParams\': \'CJ8CEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtfZk9KRnd2UG5INA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJ4CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/CNKuIZ-EqRmHMEua0RH_ogb5Nu0s6KwlJxHApBTzLlqo5wNGLI-fkuNtR3n44tFcm-dYXRoljrc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TellyReporter\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVGiG3GcphUyMzNXg2iMN3A\', \'canonicalBaseUrl\': \'/@TellyReporter\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 minute\'}}, \'simpleText\': \'1:00\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'_fOJFwvPnH4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'_fOJFwvPnH4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ0CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_fOJFwvPnH4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_fOJFwvPnH4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_fOJFwvPnH4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJwCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/CNKuIZ-EqRmHMEua0RH_ogb5Nu0s6KwlJxHApBTzLlqo5wNGLI-fkuNtR3n44tFcm-dYXRoljrc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJsCENwwGCsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TellyReporter\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVGiG3GcphUyMzNXg2iMN3A\', \'canonicalBaseUrl\': \'/@TellyReporter\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'UbwwZlQ0-E8\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/UbwwZlQ0-E8/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCjBJv_VNhagOME0Se_FvhF6dVCTQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/UbwwZlQ0-E8/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDxyUDN8uIxUhDMnsO9jLZvd9KMog\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/UbwwZlQ0-E8/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBAHZJJo5sM6HnElupCTuQTu84LAw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856632, \'section3Color\': 15198962, \'primaryTitleColor\': 1250329, \'secondaryTitleColor\': 5791605, \'section4Color\': 14541291}, \'darkColorPalette\': {\'section2Color\': 2500915, \'section3Color\': 1842982, \'primaryTitleColor\': 15068415, \'secondaryTitleColor\': 10726860, \'section4Color\': 1250329}}, \'title\': {\'runs\': [{\'text\': \'More than 150 killed in Bangladesh protests | BBC News\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'More than 150 killed in Bangladesh protests | BBC News by BBC News 1,638,299 views 3 days ago 5 minutes, 36 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "A number of students in Bangladesh have vowed to continue protesting, despite the Supreme Court\'s decision to change the controversial government job quotas which sparked last week\'s protests..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'BBC News\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCNews\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC16niRr50-MSBwiO3YDb3RA\', \'canonicalBaseUrl\': \'/@BBCNews\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5 minutes, 36 seconds\'}}, \'simpleText\': \'5:36\'}, \'viewCountText\': {\'simpleText\': \'1,638,299 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=UbwwZlQ0-E8\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'UbwwZlQ0-E8\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=51bc30665434f84f&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'BBC News\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCNews\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC16niRr50-MSBwiO3YDb3RA\', \'canonicalBaseUrl\': \'/@BBCNews\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'BBC News\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCNews\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC16niRr50-MSBwiO3YDb3RA\', \'canonicalBaseUrl\': \'/@BBCNews\'}}}]}, \'trackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFVAz_DToeWMjN5R\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.6 million views\'}}, \'simpleText\': \'1.6M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'UbwwZlQ0-E8\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'UbwwZlQ0-E8\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'UbwwZlQ0-E8\']}}]}}, \'trackingParams\': \'CJoCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtVYnd3WmxRMC1FOA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJkCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/y_esGAQOhX4rTpWvrALErAJlFbm_2TIVrvcVfcZny7TuA8dJZgOQcC6KRfd_J5hljFe-foYXj9U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCNews\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC16niRr50-MSBwiO3YDb3RA\', \'canonicalBaseUrl\': \'/@BBCNews\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5 minutes, 36 seconds\'}}, \'simpleText\': \'5:36\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'UbwwZlQ0-E8\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'UbwwZlQ0-E8\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJgCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'UbwwZlQ0-E8\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'UbwwZlQ0-E8\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'UbwwZlQ0-E8\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJcCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/y_esGAQOhX4rTpWvrALErAJlFbm_2TIVrvcVfcZny7TuA8dJZgOQcC6KRfd_J5hljFe-foYXj9U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJYCENwwGCwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCNews\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC16niRr50-MSBwiO3YDb3RA\', \'canonicalBaseUrl\': \'/@BBCNews\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ow2Jxem9o7E\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCRk2U-u91fOQ_XJgYZ5DRjaITvSQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA8r9MKa-zowE38w3z78zW01QHISA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBHQWWuTb7Nz9q_I49Fjy-lbRJbvw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8018767, \'section4Color\': 15458781}, \'darkColorPalette\': {\'section2Color\': 3347463, \'section3Color\': 2494213, \'primaryTitleColor\': 16772325, \'secondaryTitleColor\': 13414051, \'section4Color\': 1640963}}, \'title\': {\'runs\': [{\'text\': \'VIKRANT REDDY | TOP REAL TEAM | TRT\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'VIKRANT REDDY | TOP REAL TEAM | TRT by Top Real Team 5,397,702 views 4 days ago 48 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Download Zupee and win Real cash https://app.adjust.com/1e4efgxa?redirect=https%3A%2F%2Fwww.zupee.com%2F\\n\\nUse Promocode TRT15 to get Rs 15 signup bonus\\n\\n#SadiyonSeIndiaKaApnagame\\n#IndiaKaApnaGame...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes, 42 seconds\'}}, \'simpleText\': \'48:42\'}, \'viewCountText\': {\'simpleText\': \'5,397,702 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ow2Jxem9o7E\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ow2Jxem9o7E\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a30d89c5e9bda3b1&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'trackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFVAscf2zd644oajAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.3 million views\'}}, \'simpleText\': \'5.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ow2Jxem9o7E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ow2Jxem9o7E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ow2Jxem9o7E\']}}]}}, \'trackingParams\': \'CJUCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtvdzJKeGVtOW83RQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJQCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lZi07tDx5ikd7WteiSLk1nWWdAoWEO5Z4HD2ACEcq0Ozw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes, 42 seconds\'}}, \'simpleText\': \'48:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ow2Jxem9o7E\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ow2Jxem9o7E\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJMCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ow2Jxem9o7E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ow2Jxem9o7E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ow2Jxem9o7E\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJICEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lZi07tDx5ikd7WteiSLk1nWWdAoWEO5Z4HD2ACEcq0Ozw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJECENwwGC0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'d8ZWJ1bpmy0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/d8ZWJ1bpmy0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAZgYqRvGBTSkE8yfZ6iiVLW1BnpQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/d8ZWJ1bpmy0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDZ07WudSvnT6I882uGYMrAki1pbg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/d8ZWJ1bpmy0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBv7jWYqqb_SXidlnmQN8DKLQUqgg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 2631720, \'section3Color\': 1644825, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 789516}}, \'title\': {\'runs\': [{\'text\': \'My Labour And Birth Story - Everything Explained!!\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'My Labour And Birth Story - Everything Explained!! by Super Style Tips 213,829 views 1 day ago 19 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'my Gynaecologist: Priya Gupta \\ncocoon Hospital\\n9414055050\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Super Style Tips\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuperStyleTips\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCMGd2CJgU3oNA1z0_Pb83eA\', \'canonicalBaseUrl\': \'/@SuperStyleTips\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 3 seconds\'}}, \'simpleText\': \'19:03\'}, \'viewCountText\': {\'simpleText\': \'213,829 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=d8ZWJ1bpmy0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'d8ZWJ1bpmy0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=77c6562756e99b2d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Super Style Tips\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuperStyleTips\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCMGd2CJgU3oNA1z0_Pb83eA\', \'canonicalBaseUrl\': \'/@SuperStyleTips\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Super Style Tips\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuperStyleTips\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCMGd2CJgU3oNA1z0_Pb83eA\', \'canonicalBaseUrl\': \'/@SuperStyleTips\'}}}]}, \'trackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFVArbamt_XEleN3\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'213K views\'}}, \'simpleText\': \'213K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'d8ZWJ1bpmy0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'d8ZWJ1bpmy0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'d8ZWJ1bpmy0\']}}]}}, \'trackingParams\': \'CJACEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtkOFpXSjFicG15MA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CI8CEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_maA0DxSqqzFLXnqfqXG9xyb0YAh0ShY-aESI9Bgz8ZIQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuperStyleTips\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCMGd2CJgU3oNA1z0_Pb83eA\', \'canonicalBaseUrl\': \'/@SuperStyleTips\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 3 seconds\'}}, \'simpleText\': \'19:03\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CI4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'d8ZWJ1bpmy0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CI4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'d8ZWJ1bpmy0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CI4CEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CI0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CI0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'d8ZWJ1bpmy0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CI0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'d8ZWJ1bpmy0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'d8ZWJ1bpmy0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CI0CEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_maA0DxSqqzFLXnqfqXG9xyb0YAh0ShY-aESI9Bgz8ZIQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIwCENwwGC4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuperStyleTips\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCMGd2CJgU3oNA1z0_Pb83eA\', \'canonicalBaseUrl\': \'/@SuperStyleTips\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ns3Cwn91rY0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ns3Cwn91rY0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBpjV1b-JaoItuRqboe0Ft0ypvtDg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ns3Cwn91rY0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDs5mdkMDZnUpDZKBMj4wXqfzllBw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ns3Cwn91rY0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLApFtJNUaQjgXMIxz9xG906QAcRUg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8017999, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3349268, \'section3Color\': 2495503, \'primaryTitleColor\': 16772069, \'secondaryTitleColor\': 13413539, \'section4Color\': 1641738}}, \'title\': {\'runs\': [{\'text\': \'Veg Khana Mangaya Or NonVeg Aagya \xc3\xb0\\x9f\\x98\xc2\xb3\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Veg Khana Mangaya Or NonVeg Aagya \xc3\xb0\\x9f\\x98\xc2\xb3 by Sourav Joshi Vlogs 4,104,736 views 1 day ago 10 minutes, 1 second\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Folllow me on Instagram- https://www.instagram.com/souravjoshivlogs/?hl=en\\n \\nI hope you enjoyed this video\\n\\nhit likes.\\nAnd do subscribe to my channel\\n\\nThank you so much for watching\\n\\ngod bless...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 1 second\'}}, \'simpleText\': \'10:01\'}, \'viewCountText\': {\'simpleText\': \'4,104,736 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFUyCmctaGlnaC10cnZaCkZFdHJlbmRpbmeaAQcQ8vAFGPkB\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ns3Cwn91rY0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ns3Cwn91rY0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9ecdc2c27f75ad8d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sourav Joshi Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}]}, \'trackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFVAjdvW-6fY8OaeAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.1 million views\'}}, \'simpleText\': \'4.1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ns3Cwn91rY0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ns3Cwn91rY0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ns3Cwn91rY0\']}}]}}, \'trackingParams\': \'CIsCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtuczNDd245MXJZMA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIoCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/f6BWKFJa-1DcnqCIqiGCqNl2daN4rSo21UogJbKcmPC6h_VkvlF3TQ1rF-I6hN66hZ6Dfjb-bA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 1 second\'}}, \'simpleText\': \'10:01\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ns3Cwn91rY0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ns3Cwn91rY0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIkCEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ns3Cwn91rY0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ns3Cwn91rY0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ns3Cwn91rY0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIgCEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/f6BWKFJa-1DcnqCIqiGCqNl2daN4rSo21UogJbKcmPC6h_VkvlF3TQ1rF-I6hN66hZ6Dfjb-bA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIcCENwwGC8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@souravjoshivlogs7028\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjvgGbPPn-FgYeguc5nxG4A\', \'canonicalBaseUrl\': \'/@souravjoshivlogs7028\'}}}}}}}}}]}}, \'trackingParams\': \'CIYCENwcGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIUCELsvGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'itemSectionRenderer\': {\'contents\': [{\'shelfRenderer\': {\'title\': {\'runs\': [{\'text\': \'Recently trending\'}]}, \'content\': {\'expandedShelfContentsRenderer\': {\'items\': [{\'videoRenderer\': {\'videoId\': \'WX7DBPcsiEs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/WX7DBPcsiEs/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhyIEgoJjAP&rs=AOn4CLBd26rInCsEg0KaN7AYTQJgBEQVNg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/WX7DBPcsiEs/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYciBIKCYwDw==&rs=AOn4CLDrxtskW3Ytu71ZToj8sMHMifKrHA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/WX7DBPcsiEs/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYciBIKCYwDw==&rs=AOn4CLA4y08IOi1a9exOMXTcHGpg7WWYAA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3350545, \'section3Color\': 2496524, \'primaryTitleColor\': 16773349, \'secondaryTitleColor\': 13415843, \'section4Color\': 1642504}}, \'title\': {\'runs\': [{\'text\': \'VADA PAV AUR CHAI \xc3\xb0\\x9f\\x98\\x8d | CARRYMINATI\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'VADA PAV AUR CHAI \xc3\xb0\\x9f\\x98\\x8d | CARRYMINATI by CarryMinati 33,482,263 views 8 days ago 12 minutes, 17 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Check out the Infinix GT 20 Pro: https://bit.ly/carryGT20\\n\\nRoast Credits:\\nCreated & Written by: CarryMinati\\nEdited by: CarryMinati\\n\\nSketch Credits: \\nConcept & Written By: CarryMinati \\nCreated...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'CarryMinati\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CarryMinati\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj22tfcQrWG7EMEKS0qLeEg\', \'canonicalBaseUrl\': \'/@CarryMinati\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'8 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 17 seconds\'}}, \'simpleText\': \'12:17\'}, \'viewCountText\': {\'simpleText\': \'33,482,263 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=WX7DBPcsiEs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'WX7DBPcsiEs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=597ec304f72c884b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'CarryMinati\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CarryMinati\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj22tfcQrWG7EMEKS0qLeEg\', \'canonicalBaseUrl\': \'/@CarryMinati\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'CarryMinati\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CarryMinati\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj22tfcQrWG7EMEKS0qLeEg\', \'canonicalBaseUrl\': \'/@CarryMinati\'}}}]}, \'trackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFVAy5Cyuc_gsL9Z\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'33 million views\'}}, \'simpleText\': \'33M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'WX7DBPcsiEs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'WX7DBPcsiEs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'WX7DBPcsiEs\']}}]}}, \'trackingParams\': \'CIQCEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtXWDdEQlBjc2lFcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIMCEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/j01juFvKwHnKHdgcklpPKLkfNBuGbGJKLBwXVhbN_5LeCU3S9bTsHBL-MKPRQCjpZpfPJ_dJ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CarryMinati\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj22tfcQrWG7EMEKS0qLeEg\', \'canonicalBaseUrl\': \'/@CarryMinati\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 17 seconds\'}}, \'simpleText\': \'12:17\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'WX7DBPcsiEs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'WX7DBPcsiEs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIICEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'WX7DBPcsiEs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'WX7DBPcsiEs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'WX7DBPcsiEs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIECEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/j01juFvKwHnKHdgcklpPKLkfNBuGbGJKLBwXVhbN_5LeCU3S9bTsHBL-MKPRQCjpZpfPJ_dJ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIACENwwGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CarryMinati\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCj22tfcQrWG7EMEKS0qLeEg\', \'canonicalBaseUrl\': \'/@CarryMinati\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'VlvOgk5BHS4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/VlvOgk5BHS4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDLKZnHlQ2LVt3OzpblRKoeslaFFg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/VlvOgk5BHS4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCVpChZeHRXsa1LCppmXs-7CKTJXw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/VlvOgk5BHS4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCRBE1dmWRXfAHBF7bTMd4mt56ueg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857912, \'section3Color\': 15201010, \'primaryTitleColor\': 1055001, \'secondaryTitleColor\': 4549483, \'section4Color\': 14543851}, \'darkColorPalette\': {\'section2Color\': 1451558, \'section3Color\': 989465, \'primaryTitleColor\': 15073279, \'secondaryTitleColor\': 10734796, \'section4Color\': 461836}}, \'title\': {\'runs\': [{\'text\': \'Stree 2 | Official Trailer | Shraddha K | Rajkummar R | Pankaj T | Amar K | 15th Aug 2024\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Stree 2 | Official Trailer | Shraddha K | Rajkummar R | Pankaj T | Amar K | 15th Aug 2024 by JioStudios 27,311,930 views 7 days ago 2 minutes, 54 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "India\'s most awaited gang is back to fight Chanderi ka naya aatank! \xc3\xb0\\x9f\\x91\xc2\xbb\xc3\xb0\\x9f\xc2\xab\xc2\xa3\\n\\nGet ready for the biggest horror-comedy film of the year. \\n\\n#Stree2 Trailer Out Now. \\n\\nThe legend returns this..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'JioStudios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JioStudios\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCcXQd6kHKm0b41x8zMVMmMg\', \'canonicalBaseUrl\': \'/@JioStudios\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'7 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 54 seconds\'}}, \'simpleText\': \'2:54\'}, \'viewCountText\': {\'simpleText\': \'27,311,930 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=VlvOgk5BHS4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'VlvOgk5BHS4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=565bce824e411d2e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'JioStudios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JioStudios\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCcXQd6kHKm0b41x8zMVMmMg\', \'canonicalBaseUrl\': \'/@JioStudios\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'JioStudios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JioStudios\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCcXQd6kHKm0b41x8zMVMmMg\', \'canonicalBaseUrl\': \'/@JioStudios\'}}}]}, \'trackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFVArrqE8qTQ861W\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'27 million views\'}}, \'simpleText\': \'27M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CP8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CP8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'VlvOgk5BHS4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CP8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'VlvOgk5BHS4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'VlvOgk5BHS4\']}}]}}, \'trackingParams\': \'CP8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtWbHZPZ2s1QkhTNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CP4BEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/m9WvArAk8ycx159cbze1Y9WV6B_dvEC1PMoxy_fZvdFivJWiB-dcA5u0i7Y2V9x7LAPDGkMn0g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JioStudios\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCcXQd6kHKm0b41x8zMVMmMg\', \'canonicalBaseUrl\': \'/@JioStudios\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 54 seconds\'}}, \'simpleText\': \'2:54\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CP0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'VlvOgk5BHS4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CP0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'VlvOgk5BHS4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CP0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'VlvOgk5BHS4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'VlvOgk5BHS4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'VlvOgk5BHS4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/m9WvArAk8ycx159cbze1Y9WV6B_dvEC1PMoxy_fZvdFivJWiB-dcA5u0i7Y2V9x7LAPDGkMn0g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPsBENwwGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JioStudios\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCcXQd6kHKm0b41x8zMVMmMg\', \'canonicalBaseUrl\': \'/@JioStudios\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'1En81y5z_J4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDYZRX2NpgwSK8DrvFdk8FpUKr8_g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBb753WQ6-clcglf1NvRn5duqOWUw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/1En81y5z_J4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDmiDbRGoldLpgejwENt-dtiOzxSA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857911, \'section3Color\': 15201008, \'primaryTitleColor\': 1186072, \'secondaryTitleColor\': 5008229, \'section4Color\': 14543849}, \'darkColorPalette\': {\'section2Color\': 1779236, \'section3Color\': 1186072, \'primaryTitleColor\': 15073274, \'secondaryTitleColor\': 10734789, \'section4Color\': 592908}}, \'title\': {\'runs\': [{\'text\': \'TMC\xc3\xa2\\x80\\x99s Abhishek Banerjee Vs Speaker Om Birla In Lok Sabha | Parliament | Budget\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'TMC\xc3\xa2\\x80\\x99s Abhishek Banerjee Vs Speaker Om Birla In Lok Sabha | Parliament | Budget by Hindustan Times 433,245 views 1 day ago 11 minutes, 13 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Trinamool Congress leader and West Bengal Chief Minister Mamata Banerjee\'s nephew Abhishek had heated arguments with Lok Sabha speaker Om Birla on 3 separate occasions during his speech on..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 13 seconds\'}}, \'simpleText\': \'11:13\'}, \'viewCountText\': {\'simpleText\': \'433,245 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=1En81y5z_J4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'1En81y5z_J4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d449fcd72e73fc9e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Hindustan Times\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}]}, \'trackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFVAnvnP8_Ka_6TUAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'433K views\'}}, \'simpleText\': \'433K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'1En81y5z_J4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'1En81y5z_J4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'1En81y5z_J4\']}}]}}, \'trackingParams\': \'CPoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgsxRW44MXk1el9KNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPkBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/rxxycwwjFXuC-eQNBcklj4P-uduSg-aHJJ7w77Ynf_LZV742N5tvTFSnJwRmV5CnNhFNbj7uKdQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'11 minutes, 13 seconds\'}}, \'simpleText\': \'11:13\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'1En81y5z_J4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'1En81y5z_J4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'1En81y5z_J4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'1En81y5z_J4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'1En81y5z_J4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/rxxycwwjFXuC-eQNBcklj4P-uduSg-aHJJ7w77Ynf_LZV742N5tvTFSnJwRmV5CnNhFNbj7uKdQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPYBENwwGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HT-Videos\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCm7lHFkt2yB_WzL67aruVBQ\', \'canonicalBaseUrl\': \'/@HT-Videos\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'4SNThp0YiU4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/4SNThp0YiU4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCp4pZ9VjUJeBy2VQxUldmp_zAp-A\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/4SNThp0YiU4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCPr7gsafuEMRpeul9wWzPtgBfZwQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/4SNThp0YiU4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBd5W1jD90xM8E3Yveb1svzPzNayA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643281, \'secondaryTitleColor\': 8018769, \'section4Color\': 15458781}, \'darkColorPalette\': {\'section2Color\': 3352098, \'section3Color\': 2497561, \'primaryTitleColor\': 16772069, \'secondaryTitleColor\': 13413795, \'section4Color\': 1643281}}, \'title\': {\'runs\': [{\'text\': \'50 YouTubers Fight For $1,000,000\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'50 YouTubers Fight For $1,000,000 by MrBeast 191,802,353 views 12 days ago 41 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'I can\xc3\xa2\\x80\\x99t believe how intense this video got\\nThe Samsung Galaxy Ring and Z Flip6 blew my mind in this video \xc3\xa2\\x80\\x93 you\xc3\xa2\\x80\\x99ve gotta check them out. Head to Amazon to get yours and also see #GalaxyAI...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'MrBeast\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MrBeast\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX6OQ3DkcsbYNE6H8uQQuVA\', \'canonicalBaseUrl\': \'/@MrBeast\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'12 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 27 seconds\'}}, \'simpleText\': \'41:27\'}, \'viewCountText\': {\'simpleText\': \'191,802,353 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=4SNThp0YiU4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'4SNThp0YiU4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e12353869d18894e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'MrBeast\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MrBeast\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX6OQ3DkcsbYNE6H8uQQuVA\', \'canonicalBaseUrl\': \'/@MrBeast\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'MrBeast\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MrBeast\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX6OQ3DkcsbYNE6H8uQQuVA\', \'canonicalBaseUrl\': \'/@MrBeast\'}}}]}, \'trackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFVAzpLi6Onw1JHhAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'191 million views\'}}, \'simpleText\': \'191M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'4SNThp0YiU4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'4SNThp0YiU4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'4SNThp0YiU4\']}}]}}, \'trackingParams\': \'CPUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs0U05UaHAwWWlVNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CPQBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/fxGKYucJAVme-Yz4fsdCroCFCrANWqw0ql4GYuvx8Uq4l_euNJHgE-w9MTkLQA805vWCi-kE0g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MrBeast\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX6OQ3DkcsbYNE6H8uQQuVA\', \'canonicalBaseUrl\': \'/@MrBeast\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 27 seconds\'}}, \'simpleText\': \'41:27\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'4SNThp0YiU4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CPMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'4SNThp0YiU4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CPIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'4SNThp0YiU4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'4SNThp0YiU4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'4SNThp0YiU4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CPIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/fxGKYucJAVme-Yz4fsdCroCFCrANWqw0ql4GYuvx8Uq4l_euNJHgE-w9MTkLQA805vWCi-kE0g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CPEBENwwGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MrBeast\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX6OQ3DkcsbYNE6H8uQQuVA\', \'canonicalBaseUrl\': \'/@MrBeast\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'l20auRgzPTw\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/l20auRgzPTw/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCKg78aeJ-TQqNPbsHjdS56UXCPCw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/l20auRgzPTw/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDbIh62bTHbzdI5X0A7gKrI25Nw2A\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/l20auRgzPTw/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB7hbAfuPFJ37X_lJp-lLWltrcdlw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919335, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8345170, \'section4Color\': 15458013}, \'darkColorPalette\': {\'section2Color\': 3347987, \'section3Color\': 2494478, \'primaryTitleColor\': 16771045, \'secondaryTitleColor\': 13412003, \'section4Color\': 1641225}}, \'title\': {\'runs\': [{\'text\': \'Truth of Ambani Wedding - LONGEST Shaadi Ever\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Truth of Ambani Wedding - LONGEST Shaadi Ever by Slayy Point 6,389,880 views 7 days ago 13 minutes, 2 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'The Anant Ambani & Radhika Merchant Wedding that never seems to end. This time Ambanis called international guests including Justin Bieber, Kim Kardashian & John Cena.\\nWishing them a happy...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Slayy Point\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPointOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCtgGOdTlM-NdJ9rPKIYN8UQ\', \'canonicalBaseUrl\': \'/@SlayyPointOfficial\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'7 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 2 seconds\'}}, \'simpleText\': \'13:02\'}, \'viewCountText\': {\'simpleText\': \'6,389,880 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=l20auRgzPTw\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'l20auRgzPTw\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=976d1ab918333d3c&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Slayy Point\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPointOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCtgGOdTlM-NdJ9rPKIYN8UQ\', \'canonicalBaseUrl\': \'/@SlayyPointOfficial\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Slayy Point\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPointOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCtgGOdTlM-NdJ9rPKIYN8UQ\', \'canonicalBaseUrl\': \'/@SlayyPointOfficial\'}}}]}, \'trackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFVAvPrMwZHXxraXAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6.3 million views\'}}, \'simpleText\': \'6.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CPABEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CPABEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'l20auRgzPTw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CPABEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'l20auRgzPTw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'l20auRgzPTw\']}}]}}, \'trackingParams\': \'CPABEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtsMjBhdVJnelBUdw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CO8BEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nZmZJ_Z6tKDsiEXdyqzdYcQWeLPYapMXA7QNsgzGjJ4no=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPointOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCtgGOdTlM-NdJ9rPKIYN8UQ\', \'canonicalBaseUrl\': \'/@SlayyPointOfficial\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 2 seconds\'}}, \'simpleText\': \'13:02\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CO4BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'l20auRgzPTw\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CO4BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'l20auRgzPTw\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CO4BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CO0BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CO0BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'l20auRgzPTw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CO0BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'l20auRgzPTw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'l20auRgzPTw\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CO0BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nZmZJ_Z6tKDsiEXdyqzdYcQWeLPYapMXA7QNsgzGjJ4no=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COwBENwwGAQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPointOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCtgGOdTlM-NdJ9rPKIYN8UQ\', \'canonicalBaseUrl\': \'/@SlayyPointOfficial\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ly7QhOGGp4g\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ly7QhOGGp4g/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAkKGyb52szxz-_LMCN4NphtbCKIw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ly7QhOGGp4g/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAXvslnYZH7_TCbDxp09HL0pWzPnw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ly7QhOGGp4g/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBSIAEBDhLp78_HgWbEnbNi_MhLkg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 2500134, \'section3Color\': 1644825, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 789516}}, \'title\': {\'runs\': [{\'text\': \'THE END OF MAFIA BOSS | GTA 5 GAMEPLAY #154\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'THE END OF MAFIA BOSS | GTA 5 GAMEPLAY #154 by Techno Gamerz 22,290,470 views 11 days ago 1 hour, 40 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'THE END OF MAFIA BOSS | GTA 5 GAMEPLAY #154\\n#154 #GTA5 #technogamerz \\n\\nSubscribe to our Second YouTube Channel: https://www.youtube.com/c/UjjwalGamer\\n\\n\\nShare, Support, Subscribe!!!\\nSubscribe:...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'11 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 hour, 40 minutes, 49 seconds\'}}, \'simpleText\': \'1:40:49\'}, \'viewCountText\': {\'simpleText\': \'22,290,470 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ly7QhOGGp4g\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ly7QhOGGp4g\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=972ed084e186a788&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'OFFICIAL_ARTIST_BADGE\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED_ARTIST\', \'tooltip\': \'Official Artist Channel\', \'trackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Official Artist Channel\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Techno Gamerz\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\', \'canonicalBaseUrl\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\'}}}]}, \'trackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFVAiM-ajM6QtJeXAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'22 million views\'}}, \'simpleText\': \'22M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ly7QhOGGp4g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ly7QhOGGp4g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ly7QhOGGp4g\']}}]}}, \'trackingParams\': \'COsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtseTdRaE9HR3A0Zw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COoBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moocNXstALFiII02ett7RzPa_9lSiAAm9bXNc3zoAdGkk=s88-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 hour, 40 minutes, 49 seconds\'}}, \'simpleText\': \'1:40:49\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ly7QhOGGp4g\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ly7QhOGGp4g\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ly7QhOGGp4g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ly7QhOGGp4g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ly7QhOGGp4g\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moocNXstALFiII02ett7RzPa_9lSiAAm9bXNc3zoAdGkk=s88-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COcBENwwGAUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/channel/UCX8pnu3DYUnx8qy8V_c6oHg\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCX8pnu3DYUnx8qy8V_c6oHg\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'5mr7AdmjSdc\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/5mr7AdmjSdc/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA6lS9x__y0w2YJhwIqYGfZe3II-Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/5mr7AdmjSdc/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAG6SBL1E0M-oJnTy0LRELNppMTmA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/5mr7AdmjSdc/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD8EQDvOwTqpfHqFYdZgAot1AD_Wg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857144, \'section3Color\': 15199730, \'primaryTitleColor\': 1053977, \'secondaryTitleColor\': 5006453, \'section4Color\': 14542315}, \'darkColorPalette\': {\'section2Color\': 1780019, \'section3Color\': 1318438, \'primaryTitleColor\': 15070463, \'secondaryTitleColor\': 10730188, \'section4Color\': 857113}}, \'title\': {\'runs\': [{\'text\': \'EPL Season 3 | Round2Hell | R2H\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'EPL Season 3 | Round2Hell | R2H by Round2hell 37,942,581 views 2 weeks ago 52 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xb0\\x9f\\x9a\\x80Experience the joy of trading on Binomo and earn up to 5000 INR per day - http://www.binomoindia.in/round2hell_yt\\n\\n\\n\xc3\xb0\\x9f\\x91\\x89Transparent trading, fast deposits and withdrawals, unlimited demo...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Round2hell\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Round2hell\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCt4atlExw8aj3Bm79nv1fig\', \'canonicalBaseUrl\': \'/@Round2hell\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 weeks ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'52 minutes, 58 seconds\'}}, \'simpleText\': \'52:58\'}, \'viewCountText\': {\'simpleText\': \'37,942,581 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=5mr7AdmjSdc\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'5mr7AdmjSdc\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e66afb01d9a349d7&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Round2hell\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Round2hell\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCt4atlExw8aj3Bm79nv1fig\', \'canonicalBaseUrl\': \'/@Round2hell\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Round2hell\', \'navigationEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Round2hell\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCt4atlExw8aj3Bm79nv1fig\', \'canonicalBaseUrl\': \'/@Round2hell\'}}}]}, \'trackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFVA15ONzZ3gvrXmAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'37 million views\'}}, \'simpleText\': \'37M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'5mr7AdmjSdc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'5mr7AdmjSdc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'5mr7AdmjSdc\']}}]}}, \'trackingParams\': \'COYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs1bXI3QWRtalNkYw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COUBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kiR_xWlg7vo5dKLMFOxCgoYvV5xizv6zYbSrfrhiRbX2Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Round2hell\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCt4atlExw8aj3Bm79nv1fig\', \'canonicalBaseUrl\': \'/@Round2hell\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'52 minutes, 58 seconds\'}}, \'simpleText\': \'52:58\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'5mr7AdmjSdc\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'COQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'5mr7AdmjSdc\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'COMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'5mr7AdmjSdc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'5mr7AdmjSdc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'5mr7AdmjSdc\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'COMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kiR_xWlg7vo5dKLMFOxCgoYvV5xizv6zYbSrfrhiRbX2Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'COIBENwwGAYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Round2hell\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCt4atlExw8aj3Bm79nv1fig\', \'canonicalBaseUrl\': \'/@Round2hell\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'nyUffTW9jj8\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/nyUffTW9jj8/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCg3_ieCmspSJo6gd4b-7HACMgSiw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/nyUffTW9jj8/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCnQalM7EeQUxmdzH0eYhTRwnbBbg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/nyUffTW9jj8/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA58ADEt7Z6e9hbcYOOefGep6_kPg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8017487, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3351070, \'section3Color\': 2496790, \'primaryTitleColor\': 16771557, \'secondaryTitleColor\': 13413027, \'section4Color\': 1642511}}, \'title\': {\'runs\': [{\'text\': \'Sharma ji ki Shadi || Ep1\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Sharma ji ki Shadi || Ep1 by Swagger Sharma 3,979,364 views 6 days ago 52 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Experience the joy of trading on Binomo and earn up to 5000 INR per day: http://binomoindia.in/sharma_yt \\n \\n\xc3\xb0\\x9f\\x91\\x89Transparent trading, fast deposits and withdrawals, unlimited demo account and...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Swagger Sharma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SwaggerSharma\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGu3oftYZmB-DKGlbR8Yrpw\', \'canonicalBaseUrl\': \'/@SwaggerSharma\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'52 minutes, 6 seconds\'}}, \'simpleText\': \'52:06\'}, \'viewCountText\': {\'simpleText\': \'3,979,364 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=nyUffTW9jj8\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'nyUffTW9jj8\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9f251f7d35bd8e3f&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Swagger Sharma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SwaggerSharma\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGu3oftYZmB-DKGlbR8Yrpw\', \'canonicalBaseUrl\': \'/@SwaggerSharma\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Swagger Sharma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SwaggerSharma\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGu3oftYZmB-DKGlbR8Yrpw\', \'canonicalBaseUrl\': \'/@SwaggerSharma\'}}}]}, \'trackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFVAv5z2rdPvx5KfAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.9 million views\'}}, \'simpleText\': \'3.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'COEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'COEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'nyUffTW9jj8\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'COEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'nyUffTW9jj8\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'nyUffTW9jj8\']}}]}}, \'trackingParams\': \'COEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtueVVmZlRXOWpqOA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'COABEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lHU8AgFmP3-8Mh-Q_b5tUQJNQ2yPdcAMYSyoOYZkQVR_A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SwaggerSharma\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGu3oftYZmB-DKGlbR8Yrpw\', \'canonicalBaseUrl\': \'/@SwaggerSharma\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'52 minutes, 6 seconds\'}}, \'simpleText\': \'52:06\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CN8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'nyUffTW9jj8\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CN8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'nyUffTW9jj8\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CN8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CN4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CN4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'nyUffTW9jj8\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CN4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'nyUffTW9jj8\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'nyUffTW9jj8\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CN4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lHU8AgFmP3-8Mh-Q_b5tUQJNQ2yPdcAMYSyoOYZkQVR_A=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CN0BENwwGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SwaggerSharma\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCGu3oftYZmB-DKGlbR8Yrpw\', \'canonicalBaseUrl\': \'/@SwaggerSharma\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ATGQdcN4UBs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAe13fPVVPIycCwKdTdkP3lx8nnbA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBhiomrNQXRFyDIFSZYtkaNVzlTdg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ATGQdcN4UBs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCyfHAtPB3JA7SqnK2RXD9CNq00lQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8019280, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3352097, \'section3Color\': 2497817, \'primaryTitleColor\': 16772581, \'secondaryTitleColor\': 13414307, \'section4Color\': 1643280}}, \'title\': {\'runs\': [{\'text\': \'Phir Aayi Hasseen Dillruba | Official Trailer | Taapsee P, Vikrant M, Sunny K, Jimmy S\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Phir Aayi Hasseen Dillruba | Official Trailer | Taapsee P, Vikrant M, Sunny K, Jimmy S by Netflix India 9,701,830 views 17 hours ago 2 minutes, 42 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Dil ke haal se kya pata, kaun bhala, aur kaun bawla? \xc3\xb0\\x9f\\x91\\x80 \xc3\xb0\\x9f\xc2\xa5\\x80\\r\\nPhir Aayi Hasseen Dillruba iss rahasya ko mitane, on 9 August, only on Netflix \xc3\xa2\\x9d\xc2\xa4\xc3\xaf\xc2\xb8\\x8f\\u200d\xc3\xb0\\x9f\\x94\xc2\xa5\\r\\n\\r\\nWatch on Netflix: https://www.netflix...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'17 hours ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 42 seconds\'}}, \'simpleText\': \'2:42\'}, \'viewCountText\': {\'simpleText\': \'9,701,830 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ATGQdcN4UBs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ATGQdcN4UBs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=01319075c378501b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Netflix India\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}]}, \'trackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFVAm6Dhm9yO5JgB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9.7 million views\'}}, \'simpleText\': \'9.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ATGQdcN4UBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ATGQdcN4UBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ATGQdcN4UBs\']}}]}}, \'trackingParams\': \'CNwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtBVEdRZGNONFVCcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNsBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/zgMN9BuSQByG1SrpmLwcNB3MQhjDhS_pl9H1h7TaRievMfS4UpU7Z36j77z5_hnIW4N8uFX3NA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 42 seconds\'}}, \'simpleText\': \'2:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ATGQdcN4UBs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ATGQdcN4UBs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ATGQdcN4UBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ATGQdcN4UBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ATGQdcN4UBs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/zgMN9BuSQByG1SrpmLwcNB3MQhjDhS_pl9H1h7TaRievMfS4UpU7Z36j77z5_hnIW4N8uFX3NA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNgBENwwGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@NetflixIndiaOfficial\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCZSNzBgFub_WWil6TOTYwAg\', \'canonicalBaseUrl\': \'/@NetflixIndiaOfficial\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'hqJ9Q2iPdF4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCB3kMqFi8Udr7DUYnMEAbavsZ0aw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCeNnxSbYm0GT4o5AutXM6jFJ0vEg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/hqJ9Q2iPdF4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCFueO_ApF2mz-OnFlcTvOmuvWQ8g\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857905, \'section3Color\': 15266535, \'primaryTitleColor\': 1251602, \'secondaryTitleColor\': 5401423, \'section4Color\': 14674909}, \'darkColorPalette\': {\'section2Color\': 1910300, \'section3Color\': 1251602, \'primaryTitleColor\': 15269861, \'secondaryTitleColor\': 10996899, \'section4Color\': 592905}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x80 \xc3\xa0\xc2\xa6\\x85\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87?\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x80 \xc3\xa0\xc2\xa6\\x85\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87? by BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe 1,924,479 views 5 days ago 3 minutes, 54 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x89 \xc3\xa0\xc2\xa6\\x9c\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbf \xc3\xa0\xc2\xa6\xc2\xb9\xc3\xa0\xc2\xa6\\x93\xc3\xa0\xc2\xa6\xc2\xaf\xc3\xa0\xc2\xa6\xc2\xbc\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\\x97\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xa4\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x82\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa3 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xac \xc3\xa0\xc2\xa6\\x96\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xa2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa6\xc2\xbe \xc3\xa0\xc2\xa6\xc2\xa5\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa7\\x87...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'5 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 54 seconds\'}}, \'simpleText\': \'3:54\'}, \'viewCountText\': {\'simpleText\': \'1,924,479 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=hqJ9Q2iPdF4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'hqJ9Q2iPdF4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=86a27d43688f745e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'BBC News \xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x82\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}]}, \'trackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFVA3ui9xLaon9GGAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.9 million views\'}}, \'simpleText\': \'1.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'hqJ9Q2iPdF4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'hqJ9Q2iPdF4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'hqJ9Q2iPdF4\']}}]}}, \'trackingParams\': \'CNcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtocUo5UTJpUGRGNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNYBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nYQasPURYl1CI-tDg2qISGhHNYghNO0nZMe7GC-DsvUyc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 54 seconds\'}}, \'simpleText\': \'3:54\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'hqJ9Q2iPdF4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'hqJ9Q2iPdF4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'hqJ9Q2iPdF4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'hqJ9Q2iPdF4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'hqJ9Q2iPdF4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nYQasPURYl1CI-tDg2qISGhHNYghNO0nZMe7GC-DsvUyc=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CNMBENwwGAkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@BBCBangla\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UChPD2BQ2dJ-w00klQQkc-Qg\', \'canonicalBaseUrl\': \'/@BBCBangla\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'qWN0KInYZMs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/qWN0KInYZMs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLADGRy-22TAnPxgoom3mafjd1mXWg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/qWN0KInYZMs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAV5zlA9o92JiuoaoSNiddo6Qj1Fg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/qWN0KInYZMs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBO2fDBPhx5Q_BHMhFq6fA-wqfkYw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3351575, \'section3Color\': 2497297, \'primaryTitleColor\': 16773605, \'secondaryTitleColor\': 13415843, \'section4Color\': 1643019}}, \'title\': {\'runs\': [{\'text\': "India (W) vs Pakistan (W) | ACC Women\'s Asia Cup | Match 2 | Highlights"}], \'accessibility\': {\'accessibilityData\': {\'label\': "India (W) vs Pakistan (W) | ACC Women\'s Asia Cup | Match 2 | Highlights by Asian Cricket Council 4,263,353 views 6 days ago 12 minutes, 10 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Match 2 of ACC Women\'s Asia Cup 2024, India (W) vs Pakistan (W)"}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 10 seconds\'}}, \'simpleText\': \'12:10\'}, \'viewCountText\': {\'simpleText\': \'4,263,353 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=qWN0KInYZMs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'qWN0KInYZMs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a963742889d864cb&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'trackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFVAy8nhzoiF3bGpAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.2 million views\'}}, \'simpleText\': \'4.2M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CNIBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CNIBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'qWN0KInYZMs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CNIBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'qWN0KInYZMs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'qWN0KInYZMs\']}}]}}, \'trackingParams\': \'CNIBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtxV04wS0luWVpNcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CNEBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 10 seconds\'}}, \'simpleText\': \'12:10\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CNABEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'qWN0KInYZMs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CNABEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'qWN0KInYZMs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CNABEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CM8BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CM8BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'qWN0KInYZMs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CM8BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'qWN0KInYZMs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'qWN0KInYZMs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CM8BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CM4BENwwGAoiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Ujb2c508yw0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Ujb2c508yw0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBvqnG7EsBgFIp89TOZYTzkV13ywA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Ujb2c508yw0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBgdIKWVJ__pk6xJjh86_432AP5uQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Ujb2c508yw0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAH8bmOx8cGbihzmlbDqT2jUBkP_A\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920103, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691340, \'section4Color\': 15459293}, \'darkColorPalette\': {\'section2Color\': 3348487, \'section3Color\': 2494981, \'primaryTitleColor\': 16773093, \'secondaryTitleColor\': 13415075, \'section4Color\': 1641475}}, \'title\': {\'runs\': [{\'text\': \'Jaanam | Bad Newz | Vicky Kaushal | Triptii Dimri | Vishal Mishra | In cinemas 19th July\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Jaanam | Bad Newz | Vicky Kaushal | Triptii Dimri | Vishal Mishra | In cinemas 19th July by Saregama Music 27,526,312 views 2 weeks ago 3 minutes, 17 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'After the first song \\\'Tauba Tauba\\\' from the film Bad Newz now experience the magic of love with "Jaanam," where the charismatic Vicky Kaushal and Triptii Dimri set the screen on fire with their...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 weeks ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 17 seconds\'}}, \'simpleText\': \'3:17\'}, \'viewCountText\': {\'simpleText\': \'27,526,312 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Ujb2c508yw0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Ujb2c508yw0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5236f6739d3ccb0d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'trackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFVAjZbz6bnOvZtS\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'27 million views\'}}, \'simpleText\': \'27M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CM0BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CM0BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Ujb2c508yw0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CM0BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Ujb2c508yw0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Ujb2c508yw0\']}}]}}, \'trackingParams\': \'CM0BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtVamIyYzUwOHl3MA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMwBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 17 seconds\'}}, \'simpleText\': \'3:17\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMsBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Ujb2c508yw0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMsBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Ujb2c508yw0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMsBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMoBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMoBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Ujb2c508yw0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMoBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Ujb2c508yw0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Ujb2c508yw0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMoBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMkBENwwGAsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'8E9XRKrKY9E\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/8E9XRKrKY9E/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCZ0n8hEIxWHl89HfXcuUVw104hcA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/8E9XRKrKY9E/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAZ2n7Ctdv_EagviHabEGFayE78oQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/8E9XRKrKY9E/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBHxLBokbRyJg9KvsbPf2uAJ9ynaw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8019023, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3351067, \'section3Color\': 2497044, \'primaryTitleColor\': 16772581, \'secondaryTitleColor\': 13414307, \'section4Color\': 1642765}}, \'title\': {\'runs\': [{\'text\': \'VICKY KAUSHAL REACTS TO VICKY\\xa0KAUSHAL MEMES ft. VICKY KAUSHAL\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'VICKY KAUSHAL REACTS TO VICKY\\xa0KAUSHAL MEMES ft. VICKY KAUSHAL by Tanmay Bhat 5,903,915 views 7 days ago 26 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'FOLLOW:\\n\xc3\xa2\\x80\xc2\xa2 Vicky Kaushal - https://www.instagram.com/vickykaushal09\\n\xc3\xa2\\x80\xc2\xa2 Zakir Khan - https://www.instagram.com/zakirkhan_208/\\n\xc3\xa2\\x80\xc2\xa2 Rohan Joshi - https://www.instagram.com/mojorojo/\\n\xc3\xa2\\x80\xc2\xa2 Aaditya...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Tanmay Bhat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tanmaybhat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0rE2qq81of4fojo-KhO5rg\', \'canonicalBaseUrl\': \'/@tanmaybhat\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'7 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'26 minutes, 42 seconds\'}}, \'simpleText\': \'26:42\'}, \'viewCountText\': {\'simpleText\': \'5,903,915 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=8E9XRKrKY9E\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'8E9XRKrKY9E\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f04f5744aaca63d1&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Tanmay Bhat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tanmaybhat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0rE2qq81of4fojo-KhO5rg\', \'canonicalBaseUrl\': \'/@tanmaybhat\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Tanmay Bhat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tanmaybhat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0rE2qq81of4fojo-KhO5rg\', \'canonicalBaseUrl\': \'/@tanmaybhat\'}}}]}, \'trackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFVA0cep1sro1afwAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.9 million views\'}}, \'simpleText\': \'5.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMgBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMgBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8E9XRKrKY9E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMgBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8E9XRKrKY9E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8E9XRKrKY9E\']}}]}}, \'trackingParams\': \'CMgBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs4RTlYUktyS1k5RQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMcBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/UnHiAzDe4BrX1crihFtyFV2IM2a12i0sj41153RUIoCkazMbVX4otYdmFAKmaxO4psixK9Sriw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tanmaybhat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0rE2qq81of4fojo-KhO5rg\', \'canonicalBaseUrl\': \'/@tanmaybhat\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'26 minutes, 42 seconds\'}}, \'simpleText\': \'26:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMYBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'8E9XRKrKY9E\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMYBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'8E9XRKrKY9E\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMYBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMUBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMUBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8E9XRKrKY9E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMUBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8E9XRKrKY9E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8E9XRKrKY9E\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMUBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/UnHiAzDe4BrX1crihFtyFV2IM2a12i0sj41153RUIoCkazMbVX4otYdmFAKmaxO4psixK9Sriw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CMQBENwwGAwiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tanmaybhat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0rE2qq81of4fojo-KhO5rg\', \'canonicalBaseUrl\': \'/@tanmaybhat\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'SFuNit9HO8g\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDHQWmxNWU8UdIg_1X_zx56FoIqiQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD6RUXnMMSJju6Db1rYkcOJ2Xn9UA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/SFuNit9HO8g/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCAWUFsQt7heFrHqa89n9U5YA_4kg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856376, \'section3Color\': 15198450, \'primaryTitleColor\': 1052953, \'secondaryTitleColor\': 5659780, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 1579827, \'section3Color\': 1184806, \'primaryTitleColor\': 15067391, \'secondaryTitleColor\': 10725580, \'section4Color\': 789785}}, \'title\': {\'runs\': [{\'text\': "Testing Virat Kohli\'s Favourite Restaurants | SlayyPop"}], \'accessibility\': {\'accessibilityData\': {\'label\': "Testing Virat Kohli\'s Favourite Restaurants | SlayyPop by SlayyPop 1,823,686 views 2 days ago 12 minutes, 42 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "This herbal hair oil is amazing for getting that healthy, shiny hair we all love. If you also want to get the original Neelambari Hair Oil, check out the link below! Don\'t wait, get yours now!..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 42 seconds\'}}, \'simpleText\': \'12:42\'}, \'viewCountText\': {\'simpleText\': \'1,823,686 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=SFuNit9HO8g\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'SFuNit9HO8g\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=485b8d8adf473bc8&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'SlayyPop\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}]}, \'trackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFVAyPec-q2x461I\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.8 million views\'}}, \'simpleText\': \'1.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CMMBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMMBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'SFuNit9HO8g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMMBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'SFuNit9HO8g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'SFuNit9HO8g\']}}]}}, \'trackingParams\': \'CMMBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtTRnVOaXQ5SE84Zw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CMIBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mFh-WLjsiIXXBm9h4WXNGIPW16BRtArKpa4lNQnI8iXjg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 42 seconds\'}}, \'simpleText\': \'12:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMEBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'SFuNit9HO8g\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CMEBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'SFuNit9HO8g\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMEBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CMABEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CMABEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'SFuNit9HO8g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CMABEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'SFuNit9HO8g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'SFuNit9HO8g\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CMABEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mFh-WLjsiIXXBm9h4WXNGIPW16BRtArKpa4lNQnI8iXjg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CL8BENwwGA0iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SlayyPop\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSfxFZFzcpYMbOB3A1rWHAg\', \'canonicalBaseUrl\': \'/@SlayyPop\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'LK7-_dgAVQE\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/LK7-_dgAVQE/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDCpP-9SJwWPfKgxoZ6gTEZTK3Elg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/LK7-_dgAVQE/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCuwo-oRCG9F-cBCIPFBzXVqpKtYg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/LK7-_dgAVQE/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDuBAfOxcaVaGP6dRjikUIVdmU_Fw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857144, \'section3Color\': 15199730, \'primaryTitleColor\': 1053977, \'secondaryTitleColor\': 5006453, \'section4Color\': 14542571}, \'darkColorPalette\': {\'section2Color\': 1386291, \'section3Color\': 1056038, \'primaryTitleColor\': 15070463, \'secondaryTitleColor\': 10730444, \'section4Color\': 660249}}, \'title\': {\'runs\': [{\'text\': \'Tauba Tauba | Bad Newz | Vicky Kaushal | Triptii Dimri | Karan Aujla | In cinemas 19th July\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Tauba Tauba | Bad Newz | Vicky Kaushal | Triptii Dimri | Karan Aujla | In cinemas 19th July by Saregama Music 107,600,066 views 3 weeks ago 3 minutes, 42 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Experience the magic of Vicky Kaushal, Triptii Dimri and Karan Aujla\xc3\xa2\\x80\\x99s first-ever collaboration in "Tauba Tauba" from Bad Newz! This high-energy dance number is guaranteed to make you move....\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 weeks ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 42 seconds\'}}, \'simpleText\': \'3:42\'}, \'viewCountText\': {\'simpleText\': \'107,600,066 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=LK7-_dgAVQE\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'LK7-_dgAVQE\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2caefefdd8005501&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Saregama Music\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}]}, \'trackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFVAgaqBwN3fv9cs\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'107 million views\'}}, \'simpleText\': \'107M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CL4BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CL4BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'LK7-_dgAVQE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CL4BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'LK7-_dgAVQE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'LK7-_dgAVQE\']}}]}}, \'trackingParams\': \'CL4BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtMSzctX2RnQVZRRQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CL0BEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 42 seconds\'}}, \'simpleText\': \'3:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLwBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'LK7-_dgAVQE\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLwBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'LK7-_dgAVQE\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLwBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLsBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLsBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'LK7-_dgAVQE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLsBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'LK7-_dgAVQE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'LK7-_dgAVQE\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLsBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/dxED1O-r5cRS73JBlUk4VS3pZHDfiHcuRjRbFMcf6KgYhxP4NUlD7x0h4TR1XTXkl-JGjTPTYQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLoBENwwGA4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SaregamaMusic\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC_A7K2dXFsTMAciGmnNxy-Q\', \'canonicalBaseUrl\': \'/@SaregamaMusic\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'AbkbpbpHGw4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/AbkbpbpHGw4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAjZdIaB4mrj0z4P0x3WxvC86Q2ZQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/AbkbpbpHGw4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCIm2dZ6CmD9fItxuHSN1tWtWuZww\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/AbkbpbpHGw4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDItdb148D47Mwyr0ZL32GVb4L9iA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643538, \'secondaryTitleColor\': 7691603, \'section4Color\': 15458781}, \'darkColorPalette\': {\'section2Color\': 3352612, \'section3Color\': 2498075, \'primaryTitleColor\': 16772581, \'secondaryTitleColor\': 13414307, \'section4Color\': 1643538}}, \'title\': {\'runs\': [{\'text\': \'Chor Bazaar Shopping Challenge | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 iPhone, DSLR Camera, Watches etc. | Is It Real?\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Chor Bazaar Shopping Challenge | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 iPhone, DSLR Camera, Watches etc. | Is It Real? by Crazy XYZ 6,737,452 views 10 days ago 22 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Hello guys, is video me humne Delhi ke Chor Bazar me shopping kari hai.\\n\\nOur Unboxing Channel- https://www.youtube.com/channel/UCIcKN-VXhkZNpf5DRdHp9JA\\nOur Shorts Channel- https://www.youtube.com/c...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'10 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'22 minutes, 7 seconds\'}}, \'simpleText\': \'22:07\'}, \'viewCountText\': {\'simpleText\': \'6,737,452 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=AbkbpbpHGw4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'AbkbpbpHGw4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=01b91ba5ba471b0e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Crazy XYZ\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}]}, \'trackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFVAjrac0tv0xtwB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6.7 million views\'}}, \'simpleText\': \'6.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLkBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLkBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'AbkbpbpHGw4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLkBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'AbkbpbpHGw4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'AbkbpbpHGw4\']}}]}}, \'trackingParams\': \'CLkBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtBYmticGJwSEd3NA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLgBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m_dwfeg3dT3tiDA8BJyWUyAk9EYZKjB5J_HGXBqSMcqmE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'22 minutes, 7 seconds\'}}, \'simpleText\': \'22:07\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLcBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'AbkbpbpHGw4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLcBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'AbkbpbpHGw4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLcBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLYBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLYBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'AbkbpbpHGw4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLYBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'AbkbpbpHGw4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'AbkbpbpHGw4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLYBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_m_dwfeg3dT3tiDA8BJyWUyAk9EYZKjB5J_HGXBqSMcqmE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLUBENwwGA8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@CrazyXYZ\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCebC4x5l2-PQxg46Ucv9CsA\', \'canonicalBaseUrl\': \'/@CrazyXYZ\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'fzOVeNcFT3Q\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/fzOVeNcFT3Q/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLD4iv3waAoJ_7a2iZQQF63-d1kPsQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/fzOVeNcFT3Q/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB4xyFvZGoGuKLte5_zZpO0B8tQJA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/fzOVeNcFT3Q/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDUIsu8AkNEunfWmEU0NtGTEcIn5g\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857144, \'section3Color\': 15199986, \'primaryTitleColor\': 1054233, \'secondaryTitleColor\': 5006709, \'section4Color\': 14542571}, \'darkColorPalette\': {\'section2Color\': 1452083, \'section3Color\': 1121830, \'primaryTitleColor\': 15070719, \'secondaryTitleColor\': 10730700, \'section4Color\': 726041}}, \'title\': {\'runs\': [{\'text\': "Women\'s Asia Cup Highlights | India triumphs in the Greatest Rivalry | #WomensAsiaCupOnStar"}], \'accessibility\': {\'accessibilityData\': {\'label\': "Women\'s Asia Cup Highlights | India triumphs in the Greatest Rivalry | #WomensAsiaCupOnStar by Star Sports 6,471,182 views 6 days ago 24 minutes"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'#TeamIndia kickstarts their #WomensAsiaCup campaign with a commanding win against arch-rivals Pakistan \xc3\xb0\\x9f\\x92\xc2\xaf\\n\\nAn outstanding bowling performance, combined with a stellar opening stand led the...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Star Sports\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starsports\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmqfX0S3x0I3uwLkPdpX03w\', \'canonicalBaseUrl\': \'/@starsports\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'24 minutes, 29 seconds\'}}, \'simpleText\': \'24:29\'}, \'viewCountText\': {\'simpleText\': \'6,471,182 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=fzOVeNcFT3Q\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'fzOVeNcFT3Q\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=7f339578d7054f74&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Star Sports\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starsports\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmqfX0S3x0I3uwLkPdpX03w\', \'canonicalBaseUrl\': \'/@starsports\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Star Sports\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starsports\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmqfX0S3x0I3uwLkPdpX03w\', \'canonicalBaseUrl\': \'/@starsports\'}}}]}, \'trackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFVA9J6VuI2v5Zl_\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6.4 million views\'}}, \'simpleText\': \'6.4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLQBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLQBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'fzOVeNcFT3Q\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLQBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'fzOVeNcFT3Q\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'fzOVeNcFT3Q\']}}]}}, \'trackingParams\': \'CLQBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgtmek9WZU5jRlQzUQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CLMBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/wmMhkk6wa1gPnY8NK7t1TjDO935hUi6h0wIaCfNZTvj9joidoRWhseNyVys__ssQxK5lGsyBun8=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starsports\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmqfX0S3x0I3uwLkPdpX03w\', \'canonicalBaseUrl\': \'/@starsports\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'24 minutes, 29 seconds\'}}, \'simpleText\': \'24:29\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLIBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'fzOVeNcFT3Q\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CLIBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'fzOVeNcFT3Q\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLIBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CLEBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CLEBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'fzOVeNcFT3Q\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CLEBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'fzOVeNcFT3Q\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'fzOVeNcFT3Q\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CLEBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/wmMhkk6wa1gPnY8NK7t1TjDO935hUi6h0wIaCfNZTvj9joidoRWhseNyVys__ssQxK5lGsyBun8=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CLABENwwGBAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@starsports\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCmqfX0S3x0I3uwLkPdpX03w\', \'canonicalBaseUrl\': \'/@starsports\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'av9BiY6pb7M\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAbgIqRlTPcsbWHpz160r0E59JtJA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBOTQY4sU5K3vG2xa6n5hmh3y4O1w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/av9BiY6pb7M/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBu6RwuQWl7gmC494p3nvn4RxlLcA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3350287, \'section3Color\': 2496267, \'primaryTitleColor\': 16773349, \'secondaryTitleColor\': 13415843, \'section4Color\': 1642247}}, \'title\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum Episode 6 | Fahad Mustafa | Hania Aamir | 23 July 2024 (Eng Sub) ARY Digital\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Kabhi Main Kabhi Tum Episode 6 | Fahad Mustafa | Hania Aamir | 23 July 2024 (Eng Sub) ARY Digital by ARY Digital HD 4,804,004 views 2 days ago 41 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum | Episode 6 | Digitally Presented by Master Paints , Food Panda , Sunsilk & Skin White | Fahad Mustafa | Hania Aamir | 23 July 2024 | ARY Digital Drama \\n\\nThe drama revolves...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 8 seconds\'}}, \'simpleText\': \'41:08\'}, \'viewCountText\': {\'simpleText\': \'4,804,004 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=av9BiY6pb7M\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'av9BiY6pb7M\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6aff41898ea96fb3&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'trackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFVAs9-l9Zix0P9q\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.8 million views\'}}, \'simpleText\': \'4.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CK8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CK8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'av9BiY6pb7M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CK8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'av9BiY6pb7M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'av9BiY6pb7M\']}}]}}, \'trackingParams\': \'CK8BEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgthdjlCaVk2cGI3TQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CK4BEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'41 minutes, 8 seconds\'}}, \'simpleText\': \'41:08\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CK0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'av9BiY6pb7M\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CK0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'av9BiY6pb7M\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CK0BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'av9BiY6pb7M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'av9BiY6pb7M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'av9BiY6pb7M\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKwBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKsBENwwGBEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'wT_l2aJBpHE\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/wT_l2aJBpHE/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBewCk3U9Wp6NI3_DNuWbtxZLRv4Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/wT_l2aJBpHE/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBGtDRyA3RQMe_wXkj5DvY8doIxZQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/wT_l2aJBpHE/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBndphkcf1PUgsFlrIVnZoXSIoFHQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857910, \'section3Color\': 15201007, \'primaryTitleColor\': 1054998, \'secondaryTitleColor\': 4549472, \'section4Color\': 14543847}, \'darkColorPalette\': {\'section2Color\': 337436, \'section3Color\': 203027, \'primaryTitleColor\': 15073271, \'secondaryTitleColor\': 10734784, \'section4Color\': 68617}}, \'title\': {\'runs\': [{\'text\': \'I Played BAD Indian Youtuber Games \xc3\xb0\\x9f\\x98\\x96 @CarryMinati\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'I Played BAD Indian Youtuber Games \xc3\xb0\\x9f\\x98\\x96 @CarryMinati by Mythpat 3,731,599 views 8 days ago 16 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Today I am gonna play Indian Youtuber Wierd games! These games are super funny and I play them on my Android Phone and PC. We play Triggered Insaan, Slayy Point, Carryminati Games which are...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Mythpat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Mythpat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCx6F-rETGiz7xf_vkMmX2yQ\', \'canonicalBaseUrl\': \'/@Mythpat\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'8 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 18 seconds\'}}, \'simpleText\': \'16:18\'}, \'viewCountText\': {\'simpleText\': \'3,731,599 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=wT_l2aJBpHE\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'wT_l2aJBpHE\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c13fe5d9a241a471&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Mythpat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Mythpat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCx6F-rETGiz7xf_vkMmX2yQ\', \'canonicalBaseUrl\': \'/@Mythpat\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Mythpat\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Mythpat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCx6F-rETGiz7xf_vkMmX2yQ\', \'canonicalBaseUrl\': \'/@Mythpat\'}}}]}, \'trackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFVA8ciGkpq7-Z_BAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.7 million views\'}}, \'simpleText\': \'3.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wT_l2aJBpHE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wT_l2aJBpHE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wT_l2aJBpHE\']}}]}}, \'trackingParams\': \'CKoBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt3VF9sMmFKQnBIRQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKkBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/S3Ns5FT6e9n31Z9Cagf0j_xEc_QqZcvxuuxxvZED1N6fcs4R9XsG_XhY-6ETMseU3CDSD9CcoA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Mythpat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCx6F-rETGiz7xf_vkMmX2yQ\', \'canonicalBaseUrl\': \'/@Mythpat\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 18 seconds\'}}, \'simpleText\': \'16:18\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'wT_l2aJBpHE\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'wT_l2aJBpHE\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKgBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'wT_l2aJBpHE\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'wT_l2aJBpHE\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'wT_l2aJBpHE\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKcBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/S3Ns5FT6e9n31Z9Cagf0j_xEc_QqZcvxuuxxvZED1N6fcs4R9XsG_XhY-6ETMseU3CDSD9CcoA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKYBENwwGBIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@Mythpat\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCx6F-rETGiz7xf_vkMmX2yQ\', \'canonicalBaseUrl\': \'/@Mythpat\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'uKUBeBBjdBs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/uKUBeBBjdBs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA_wWMIUUjZ69KeVa6i_zosEysKqA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/uKUBeBBjdBs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCTmwAC2yxanF0kEjPUfHxEa31TdA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/uKUBeBBjdBs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCzpMjhOx31Rs4mIQHrCTJPtiyvRw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643794, \'secondaryTitleColor\': 7364433, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3353380, \'section3Color\': 2498587, \'primaryTitleColor\': 16773605, \'secondaryTitleColor\': 13416099, \'section4Color\': 1643794}}, \'title\': {\'runs\': [{\'text\': \'Yashi ne kiya extreme hair cut prank\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Yashi ne kiya extreme hair cut prank by Suyash Vlogs 4,052,947 views 7 days ago 39 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Thank you for watching \\n\\nHair cut by - https://youtube.com/@hairbysanjeev4692?si=AmFM8DiSPI6uvdBF\\n\\n\\nSale is live now - https://suyashfashion.com \\nfollow our brand on Instagram - https://www.instag...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Suyash Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuyashVlogs\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC15EM1xKwmLdwr8L04s17vw\', \'canonicalBaseUrl\': \'/@SuyashVlogs\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'7 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'39 minutes, 41 seconds\'}}, \'simpleText\': \'39:41\'}, \'viewCountText\': {\'simpleText\': \'4,052,947 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=uKUBeBBjdBs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'uKUBeBBjdBs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b8a501781063741b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Suyash Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuyashVlogs\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC15EM1xKwmLdwr8L04s17vw\', \'canonicalBaseUrl\': \'/@SuyashVlogs\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Suyash Vlogs\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuyashVlogs\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC15EM1xKwmLdwr8L04s17vw\', \'canonicalBaseUrl\': \'/@SuyashVlogs\'}}}]}, \'trackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFVAm-iNg4GvwNK4AQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4 million views\'}}, \'simpleText\': \'4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'uKUBeBBjdBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'uKUBeBBjdBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'uKUBeBBjdBs\']}}]}}, \'trackingParams\': \'CKUBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt1S1VCZUJCamRCcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CKQBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mNwO4zzdpV16hqMI72JJVCPuClu_QFI3Q3moCx-6LCNXA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuyashVlogs\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC15EM1xKwmLdwr8L04s17vw\', \'canonicalBaseUrl\': \'/@SuyashVlogs\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'39 minutes, 41 seconds\'}}, \'simpleText\': \'39:41\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'uKUBeBBjdBs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CKMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'uKUBeBBjdBs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKMBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CKIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'uKUBeBBjdBs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'uKUBeBBjdBs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'uKUBeBBjdBs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CKIBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mNwO4zzdpV16hqMI72JJVCPuClu_QFI3Q3moCx-6LCNXA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CKEBENwwGBMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SuyashVlogs\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC15EM1xKwmLdwr8L04s17vw\', \'canonicalBaseUrl\': \'/@SuyashVlogs\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'TUaR3Mf3PFo\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/TUaR3Mf3PFo/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLANsGy_hMpVxOqUGOdynXwdRseXsg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/TUaR3Mf3PFo/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB_f26rimEZD67KBepgtCy37YWzcg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/TUaR3Mf3PFo/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAIu8vtLVtifFjX-9Dj__onJWs67A\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15920103, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 7690828, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3350035, \'section3Color\': 2496014, \'primaryTitleColor\': 16772837, \'secondaryTitleColor\': 13414819, \'section4Color\': 1642249}}, \'title\': {\'runs\': [{\'text\': \'Deadpool & Wolverine | Final Hindi Trailer | In Cinemas July 26\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Deadpool & Wolverine | Final Hindi Trailer | In Cinemas July 26 by IndiaMarvel 4,216,341 views 5 days ago 2 minutes, 2 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Kya tum taiyaar ho? \xc3\xb0\\x9f\\x92\\x9b\xc3\xa2\\x9d\xc2\xa4\xc3\xaf\xc2\xb8\\x8f\\nEk hafte mein aa raha hai #DeadpoolAndWolverine\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'IndiaMarvel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@marvelin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCah9jr4Ehlrt4Wv-q-CgJkg\', \'canonicalBaseUrl\': \'/@marvelin\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'5 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 2 seconds\'}}, \'simpleText\': \'2:02\'}, \'viewCountText\': {\'simpleText\': \'4,216,341 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=TUaR3Mf3PFo\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'TUaR3Mf3PFo\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=4d4691dcc7f73c5a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerText\': {\'runs\': [{\'text\': \'IndiaMarvel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@marvelin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCah9jr4Ehlrt4Wv-q-CgJkg\', \'canonicalBaseUrl\': \'/@marvelin\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'IndiaMarvel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@marvelin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCah9jr4Ehlrt4Wv-q-CgJkg\', \'canonicalBaseUrl\': \'/@marvelin\'}}}]}, \'trackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFVA2vjcv8y7pKNN\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4.2 million views\'}}, \'simpleText\': \'4.2M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CKABEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CKABEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'TUaR3Mf3PFo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CKABEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'TUaR3Mf3PFo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'TUaR3Mf3PFo\']}}]}}, \'trackingParams\': \'CKABEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtUVWFSM01mM1BGbw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJ8BEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nch5Zou4S-z7GphMTRXPgLxBDs2Af5ZD8Ch9NDeK0jWKM=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@marvelin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCah9jr4Ehlrt4Wv-q-CgJkg\', \'canonicalBaseUrl\': \'/@marvelin\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 2 seconds\'}}, \'simpleText\': \'2:02\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ4BEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'TUaR3Mf3PFo\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ4BEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'TUaR3Mf3PFo\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ4BEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJ0BEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJ0BEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'TUaR3Mf3PFo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJ0BEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'TUaR3Mf3PFo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'TUaR3Mf3PFo\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJ0BEMfsBBgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nch5Zou4S-z7GphMTRXPgLxBDs2Af5ZD8Ch9NDeK0jWKM=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJwBENwwGBQiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@marvelin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCah9jr4Ehlrt4Wv-q-CgJkg\', \'canonicalBaseUrl\': \'/@marvelin\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Av9DvtlJ9_M\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Av9DvtlJ9_M/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAilz7V_RtWu9bfWgakiBQh-4MHsA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Av9DvtlJ9_M/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBvd-sbkQFz0LPnMVh7pRL76SlqEA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Av9DvtlJ9_M/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDMp7TxQNZrKbt0n_ViQBgDHoruZw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15199986, \'primaryTitleColor\': 1185561, \'secondaryTitleColor\': 5334896, \'section4Color\': 14542827}, \'darkColorPalette\': {\'section2Color\': 1778470, \'section3Color\': 1185561, \'primaryTitleColor\': 15071231, \'secondaryTitleColor\': 10731468, \'section4Color\': 592652}}, \'title\': {\'runs\': [{\'text\': "\xc3\xac\xc2\xa7\\x80\xc3\xab\xc2\xaf\xc2\xbc (Jimin) \'Who\' Official MV"}], \'accessibility\': {\'accessibilityData\': {\'label\': "\xc3\xac\xc2\xa7\\x80\xc3\xab\xc2\xaf\xc2\xbc (Jimin) \'Who\' Official MV by HYBE LABELS 21,134,912 views 6 days ago 3 minutes, 28 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "\xc3\xac\xc2\xa7\\x80\xc3\xab\xc2\xaf\xc2\xbc (Jimin) \xc3\xa2\\x80\\x98MUSE\'\\n\xc3\xb0\\x9f\\x8e\xc2\xa7 Listen now: https://jimin.lnk.to/MUSE\\n\\n\\nCredits:\\nDirector: YongSeok Choi (Lumpens)\\nAssistant Director: Jihye Yoon, Soeyoung Park\\n\\nExecutive Producer: Tommy Sub..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'HYBE LABELS\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HYBELABELS\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC3IZKseVpdzPSBaWxBxundA\', \'canonicalBaseUrl\': \'/@HYBELABELS\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 28 seconds\'}}, \'simpleText\': \'3:28\'}, \'viewCountText\': {\'simpleText\': \'21,134,912 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Av9DvtlJ9_M\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Av9DvtlJ9_M\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=02ff43bed949f7f3&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'HYBE LABELS\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HYBELABELS\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC3IZKseVpdzPSBaWxBxundA\', \'canonicalBaseUrl\': \'/@HYBELABELS\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'HYBE LABELS\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HYBELABELS\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC3IZKseVpdzPSBaWxBxundA\', \'canonicalBaseUrl\': \'/@HYBELABELS\'}}}]}, \'trackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFVA8--nyu330P8C\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'21 million views\'}}, \'simpleText\': \'21M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Av9DvtlJ9_M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Av9DvtlJ9_M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Av9DvtlJ9_M\']}}]}}, \'trackingParams\': \'CJsBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtBdjlEdnRsSjlfTQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJoBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moizdSO2edQjTEiMj4OADBIy4SpYyZEGLA-KL538pq8UA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HYBELABELS\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC3IZKseVpdzPSBaWxBxundA\', \'canonicalBaseUrl\': \'/@HYBELABELS\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 28 seconds\'}}, \'simpleText\': \'3:28\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Av9DvtlJ9_M\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Av9DvtlJ9_M\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJkBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Av9DvtlJ9_M\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Av9DvtlJ9_M\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Av9DvtlJ9_M\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJgBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_moizdSO2edQjTEiMj4OADBIy4SpYyZEGLA-KL538pq8UA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJcBENwwGBUiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HYBELABELS\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC3IZKseVpdzPSBaWxBxundA\', \'canonicalBaseUrl\': \'/@HYBELABELS\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'kGUoOgeMb3g\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/kGUoOgeMb3g/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAUr8U4medl7gjk-RMksHxzCS998w\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/kGUoOgeMb3g/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAP8WsnHo_xoR7arY3vUXD9tt6iLQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/kGUoOgeMb3g/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDTUisGON1GbJO6yZqgLayZ81nJ5A\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 2631720, \'section3Color\': 1644825, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 789516}}, \'title\': {\'runs\': [{\'text\': \'Ashish Chanchlani and I Pranked Carryminati and Fukra Insaan\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Ashish Chanchlani and I Pranked Carryminati and Fukra Insaan by Triggered Insaan 10,435,434 views 12 days ago 14 minutes, 33 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'In this video, I teamed up with @ashishchanchlanivines to prank @CarryMinati and @FukraInsaan \\n\\nIss shoot mein aur bohut kuch hua hai, dekhna chahate ho? Picture baaki hai mere dost! #ComingSoon...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Triggered Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@triggeredinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCfLuT3JwLx8rvHjHfTymekw\', \'canonicalBaseUrl\': \'/@triggeredinsaan\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'12 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'14 minutes, 33 seconds\'}}, \'simpleText\': \'14:33\'}, \'viewCountText\': {\'simpleText\': \'10,435,434 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=kGUoOgeMb3g\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'kGUoOgeMb3g\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9065283a078c6f78&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Triggered Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@triggeredinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCfLuT3JwLx8rvHjHfTymekw\', \'canonicalBaseUrl\': \'/@triggeredinsaan\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Triggered Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@triggeredinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCfLuT3JwLx8rvHjHfTymekw\', \'canonicalBaseUrl\': \'/@triggeredinsaan\'}}}]}, \'trackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFVA-N6xvKCHyrKQAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 million views\'}}, \'simpleText\': \'10M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'kGUoOgeMb3g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'kGUoOgeMb3g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'kGUoOgeMb3g\']}}]}}, \'trackingParams\': \'CJYBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtrR1VvT2dlTWIzZw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJUBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mkAwCkXKphOW95tNtx2WVHWIH6LPKAcMVpH-fwAJgmKQM=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@triggeredinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCfLuT3JwLx8rvHjHfTymekw\', \'canonicalBaseUrl\': \'/@triggeredinsaan\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'14 minutes, 33 seconds\'}}, \'simpleText\': \'14:33\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'kGUoOgeMb3g\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CJQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'kGUoOgeMb3g\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJQBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CJMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'kGUoOgeMb3g\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'kGUoOgeMb3g\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'kGUoOgeMb3g\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CJMBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mkAwCkXKphOW95tNtx2WVHWIH6LPKAcMVpH-fwAJgmKQM=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CJIBENwwGBYiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@triggeredinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCfLuT3JwLx8rvHjHfTymekw\', \'canonicalBaseUrl\': \'/@triggeredinsaan\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'3kmUS5HlNNc\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/3kmUS5HlNNc/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDpVQ3l0SK5medYI0zUVHNHiVA_mA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/3kmUS5HlNNc/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDkspDBeyHtSiPuZQcDHnowJ1sUnw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/3kmUS5HlNNc/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCt9lUp9UK3iAkNljNVN3jnkuIIAw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8019279, \'section4Color\': 15459037}, \'darkColorPalette\': {\'section2Color\': 3349522, \'section3Color\': 2495757, \'primaryTitleColor\': 16772581, \'secondaryTitleColor\': 13414563, \'section4Color\': 1641993}}, \'title\': {\'runs\': [{\'text\': \'Zor Ki Barsaat Hui (Song): Jubin Nautiyal, Rochak K | Abhishek Malhan, Isha Malviya | Bhushan Kumar\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Zor Ki Barsaat Hui (Song): Jubin Nautiyal, Rochak K | Abhishek Malhan, Isha Malviya | Bhushan Kumar by T-Series 22,813,685 views 10 days ago 3 minutes, 34 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'This Monsoon, Witness the Love In Its True Senses. Presenting the Monsoon Blockbuster Hit "Zor Ki Barsaat Hui (Song)" With The Sensational Duo "Abhishek Malhan" & "Isha Malviya". Sung by the...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'T-Series\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tseries\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCq-Fj5jknLsUf-MWSy4_brA\', \'canonicalBaseUrl\': \'/@tseries\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'10 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 34 seconds\'}}, \'simpleText\': \'3:34\'}, \'viewCountText\': {\'simpleText\': \'22,813,685 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=3kmUS5HlNNc\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'3kmUS5HlNNc\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=de49944b91e534d7&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'T-Series\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tseries\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCq-Fj5jknLsUf-MWSy4_brA\', \'canonicalBaseUrl\': \'/@tseries\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'T-Series\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tseries\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCq-Fj5jknLsUf-MWSy4_brA\', \'canonicalBaseUrl\': \'/@tseries\'}}}]}, \'trackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFVA1-mUj7mJ5aTeAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'22 million views\'}}, \'simpleText\': \'22M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CJEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CJEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'3kmUS5HlNNc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CJEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'3kmUS5HlNNc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'3kmUS5HlNNc\']}}]}}, \'trackingParams\': \'CJEBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgsza21VUzVIbE5OYw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CJABEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/XE7Iq8jvJ07ptMc-HxZR_V-2XgXCb0i06i4E_dypl7xSR655WXaQeglfqNuEeuwH3oM9RKVodQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tseries\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCq-Fj5jknLsUf-MWSy4_brA\', \'canonicalBaseUrl\': \'/@tseries\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 34 seconds\'}}, \'simpleText\': \'3:34\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CI8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'3kmUS5HlNNc\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CI8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'3kmUS5HlNNc\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CI8BEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CI4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CI4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'3kmUS5HlNNc\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CI4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'3kmUS5HlNNc\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'3kmUS5HlNNc\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CI4BEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/XE7Iq8jvJ07ptMc-HxZR_V-2XgXCb0i06i4E_dypl7xSR655WXaQeglfqNuEeuwH3oM9RKVodQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CI0BENwwGBciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@tseries\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCq-Fj5jknLsUf-MWSy4_brA\', \'canonicalBaseUrl\': \'/@tseries\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'sBBCXKbrT3I\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA92HHkWozW1YGiXIW09ITES8D7BA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLClejhzkaPKctW0hl8riomeILjMGA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/sBBCXKbrT3I/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA-F0rBfraDIlKTOINxH-CqBnbXeg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856376, \'section3Color\': 15198450, \'primaryTitleColor\': 1052953, \'secondaryTitleColor\': 5659524, \'section4Color\': 14540779}, \'darkColorPalette\': {\'section2Color\': 856627, \'section3Color\': 658726, \'primaryTitleColor\': 15067391, \'secondaryTitleColor\': 10725580, \'section4Color\': 395545}}, \'title\': {\'runs\': [{\'text\': "India (W) vs Nepal (W) | ACC Women\'s Asia Cup | Match 10 | Highlights"}], \'accessibility\': {\'accessibilityData\': {\'label\': "India (W) vs Nepal (W) | ACC Women\'s Asia Cup | Match 10 | Highlights by Asian Cricket Council 1,937,069 views 2 days ago 12 minutes, 5 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Match 10 of India (W) vs Nepal (W), ACC Women\'s Asia Cup"}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 5 seconds\'}}, \'simpleText\': \'12:05\'}, \'viewCountText\': {\'simpleText\': \'1,937,069 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=sBBCXKbrT3I\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'sBBCXKbrT3I\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b010425ca6eb4f72&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Asian Cricket Council\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}]}, \'trackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFVA8p6tt8rLkIiwAQ==\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.9 million views\'}}, \'simpleText\': \'1.9M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'sBBCXKbrT3I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'sBBCXKbrT3I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'sBBCXKbrT3I\']}}]}}, \'trackingParams\': \'CIwBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtzQkJDWEticlQzSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIsBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'12 minutes, 5 seconds\'}}, \'simpleText\': \'12:05\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'sBBCXKbrT3I\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'sBBCXKbrT3I\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIoBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'sBBCXKbrT3I\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'sBBCXKbrT3I\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'sBBCXKbrT3I\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIkBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/6aLGUKNgK97FyqShBOoJwUd1kUtIJfDbx8Pvt31ceLmboNWMADnDSX7KsDxWrGWkLuPUO5vYpA=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIgBENwwGBgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AsianCricketCouncilTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC7ITT3ooYWDYY_ehIUbt6eg\', \'canonicalBaseUrl\': \'/@AsianCricketCouncilTV\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Z7_NNgXbyR4\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAZgfXfLzP-Lsvij0LkWYIZ6vJWbg\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCO1yyagYydNvz7N7gG2jb2YS7Ekw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Z7_NNgXbyR4/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDXXnTt7ruIBasPzBuTdLKdYJtOeg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15199986, \'primaryTitleColor\': 1447961, \'secondaryTitleColor\': 5923429, \'section4Color\': 14542827}, \'darkColorPalette\': {\'section2Color\': 2171942, \'section3Color\': 1447961, \'primaryTitleColor\': 15071231, \'secondaryTitleColor\': 11846860, \'section4Color\': 723980}}, \'title\': {\'runs\': [{\'text\': \'Realme 13 Pro plus is here - Ultra clear camera vs DSLR\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Realme 13 Pro plus is here - Ultra clear camera vs DSLR by Technology Gyan 834,775 views 3 days ago 13 minutes, 9 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Realme 13 pro+ aa gaya hai dslr level camera k sath...\\n\\naaj is video mein camera test krte hai realme ke new smartphone realme 13 pro plus ka side by side compare krenge dslr se jange bhai...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 9 seconds\'}}, \'simpleText\': \'13:09\'}, \'viewCountText\': {\'simpleText\': \'834,775 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFUyBmctaGlnaFoKRkV0cmVuZGluZ5oBBxDy8AUY5AM=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Z7_NNgXbyR4\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Z7_NNgXbyR4\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=67bfcd3605dbc91e&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Technology Gyan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}]}, \'trackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFVAnpLvruCm899n\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'834K views\'}}, \'simpleText\': \'834K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Z7_NNgXbyR4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Z7_NNgXbyR4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Z7_NNgXbyR4\']}}]}}, \'trackingParams\': \'CIcBEP6YBBgIIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtaN19OTmdYYnlSNA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIYBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}], \'trackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/tC7T8-4MvARqycrxkYbYQh5ygYMjqIn4ET9s-OAjmWeM349qscepubONTcBvb_vG43jwW_Xi_g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'13 minutes, 9 seconds\'}}, \'simpleText\': \'13:09\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Z7_NNgXbyR4\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Z7_NNgXbyR4\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIUBEPnnAxgCIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Z7_NNgXbyR4\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Z7_NNgXbyR4\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Z7_NNgXbyR4\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIQBEMfsBBgDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/tC7T8-4MvARqycrxkYbYQh5ygYMjqIn4ET9s-OAjmWeM349qscepubONTcBvb_vG43jwW_Xi_g=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CIMBENwwGBkiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TechnologyGyan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC1tVU8H153ZFO9eRsxdJlhA\', \'canonicalBaseUrl\': \'/@TechnologyGyan\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'a2AD7Wa8Jx0\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDtrENTYI-nHac8RvqSoyd5ksELlA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBn4YYGC7bx5ycgXyfv9HeC-fsoqA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/a2AD7Wa8Jx0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDmPNhzgEwPBN_zxyNHvytkfoQTVQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314866, \'section3Color\': 15919081, \'primaryTitleColor\': 1643027, \'secondaryTitleColor\': 8018014, \'section4Color\': 15457760}, \'darkColorPalette\': {\'section2Color\': 3351591, \'section3Color\': 2497309, \'primaryTitleColor\': 16770537, \'secondaryTitleColor\': 13411242, \'section4Color\': 1643027}}, \'title\': {\'runs\': [{\'text\': \'Savi-Sai-Rajat ka \xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\\x82\xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa5\\x80\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\xc2\xbe hug! | Ep.1284 | Latest | Ghum Hai Kisikey Pyaar Meiin | Mon-Sun | 8PM\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Savi-Sai-Rajat ka \xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\\x82\xc3\xa0\xc2\xa4\\x97\xc3\xa0\xc2\xa5\\x80\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa4\xc2\xbe hug! | Ep.1284 | Latest | Ghum Hai Kisikey Pyaar Meiin | Mon-Sun | 8PM by Ghum Hai Kisikey Pyaar Meiin 1,468,391 views 1 day ago 3 minutes, 21 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Click here to Subscribe Ghum Hai Kisikey Pyaar Meiin : https://www.youtube.com/channel/UCh9Ao0KLPNXGsHqvIU1pdVw\\n\\nClick here to Subscribe Star Plus : https://www.youtube.com/channel/UC-LPIU24bQXVljU...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 21 seconds\'}}, \'simpleText\': \'3:21\'}, \'viewCountText\': {\'simpleText\': \'1,468,391 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=a2AD7Wa8Jx0\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'a2AD7Wa8Jx0\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6b6003ed66bc271d&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Ghum Hai Kisikey Pyaar Meiin \', \'navigationEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}]}, \'trackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVUCdzvC11v2AsGs=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.4 million views\'}}, \'simpleText\': \'1.4M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CIIBEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CIIBEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'a2AD7Wa8Jx0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CIIBEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'a2AD7Wa8Jx0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'a2AD7Wa8Jx0\']}}]}}, \'trackingParams\': \'CIIBEP6YBBgHIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgthMkFEN1dhOEp4MA%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CIEBEI5iIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/MHFaHBZzV3kCZRrZ-DVE_gnGuisdfsskorOC0Kc24q5UnC5liL92W9xbqnEeCvwW-2jHBYEGyw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 21 seconds\'}}, \'simpleText\': \'3:21\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CIABEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'a2AD7Wa8Jx0\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CIABEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'a2AD7Wa8Jx0\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CIABEPnnAxgBIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CH8Qx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CH8Qx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'a2AD7Wa8Jx0\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CH8Qx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'a2AD7Wa8Jx0\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'a2AD7Wa8Jx0\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CH8Qx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/MHFaHBZzV3kCZRrZ-DVE_gnGuisdfsskorOC0Kc24q5UnC5liL92W9xbqnEeCvwW-2jHBYEGyw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CH4Q3DAYGiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@GhumHaiKisikeyPyaarMeiin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCh9Ao0KLPNXGsHqvIU1pdVw\', \'canonicalBaseUrl\': \'/@GhumHaiKisikeyPyaarMeiin\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'f1FobBUfz1s\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCduZD7zN8o-d_4EOG72cnYuHsGyw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCTmP6rnrFC-ldeFhyBrKLqVG0PFA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/f1FobBUfz1s/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAF-xUxI7yrLhINdlrcPXMrPDykuQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7691852, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3350287, \'section3Color\': 2496267, \'primaryTitleColor\': 16773349, \'secondaryTitleColor\': 13415843, \'section4Color\': 1642247}}, \'title\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum Episode 5 | Fahad Mustafa | Hania Aamir | 22 July 2024 (Eng Sub) ARY Digital\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Kabhi Main Kabhi Tum Episode 5 | Fahad Mustafa | Hania Aamir | 22 July 2024 (Eng Sub) ARY Digital by ARY Digital HD 5,145,240 views 3 days ago 42 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Kabhi Main Kabhi Tum | Episode 5 | Digitally Presented by Master Paints , Food Panda , Sunsilk & Skin White | Fahad Mustafa | Hania Aamir | 22 July 2024 | ARY Digital Drama \\n\\nThe drama revolves...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'42 minutes, 45 seconds\'}}, \'simpleText\': \'42:45\'}, \'viewCountText\': {\'simpleText\': \'5,145,240 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=f1FobBUfz1s\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'f1FobBUfz1s\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=7f51686c151fcf5b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'ARY Digital HD\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}]}, \'trackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVUDbnv-owY3aqH8=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.1 million views\'}}, \'simpleText\': \'5.1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CH0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CH0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'f1FobBUfz1s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CH0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'f1FobBUfz1s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'f1FobBUfz1s\']}}]}}, \'trackingParams\': \'CH0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtmMUZvYkJVZnoxcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CHwQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'42 minutes, 45 seconds\'}}, \'simpleText\': \'42:45\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'f1FobBUfz1s\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CHsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'f1FobBUfz1s\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CHoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'f1FobBUfz1s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CHoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'f1FobBUfz1s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'f1FobBUfz1s\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/QhOVHhLgg5wFu4H4gA9qOVoavng-T2xoA62cXVV-dk-j8phnED3P8whca8CETo0GuAVhQgtO=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CHkQ3DAYGyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ARYDigitalasia\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC4JCksJF76g_MdzPVBJoC3Q\', \'canonicalBaseUrl\': \'/@ARYDigitalasia\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'8DHetOLjAXk\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLC7owsgTMYmtBybCd6TNUgOM2qc1w\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB93hSyCUiT5f4zs_uZjwG0lPG0Qw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/8DHetOLjAXk/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAewwYyQSPx65-KPAzm6xE5sOVu4g\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314865, \'section3Color\': 15919079, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8344658, \'section4Color\': 15458013}, \'darkColorPalette\': {\'section2Color\': 3349788, \'section3Color\': 2496021, \'primaryTitleColor\': 16770789, \'secondaryTitleColor\': 13411747, \'section4Color\': 1641998}}, \'title\': {\'runs\': [{\'text\': \'\xc3\xa0\xc2\xa4\\x8f\xc3\xa0\xc2\xa4\\x95 Skit \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 Through CID \xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xb2 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Case \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Mystery! | CID | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x80.\xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x88.\xc3\xa0\xc2\xa4\xc2\xa1\xc3\xa0\xc2\xa5\\x80.| Latest Episode| 23 July 2024\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'\xc3\xa0\xc2\xa4\\x8f\xc3\xa0\xc2\xa4\\x95 Skit \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 Through CID \xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa4\xc2\xb2 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Case \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x80 Mystery! | CID | \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x80.\xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x88.\xc3\xa0\xc2\xa4\xc2\xa1\xc3\xa0\xc2\xa5\\x80.| Latest Episode| 23 July 2024 by LIV Crime 756,588 views 2 days ago 48 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Click here to Subscribe to LIV Crime: \\nhttps://www.youtube.com/channel/UCzXpAx4v6rFLYXkJZ5nmSvQ?sub_confirmation=1\\n\\nA woman\'s ghost is haunting the city and causing destruction around. The..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes\'}}, \'simpleText\': \'48:00\'}, \'viewCountText\': {\'simpleText\': \'756,588 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=8DHetOLjAXk\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'8DHetOLjAXk\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f031deb4e2e30179&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'LIV Crime\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}]}, \'trackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVUD5goyXztb3mPAB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'756K views\'}}, \'simpleText\': \'756K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CHgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CHgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8DHetOLjAXk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CHgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8DHetOLjAXk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8DHetOLjAXk\']}}]}}, \'trackingParams\': \'CHgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs4REhldE9MakFYaw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CHcQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/KUIS6mJgrYkNTaUuCdda7ewat5IFHzGK0hULzV0c0b5BsIeThimuIULKg2IcQemtmPwbDDnOPg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes\'}}, \'simpleText\': \'48:00\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'8DHetOLjAXk\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CHYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'8DHetOLjAXk\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CHUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'8DHetOLjAXk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CHUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'8DHetOLjAXk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'8DHetOLjAXk\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/KUIS6mJgrYkNTaUuCdda7ewat5IFHzGK0hULzV0c0b5BsIeThimuIULKg2IcQemtmPwbDDnOPg=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CHQQ3DAYHCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LIVCrime\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCzXpAx4v6rFLYXkJZ5nmSvQ\', \'canonicalBaseUrl\': \'/@LIVCrime\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'bkp1RMnVgbU\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARg6IFsoZTAP&rs=AOn4CLBeJWSQNbgnpHu0b1km2CAUvHpxTA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYOiBbKGUwDw==&rs=AOn4CLD6Png04lDo1it6vzMaTxHkheUdLQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/bkp1RMnVgbU/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYOiBbKGUwDw==&rs=AOn4CLBPiT7VVGlaQao7kpXAqs_lgQeQlw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857400, \'section3Color\': 15200242, \'primaryTitleColor\': 1054489, \'secondaryTitleColor\': 4744816, \'section4Color\': 14543083}, \'darkColorPalette\': {\'section2Color\': 1384998, \'section3Color\': 923161, \'primaryTitleColor\': 15071487, \'secondaryTitleColor\': 10732236, \'section4Color\': 461580}}, \'title\': {\'runs\': [{\'text\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER"}], \'accessibility\': {\'accessibilityData\': {\'label\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER by Ujjwal 2,878,115 views 4 days ago 46 minutes"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "CLIMBING TO THE TOP, BUT WE\'RE CHAINED TOGETHER\\n#ujjwal #technogamerz \\n\\nShare, Support, Subscribe!!!\\nSubscribe: http://bit.ly/ujjwalgamer\\nDiscord : https://bitly.com/ujjwaldiscord\\nYoutube:..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'46 minutes, 57 seconds\'}}, \'simpleText\': \'46:57\'}, \'viewCountText\': {\'simpleText\': \'2,878,115 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=bkp1RMnVgbU\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'bkp1RMnVgbU\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6e4a7544c9d581b5&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Ujjwal\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}]}, \'trackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVUC1g9bOzKidpW4=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.8 million views\'}}, \'simpleText\': \'2.8M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CHMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CHMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bkp1RMnVgbU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CHMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bkp1RMnVgbU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bkp1RMnVgbU\']}}]}}, \'trackingParams\': \'CHMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgtia3AxUk1uVmdiVQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CHIQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lyELJ0LIqRHvTpOle1dqQlSNlLhMmvs0I0vSD5hjihoGI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'46 minutes, 57 seconds\'}}, \'simpleText\': \'46:57\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'bkp1RMnVgbU\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CHEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'bkp1RMnVgbU\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CHAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CHAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bkp1RMnVgbU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CHAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bkp1RMnVgbU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bkp1RMnVgbU\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CHAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lyELJ0LIqRHvTpOle1dqQlSNlLhMmvs0I0vSD5hjihoGI=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CG8Q3DAYHSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@UjjwalGamer\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCl_vAxZpvbO-PFXdDu7EdHw\', \'canonicalBaseUrl\': \'/@UjjwalGamer\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'_OKAwz2MsJs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA4Yl6B4nS7KbUgPDmDw2reND6z2g\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAZACUvz2aSCZ65N9YWQPCTlCR0fg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/_OKAwz2MsJs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLC-4FkCv_1w-CceiMZUC5oaykQ1wQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857910, \'section3Color\': 15201007, \'primaryTitleColor\': 1054999, \'secondaryTitleColor\': 4549474, \'section4Color\': 14543848}, \'darkColorPalette\': {\'section2Color\': 1582626, \'section3Color\': 1054999, \'primaryTitleColor\': 15073272, \'secondaryTitleColor\': 10734786, \'section4Color\': 527371}}, \'title\': {\'runs\': [{\'text\': \'Joker: Folie \xc3\x83\\x80 Deux | Official Trailer\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Joker: Folie \xc3\x83\\x80 Deux | Official Trailer by Warner Bros. Pictures 15,926,400 views 2 days ago 2 minutes, 51 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'When you\xc3\xa2\\x80\\x99re smiling, the whole world smiles with you. Joker: Folie \xc3\x83\\x80 Deux \xc3\xa2\\x80\\x93 only in theaters and IMAX, October 4. #JokerMovie #FilmedForIMAX \\n\\nFrom acclaimed writer/director/producer Todd...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 51 seconds\'}}, \'simpleText\': \'2:51\'}, \'viewCountText\': {\'simpleText\': \'15,926,400 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=_OKAwz2MsJs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'_OKAwz2MsJs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fce280c33d8cb09b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Warner Bros. Pictures\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}]}, \'trackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVUCb4bLss5ig8fwB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'15 million views\'}}, \'simpleText\': \'15M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CG4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CG4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_OKAwz2MsJs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CG4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_OKAwz2MsJs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_OKAwz2MsJs\']}}]}}, \'trackingParams\': \'CG4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtfT0tBd3oyTXNKcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CG0QjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/CoYiDB8ojHTQvSwr9h8clzpcm85wiFaHroW0MaVgTnDEXAIMxhGlzC5Vwo9N3-z3obfVqc_G62I=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 minutes, 51 seconds\'}}, \'simpleText\': \'2:51\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'_OKAwz2MsJs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CGwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'_OKAwz2MsJs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CGsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'_OKAwz2MsJs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CGsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'_OKAwz2MsJs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'_OKAwz2MsJs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/CoYiDB8ojHTQvSwr9h8clzpcm85wiFaHroW0MaVgTnDEXAIMxhGlzC5Vwo9N3-z3obfVqc_G62I=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CGoQ3DAYHiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@WarnerBrosPictures\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjmJDM5pRKbUlVIzDYYWb6g\', \'canonicalBaseUrl\': \'/@WarnerBrosPictures\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'eFJN6cJtFpY\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/eFJN6cJtFpY/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAYgJmTLKTytJxpafybLWVK-G9J2A\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/eFJN6cJtFpY/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD0Zy8eGSO9kQBs5rmR8q3EtQDMtA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/eFJN6cJtFpY/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBiYCHtyFJ79TsR8JPQVr6o3pWQQQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919335, \'primaryTitleColor\': 1644054, \'secondaryTitleColor\': 7036509, \'section4Color\': 15458269}, \'darkColorPalette\': {\'section2Color\': 3353900, \'section3Color\': 2498849, \'primaryTitleColor\': 16771301, \'secondaryTitleColor\': 13415601, \'section4Color\': 1644054}}, \'title\': {\'runs\': [{\'text\': \'Big Boss Roasted Vada pav Girl & Carryminati funny Memes\xc3\xb0\\x9f\\x98\\x82\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Big Boss Roasted Vada pav Girl & Carryminati funny Memes\xc3\xb0\\x9f\\x98\\x82 by FUKRA INSAAN LIVE 2,376,547 views 5 days ago 10 minutes, 58 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Follow me on Instagram for updates \xc3\xa2\\x9e\\x9e https://instagram.com/fukra_insaan?igshid=jytojomgh8j4\\n\\nJoin my discord server \xc3\xa2\\x9e\\x9ehttps://discord.gg/Es7PVh4BAK\\n\\nMy twitter \xc3\xa2\\x9e\\x9e https://twitter.com/AbhishekM...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'FUKRA INSAAN LIVE\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@fukrainsaanlive4744\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCi5kSELjaJWmnBKPXkTcxsA\', \'canonicalBaseUrl\': \'/@fukrainsaanlive4744\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'5 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 58 seconds\'}}, \'simpleText\': \'10:58\'}, \'viewCountText\': {\'simpleText\': \'2,376,547 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=eFJN6cJtFpY\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'eFJN6cJtFpY\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=78524de9c26d1696&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'FUKRA INSAAN LIVE\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@fukrainsaanlive4744\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCi5kSELjaJWmnBKPXkTcxsA\', \'canonicalBaseUrl\': \'/@fukrainsaanlive4744\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'FUKRA INSAAN LIVE\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@fukrainsaanlive4744\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCi5kSELjaJWmnBKPXkTcxsA\', \'canonicalBaseUrl\': \'/@fukrainsaanlive4744\'}}}]}, \'trackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVUCWrbSTnL2TqXg=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.3 million views\'}}, \'simpleText\': \'2.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CGkQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CGkQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'eFJN6cJtFpY\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CGkQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'eFJN6cJtFpY\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'eFJN6cJtFpY\']}}]}}, \'trackingParams\': \'CGkQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtlRkpONmNKdEZwWQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CGgQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mgPC0xP59nzugiixK4iKIbmS3r4PIRJdoBFdIsrwsH3GE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@fukrainsaanlive4744\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCi5kSELjaJWmnBKPXkTcxsA\', \'canonicalBaseUrl\': \'/@fukrainsaanlive4744\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 58 seconds\'}}, \'simpleText\': \'10:58\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGcQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'eFJN6cJtFpY\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CGcQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'eFJN6cJtFpY\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGcQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGYQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CGYQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'eFJN6cJtFpY\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CGYQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'eFJN6cJtFpY\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'eFJN6cJtFpY\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGYQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_mgPC0xP59nzugiixK4iKIbmS3r4PIRJdoBFdIsrwsH3GE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CGUQ3DAYHyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@fukrainsaanlive4744\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCi5kSELjaJWmnBKPXkTcxsA\', \'canonicalBaseUrl\': \'/@fukrainsaanlive4744\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ow2Jxem9o7E\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCRk2U-u91fOQ_XJgYZ5DRjaITvSQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA8r9MKa-zowE38w3z78zW01QHISA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ow2Jxem9o7E/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBHQWWuTb7Nz9q_I49Fjy-lbRJbvw\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315377, \'section3Color\': 15919847, \'primaryTitleColor\': 1643280, \'secondaryTitleColor\': 8018767, \'section4Color\': 15458781}, \'darkColorPalette\': {\'section2Color\': 3347463, \'section3Color\': 2494213, \'primaryTitleColor\': 16772325, \'secondaryTitleColor\': 13414051, \'section4Color\': 1640963}}, \'title\': {\'runs\': [{\'text\': \'VIKRANT REDDY | TOP REAL TEAM | TRT\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'VIKRANT REDDY | TOP REAL TEAM | TRT by Top Real Team 5,397,702 views 4 days ago 48 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Download Zupee and win Real cash https://app.adjust.com/1e4efgxa?redirect=https%3A%2F%2Fwww.zupee.com%2F\\n\\nUse Promocode TRT15 to get Rs 15 signup bonus\\n\\n#SadiyonSeIndiaKaApnagame\\n#IndiaKaApnaGame...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes, 42 seconds\'}}, \'simpleText\': \'48:42\'}, \'viewCountText\': {\'simpleText\': \'5,397,702 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ow2Jxem9o7E\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ow2Jxem9o7E\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr4---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a30d89c5e9bda3b1&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Top Real Team\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}]}, \'trackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVUCxx_bN3rjihqMB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'5.3 million views\'}}, \'simpleText\': \'5.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CGQQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CGQQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ow2Jxem9o7E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CGQQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ow2Jxem9o7E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ow2Jxem9o7E\']}}]}}, \'trackingParams\': \'CGQQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtvdzJKeGVtOW83RQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CGMQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lZi07tDx5ikd7WteiSLk1nWWdAoWEO5Z4HD2ACEcq0Ozw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'48 minutes, 42 seconds\'}}, \'simpleText\': \'48:42\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGIQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ow2Jxem9o7E\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CGIQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ow2Jxem9o7E\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGIQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CGEQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CGEQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ow2Jxem9o7E\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CGEQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ow2Jxem9o7E\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ow2Jxem9o7E\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CGEQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lZi07tDx5ikd7WteiSLk1nWWdAoWEO5Z4HD2ACEcq0Ozw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CGAQ3DAYICITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TopRealTeam\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCodBDtYUuhigSVKksHpYMTw\', \'canonicalBaseUrl\': \'/@TopRealTeam\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'ltAbK1EhW3s\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBMDasRYD9NzddtCvuynZZMLwqr5Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDvTgmSCfAX5a_3mpd-M-_ysV461g\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/ltAbK1EhW3s/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDLkJvzFMmUwSTjUF1Xj_bSunxhNg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1643024, \'secondaryTitleColor\': 8018255, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3346695, \'section3Color\': 2493701, \'primaryTitleColor\': 16772069, \'secondaryTitleColor\': 13413539, \'section4Color\': 1640451}}, \'title\': {\'runs\': [{\'text\': \'Hamster Kombat Withdrawal Successful | Hamster Kombat \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 Withdraw \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x87 ?\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Hamster Kombat Withdrawal Successful | Hamster Kombat \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x88\xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 Withdraw \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x87 ? by Manoj Dey 448,946 views 2 days ago 6 minutes, 33 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Joining Link - https://t.me/hamstEr_kombat_bot/start?startapp=kentId5325436803\\n\\nPart 1 Video - https://youtu.be/EC0djBtl4Vg?si=U_hMeMJ-k6AFog93\\n\\nFOLLOW ME ON:\\n\xc3\xb0\\x9f\\x93\xc2\xb8 Instagram: https://instagram.com/...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6 minutes, 33 seconds\'}}, \'simpleText\': \'6:33\'}, \'viewCountText\': {\'simpleText\': \'448,946 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=ltAbK1EhW3s\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'ltAbK1EhW3s\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=96d01b2b51215b7b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Manoj Dey\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}]}, \'trackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVUD7toWJteWG6JYB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'448K views\'}}, \'simpleText\': \'448K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CF8Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CF8Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ltAbK1EhW3s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CF8Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ltAbK1EhW3s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ltAbK1EhW3s\']}}]}}, \'trackingParams\': \'CF8Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtsdEFiSzFFaFczcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CF4QjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lLkEfWaXwrWypl4d7tEWiz-s8JzPSqKvXGn25qh9IgNF0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'6 minutes, 33 seconds\'}}, \'simpleText\': \'6:33\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CF0Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'ltAbK1EhW3s\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CF0Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'ltAbK1EhW3s\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CF0Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CFwQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFwQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'ltAbK1EhW3s\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFwQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'ltAbK1EhW3s\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'ltAbK1EhW3s\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CFwQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_lLkEfWaXwrWypl4d7tEWiz-s8JzPSqKvXGn25qh9IgNF0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CFsQ3DAYISITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@ManojDey\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCT2xzagsBVtStUCA2ulvKmQ\', \'canonicalBaseUrl\': \'/@ManojDey\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'xEz1bZIm4Dw\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/xEz1bZIm4Dw/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLD6D7gdawqhrS6-EqmrVrt-hfoE1A\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/xEz1bZIm4Dw/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDveq-EApFRq3j00tMBGGVHW4HmVA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/xEz1bZIm4Dw/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBwjNjrvFWkPtPEbLAh5Krz44DduA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16314866, \'section3Color\': 15919080, \'primaryTitleColor\': 1642513, \'secondaryTitleColor\': 8344152, \'section4Color\': 15457759}, \'darkColorPalette\': {\'section2Color\': 3344654, \'section3Color\': 2492171, \'primaryTitleColor\': 16770536, \'secondaryTitleColor\': 13411240, \'section4Color\': 1639431}}, \'title\': {\'runs\': [{\'text\': "Dholahat Incident: Youth\'s Death After Release from Police Custody Spark Tension | Sangbad Pratidin"}], \'accessibility\': {\'accessibilityData\': {\'label\': "Dholahat Incident: Youth\'s Death After Release from Police Custody Spark Tension | Sangbad Pratidin by Sangbad Pratidin 1,005,226 views 2 weeks ago 4 minutes, 26 seconds"}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Dholahat Incident: \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa7\\x8b\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xb8\xc3\xa0\xc2\xa6\xc2\xa8\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\xc2\xa6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb9\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\xc2\xab\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\\x9f\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xaf\xc3\xa0\xc2\xa6\xc2\xbc\xc3\xa0\xc2\xa7\\x87 \xc3\xa0\xc2\xa6\\x96\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xa8! \xc3\xa0\xc2\xa6\xc2\xa2\xc3\xa0\xc2\xa7\\x8b\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb9\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x9f\xc3\xa0\xc2\xa7\\x87 \'\xc3\xa0\xc2\xa6\xc2\xaa\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xb2\xc3\xa0\xc2\xa6\xc2\xbf\xc3\xa0\xc2\xa6\xc2\xb6\xc3\xa0\xc2\xa7\\x87\xc3\xa0\xc2\xa6\xc2\xb0 \xc3\xa0\xc2\xa6\xc2\xae\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\xc2\xb0\xc3\xa0\xc2\xa7\\x87\' \xc3\xa0\xc2\xa6\xc2\xae\xc3\xa0\xc2\xa7\\x83\xc3\xa0\xc2\xa6\xc2\xa4 \xc3\xa0\xc2\xa6\xc2\xaf\xc3\xa0\xc2\xa7\\x81\xc3\xa0\xc2\xa6\xc2\xac\xc3\xa0\xc2\xa6\\x95\xc3\xa0\xc2\xa5\xc2\xa4 \xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\xc2\xbe\xc3\xa0\xc2\xa6\\x9e\xc3\xa0\xc2\xa7\\x8d\xc3\xa0\xc2\xa6\\x9a\xc3\xa0\xc2\xa6\xc2\xb2..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 weeks ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4 minutes, 26 seconds\'}}, \'simpleText\': \'4:26\'}, \'viewCountText\': {\'simpleText\': \'1,005,226 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=xEz1bZIm4Dw\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'xEz1bZIm4Dw\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c44cf56d9226e03c&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Sangbad Pratidin\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}]}, \'trackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVUC8wJuR2a29psQB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1 million views\'}}, \'simpleText\': \'1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFoQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFoQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xEz1bZIm4Dw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFoQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xEz1bZIm4Dw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xEz1bZIm4Dw\']}}]}}, \'trackingParams\': \'CFoQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt4RXoxYlpJbTREdw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CFkQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_minbJIhJspwyQQfZwq2XPJyzKMZ5dobhPnR5D5yrF3VkY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'4 minutes, 26 seconds\'}}, \'simpleText\': \'4:26\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CFgQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'xEz1bZIm4Dw\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CFgQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'xEz1bZIm4Dw\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CFgQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CFcQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFcQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'xEz1bZIm4Dw\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFcQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'xEz1bZIm4Dw\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'xEz1bZIm4Dw\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CFcQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_minbJIhJspwyQQfZwq2XPJyzKMZ5dobhPnR5D5yrF3VkY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CFYQ3DAYIiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@SangbadPratidin\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCLPCvTftdZpZQSM-mckfqXQ\', \'canonicalBaseUrl\': \'/@SangbadPratidin\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'gcNmzgE1XWo\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAKc6qCFr1c0wnOvXdS6b63wyLThw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBse0VUjTXKaBjiSgwJGV9DbNPo_w\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/gcNmzgE1XWo/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLC5jc0dQ1mi63rD6YMR5xJpfrJRlA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15987192, \'section3Color\': 15460338, \'primaryTitleColor\': 1249305, \'secondaryTitleColor\': 6706820, \'section4Color\': 14867947}, \'darkColorPalette\': {\'section2Color\': 1773107, \'section3Color\': 1313574, \'primaryTitleColor\': 15656447, \'secondaryTitleColor\': 11641804, \'section4Color\': 853785}}, \'title\': {\'runs\': [{\'text\': \'Blockbuster or Disaster? | Budget 2024 EXPLAINED in just 15 minutes\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Blockbuster or Disaster? | Budget 2024 EXPLAINED in just 15 minutes by Labour Law Advisor 630,261 views 2 days ago 16 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\xc3\xa2\\x96\\x80\\nBuy Health Insurance: https://health.lla.in\\nBuy Term Insurance: https://term.lla.in\\n\\nHax to Save Tax Courses by LLA:...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 31 seconds\'}}, \'simpleText\': \'16:31\'}, \'viewCountText\': {\'simpleText\': \'630,261 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=gcNmzgE1XWo\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'gcNmzgE1XWo\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=81c366ce01355d6a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Labour Law Advisor\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}]}, \'trackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVUDqutWJ4NnZ4YEB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'630K views\'}}, \'simpleText\': \'630K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFUQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFUQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'gcNmzgE1XWo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFUQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'gcNmzgE1XWo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'gcNmzgE1XWo\']}}]}}, \'trackingParams\': \'CFUQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtnY05temdFMVhXbw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CFQQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/CVvE7vApeq2jgHhty_LsDBVJPnp-msvs7r3spAZo_14T_nBqd1CWTjhUdjg1TTAztO7MOxu2=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'16 minutes, 31 seconds\'}}, \'simpleText\': \'16:31\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CFMQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'gcNmzgE1XWo\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CFMQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'gcNmzgE1XWo\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CFMQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CFIQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFIQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'gcNmzgE1XWo\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFIQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'gcNmzgE1XWo\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'gcNmzgE1XWo\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CFIQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/CVvE7vApeq2jgHhty_LsDBVJPnp-msvs7r3spAZo_14T_nBqd1CWTjhUdjg1TTAztO7MOxu2=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CFEQ3DAYIyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@LabourLawAdvisor\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVOTBwF0vnSxMRIbfSE_K_g\', \'canonicalBaseUrl\': \'/@LabourLawAdvisor\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'PiRW6KOaM5c\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCvgtbocfLGslpt2oYMClaHbAVu2Q\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDhxs0rgzt4kZX1ZaODSRMA_OI8pg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/PiRW6KOaM5c/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA6FHWyfqI-gXs0iDkedbKWIg0iGg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856888, \'section3Color\': 15199474, \'primaryTitleColor\': 1316377, \'secondaryTitleColor\': 5858160, \'section4Color\': 14542059}, \'darkColorPalette\': {\'section2Color\': 2633011, \'section3Color\': 1974566, \'primaryTitleColor\': 15069695, \'secondaryTitleColor\': 10728908, \'section4Color\': 1316377}}, \'title\': {\'runs\': [{\'text\': \'CABBAGE with EGGS | Vegetables with Egg Recipe Cooking in Village | Quick and Easy Omelette Recipe\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'CABBAGE with EGGS | Vegetables with Egg Recipe Cooking in Village | Quick and Easy Omelette Recipe by Village Cooking Channel 2,153,456 views 1 day ago 9 minutes, 41 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'We add an egg to the cabbage to make this delicious recipe. We use some fresh vegetables and cabbage, mix them together, and cook them in a big hot vessel. This is the trending omelet recipe...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 41 seconds\'}}, \'simpleText\': \'9:41\'}, \'viewCountText\': {\'simpleText\': \'2,153,456 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=PiRW6KOaM5c\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'PiRW6KOaM5c\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr5---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3e2456e8a39a3397&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Village Cooking Channel\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}]}, \'trackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVUCX5-icit2Vkj4=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.1 million views\'}}, \'simpleText\': \'2.1M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CFAQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CFAQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PiRW6KOaM5c\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CFAQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PiRW6KOaM5c\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PiRW6KOaM5c\']}}]}}, \'trackingParams\': \'CFAQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtQaVJXNktPYU01Yw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CE8QjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/4eEETdAR33227A9KRhQ1T4P2NyYReiZKMeaN_rZ8QZ1LSCLUudaggLhZ1C40RkDyw6SejAmW=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9 minutes, 41 seconds\'}}, \'simpleText\': \'9:41\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CE4Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'PiRW6KOaM5c\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CE4Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'PiRW6KOaM5c\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CE4Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CE0Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CE0Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'PiRW6KOaM5c\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CE0Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'PiRW6KOaM5c\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'PiRW6KOaM5c\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CE0Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/4eEETdAR33227A9KRhQ1T4P2NyYReiZKMeaN_rZ8QZ1LSCLUudaggLhZ1C40RkDyw6SejAmW=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CEwQ3DAYJCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@VillageCookingChannel\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCk3JZr7eS3pg5AGEvBdEvFg\', \'canonicalBaseUrl\': \'/@VillageCookingChannel\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'FRCIvHBY2gI\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/FRCIvHBY2gI/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLB8gd_5wftn4nBu5PgmbzRhbZ55bQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/FRCIvHBY2gI/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA5FN8dV9kuSpzvE1tqq2IqLHA7sg\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/FRCIvHBY2gI/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAI4vXGigeraU6COfuLdctydnjyAQ\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919335, \'primaryTitleColor\': 1642768, \'secondaryTitleColor\': 8345682, \'section4Color\': 15458269}, \'darkColorPalette\': {\'section2Color\': 3347215, \'section3Color\': 2493963, \'primaryTitleColor\': 16771301, \'secondaryTitleColor\': 13412515, \'section4Color\': 1640711}}, \'title\': {\'runs\': [{\'text\': \'Saindhav (2024) New Released Full Hindi Dubbed Action Movie | Venkatesh, Nawazuddin, Arya, Shradha\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Saindhav (2024) New Released Full Hindi Dubbed Action Movie | Venkatesh, Nawazuddin, Arya, Shradha by RKD Studios 46,364,055 views 3 weeks ago 2 hours, 10 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Check out Our Blockbuster Action Thriller Movie "SAINDHAV". It is the Hindi dubbed version of the Telugu Blockbuster Movie "SAINDHAV". The film stars Venkatesh Daggubati, Nawazuddin Siddiqui,...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 weeks ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 hours, 10 minutes, 54 seconds\'}}, \'simpleText\': \'2:10:54\'}, \'viewCountText\': {\'simpleText\': \'46,364,055 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=FRCIvHBY2gI\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'FRCIvHBY2gI\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=151088bc7058da02&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'RKD Studios\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}]}, \'trackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVUCCtOOCx5eiiBU=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'46 million views\'}}, \'simpleText\': \'46M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEsQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CEsQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'FRCIvHBY2gI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CEsQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'FRCIvHBY2gI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'FRCIvHBY2gI\']}}]}}, \'trackingParams\': \'CEsQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtGUkNJdkhCWTJnSQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CEoQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/JxO-AGHTUPTCU_Irgbhchh0_5sYjE_AZYX2bPtsaEug68dUXiIrIAFqNOjI9VrxZv262sU4hpQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2 hours, 10 minutes, 54 seconds\'}}, \'simpleText\': \'2:10:54\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CEkQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'FRCIvHBY2gI\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CEkQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'FRCIvHBY2gI\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CEkQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CEgQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CEgQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'FRCIvHBY2gI\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CEgQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'FRCIvHBY2gI\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'FRCIvHBY2gI\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CEgQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/JxO-AGHTUPTCU_Irgbhchh0_5sYjE_AZYX2bPtsaEug68dUXiIrIAFqNOjI9VrxZv262sU4hpQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CEcQ3DAYJSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@rkddigital\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCjBwQ6M9QyCgO5Pp-TQRFUA\', \'canonicalBaseUrl\': \'/@rkddigital\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'7yTGYCrDBbs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAm6y7dBLciBXIBVeh9inb5NxvghQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAAH5LnCTzSQ9tfp-S7o9VVEYjzVw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/7yTGYCrDBbs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAd8ipe849j0aXhvSRYgP6i_-81Ww\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856888, \'section3Color\': 15199474, \'primaryTitleColor\': 1250841, \'secondaryTitleColor\': 5530224, \'section4Color\': 14542059}, \'darkColorPalette\': {\'section2Color\': 2501683, \'section3Color\': 1843494, \'primaryTitleColor\': 15069951, \'secondaryTitleColor\': 10729420, \'section4Color\': 1250841}}, \'title\': {\'runs\': [{\'text\': \'Washing My Tractors and Vehicles in Dam | JCB 3DX | Tata Truck | Mahindra Arjun 605 | Swaraj 744\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Washing My Tractors and Vehicles in Dam | JCB 3DX | Tata Truck | Mahindra Arjun 605 | Swaraj 744 by MD JCB XPERT 597,507 views 3 days ago 20 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'LIKE || SHARE || SUBSCRIBE\\n=======================\\n\\n_____________________________________________________\\n\\nFollow us on - YouTube / MD JCB XPERT\\nInstagram :-https://www.instagram.com/mdjcb.xpert/...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'3 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'20 minutes, 12 seconds\'}}, \'simpleText\': \'20:12\'}, \'viewCountText\': {\'simpleText\': \'597,507 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=7yTGYCrDBbs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'7yTGYCrDBbs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ef24c6602ac305bb&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'MD JCB XPERT\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}]}, \'trackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVUC7i4zWgsyxku8B\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'597K views\'}}, \'simpleText\': \'597K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEYQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CEYQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7yTGYCrDBbs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CEYQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7yTGYCrDBbs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7yTGYCrDBbs\']}}]}}, \'trackingParams\': \'CEYQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs3eVRHWUNyREJicw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CEUQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_k5gYNYLjIQLJj8V3O6z6IGuQyCnFuqLe8TY_uG-Lh05zE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'20 minutes, 12 seconds\'}}, \'simpleText\': \'20:12\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CEQQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'7yTGYCrDBbs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CEQQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'7yTGYCrDBbs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CEQQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CEMQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CEMQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'7yTGYCrDBbs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CEMQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'7yTGYCrDBbs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'7yTGYCrDBbs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CEMQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_k5gYNYLjIQLJj8V3O6z6IGuQyCnFuqLe8TY_uG-Lh05zE=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CEIQ3DAYJiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@MDJCBXPERT\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UC0S4TBEsQgiyMJaZ5z1w_Mw\', \'canonicalBaseUrl\': \'/@MDJCBXPERT\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'IOpjcKzqNhs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDMx97AqGSUDO6kyOBdbZQ1pipohQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLB11YfzWFW5LyC3WoLURqHyya-sjw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/IOpjcKzqNhs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCosQlFd7mulTNaespa7IIWAHR8lA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16250871, \'section3Color\': 15724527, \'primaryTitleColor\': 1644825, \'secondaryTitleColor\': 6645093, \'section4Color\': 15263976}, \'darkColorPalette\': {\'section2Color\': 3355443, \'section3Color\': 2500134, \'primaryTitleColor\': 16777215, \'secondaryTitleColor\': 13421772, \'section4Color\': 1644825}}, \'title\': {\'runs\': [{\'text\': \'What Villager Hide in His Inventory in Minecraft\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'What Villager Hide in His Inventory in Minecraft by Adi-Spot 512,262 views 2 days ago 10 minutes, 33 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'What Villager Hide in His Inventory in Minecraft\\n\\n\\nMy Second Channel @Blazzy... \\n\\n\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\xc3\xa2\\x96\xc2\xac\\nSocial Media :\\n\\nFollow karlo jaldi sai :)\\nhttps://www.instagram.com/adisp...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'2 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 33 seconds\'}}, \'simpleText\': \'10:33\'}, \'viewCountText\': {\'simpleText\': \'512,262 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=IOpjcKzqNhs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'IOpjcKzqNhs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=20ea6370acea361b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Adi-Spot\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}]}, \'trackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVUCb7Kjniu6Y9SA=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'512K views\'}}, \'simpleText\': \'512K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CEEQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CEEQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'IOpjcKzqNhs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CEEQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'IOpjcKzqNhs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'IOpjcKzqNhs\']}}]}}, \'trackingParams\': \'CEEQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtJT3BqY0t6cU5ocw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CEAQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/5AIANn5GsWevl-bEfnSJ09z3HFEx2S1amog17T671BiKyfVAXd2AYIbc3BPTXO4hKmiSxqIY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'10 minutes, 33 seconds\'}}, \'simpleText\': \'10:33\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CD8Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'IOpjcKzqNhs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CD8Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'IOpjcKzqNhs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CD8Q-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CD4Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CD4Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'IOpjcKzqNhs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CD4Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'IOpjcKzqNhs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'IOpjcKzqNhs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CD4Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/5AIANn5GsWevl-bEfnSJ09z3HFEx2S1amog17T671BiKyfVAXd2AYIbc3BPTXO4hKmiSxqIY=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CD0Q3DAYJyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AdiSpot\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCxm-rmArnUkNc-Lpf5s6X8g\', \'canonicalBaseUrl\': \'/@AdiSpot\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'BGy3EbyMmfU\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLANaPz-S7yPj_0gpt74Jnmo4aB3bQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCWOSbIOIm-8zP_l3B_nwTl7_wvAw\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/BGy3EbyMmfU/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCK3ed30bLtK6BzXQi3QpC9qSBbHg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315889, \'section3Color\': 15920615, \'primaryTitleColor\': 1644307, \'secondaryTitleColor\': 7037009, \'section4Color\': 15460061}, \'darkColorPalette\': {\'section2Color\': 2630687, \'section3Color\': 1644307, \'primaryTitleColor\': 16774373, \'secondaryTitleColor\': 13417379, \'section4Color\': 789257}}, \'title\': {\'runs\': [{\'text\': \'Sawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa3 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa5\\x88\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Sawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xaa\xc3\xa0\xc2\xa5\\x82\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\xc2\xa3 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb9\xc3\xa0\xc2\xa5\\x88 by Trimurti Bhakti 1,741,172 views 4 days ago 28 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'#trimurtibhakti \\nSawan Somvar Vrat Katha : \xc3\xa0\xc2\xa4\\x86\xc3\xa0\xc2\xa4\\x9c \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xa6\xc3\xa0\xc2\xa4\xc2\xbf\xc3\xa0\xc2\xa4\xc2\xa8 \xc3\xa0\xc2\xa4\xc2\xaf\xc3\xa0\xc2\xa4\xc2\xb9 \xc3\xa0\xc2\xa4\\x9a\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa4\xc3\xa0\xc2\xa5\\x8d\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xb0\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xa5\xc3\xa0\xc2\xa4\xc2\xbe \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x81\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa5\\x87 \xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\xc2\xb2\xc3\xa0\xc2\xa5\\x87\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xa5 \xc3\xa0\xc2\xa4\xc2\xb8\xc3\xa0\xc2\xa4\\xad\xc3\xa0\xc2\xa5\\x80 \xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa5\\x8b\xc3\xa0\xc2\xa4\\x95\xc3\xa0\xc2\xa4\xc2\xbe\xc3\xa0\xc2\xa4\xc2\xae\xc3\xa0\xc2\xa4\xc2\xa8\xc3\xa0\xc2\xa4\xc2\xbe...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'4 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'28 minutes, 9 seconds\'}}, \'simpleText\': \'28:09\'}, \'viewCountText\': {\'simpleText\': \'1,741,172 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=BGy3EbyMmfU\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'BGy3EbyMmfU\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmcl.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=046cb711bc8c99f5&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=525000&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Trimurti Bhakti\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}]}, \'trackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVUD1s7Lkm-KttgQ=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'1.7 million views\'}}, \'simpleText\': \'1.7M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CDwQ_pgEGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CDwQ_pgEGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'BGy3EbyMmfU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CDwQ_pgEGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'BGy3EbyMmfU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'BGy3EbyMmfU\']}}]}}, \'trackingParams\': \'CDwQ_pgEGAciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtCR3kzRWJ5TW1mVQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CDsQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_meGBuEFNl7Cyf6Axuoi9zmjr2FCxwAxC-Q2-_xZYsZ5Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'28 minutes, 9 seconds\'}}, \'simpleText\': \'28:09\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CDoQ-ecDGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'BGy3EbyMmfU\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CDoQ-ecDGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'BGy3EbyMmfU\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CDoQ-ecDGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CDkQx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CDkQx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'BGy3EbyMmfU\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CDkQx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'BGy3EbyMmfU\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'BGy3EbyMmfU\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CDkQx-wEGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_meGBuEFNl7Cyf6Axuoi9zmjr2FCxwAxC-Q2-_xZYsZ5Q=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CDgQ3DAYKCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@trimurtibhaktist\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCVhgR0R_67-i_dpb1p5ALww\', \'canonicalBaseUrl\': \'/@trimurtibhaktist\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'9qxN8VUozPA\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/9qxN8VUozPA/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLAwEcAPhmuVLqFNytGmsmnQkCAApA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/9qxN8VUozPA/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCvrh18yvGUgUIqky39DaFyCutBxA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/9qxN8VUozPA/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBofYUNpW3eGNM1AYU_gkV39Cmrtg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16316401, \'section3Color\': 15921383, \'primaryTitleColor\': 1644304, \'secondaryTitleColor\': 7038021, \'section4Color\': 15460829}, \'darkColorPalette\': {\'section2Color\': 2630937, \'section3Color\': 1644304, \'primaryTitleColor\': 16775909, \'secondaryTitleColor\': 13419683, \'section4Color\': 789256}}, \'title\': {\'runs\': [{\'text\': \'I attended Anant Ambani\xc3\xa2\\x80\\x99s reception Ceremony!\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'I attended Anant Ambani\xc3\xa2\\x80\\x99s reception Ceremony! by Also Abhinav 2,691,462 views 10 days ago 18 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Join us as we get an exclusive opportunity to experience the grandeur and hospitality at the wedding reception of the son of Asia\'s richest man, Mr. Mukesh Ambani. This spectacular event was..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Also Abhinav\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AlsoAbhinav\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSoOY37X45twbR5EC4hcdrQ\', \'canonicalBaseUrl\': \'/@AlsoAbhinav\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'10 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'18 minutes, 39 seconds\'}}, \'simpleText\': \'18:39\'}, \'viewCountText\': {\'simpleText\': \'2,691,462 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=9qxN8VUozPA\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'9qxN8VUozPA\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f6ac4df15528ccf0&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Also Abhinav\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AlsoAbhinav\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSoOY37X45twbR5EC4hcdrQ\', \'canonicalBaseUrl\': \'/@AlsoAbhinav\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Also Abhinav\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AlsoAbhinav\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSoOY37X45twbR5EC4hcdrQ\', \'canonicalBaseUrl\': \'/@AlsoAbhinav\'}}}]}, \'trackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVUDwmaOplb6T1vYB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.6 million views\'}}, \'simpleText\': \'2.6M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CDcQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CDcQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'9qxN8VUozPA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CDcQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'9qxN8VUozPA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'9qxN8VUozPA\']}}]}}, \'trackingParams\': \'CDcQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs5cXhOOFZVb3pQQQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CDYQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kaFe0d1d9s-4xJgBMNK1PAD-amWKwxhGXgqWSvHmOyghQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AlsoAbhinav\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSoOY37X45twbR5EC4hcdrQ\', \'canonicalBaseUrl\': \'/@AlsoAbhinav\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'18 minutes, 39 seconds\'}}, \'simpleText\': \'18:39\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CDUQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'9qxN8VUozPA\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CDUQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'9qxN8VUozPA\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CDUQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CDQQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CDQQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'9qxN8VUozPA\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CDQQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'9qxN8VUozPA\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'9qxN8VUozPA\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CDQQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kaFe0d1d9s-4xJgBMNK1PAD-amWKwxhGXgqWSvHmOyghQ=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CDMQ3DAYKSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@AlsoAbhinav\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCSoOY37X45twbR5EC4hcdrQ\', \'canonicalBaseUrl\': \'/@AlsoAbhinav\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'bbO_HqMHFfQ\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/bbO_HqMHFfQ/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLA2FLuPYed2ADuAETmzBvq5-LOjNw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/bbO_HqMHFfQ/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBVM9UH-gOScrv5VtB1gPvrRzWhTQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/bbO_HqMHFfQ/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLA-x9PV7fVF5o7plDQ8F9saeaaBMA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315633, \'section3Color\': 15920359, \'primaryTitleColor\': 1643536, \'secondaryTitleColor\': 7692108, \'section4Color\': 15459549}, \'darkColorPalette\': {\'section2Color\': 3351834, \'section3Color\': 2497555, \'primaryTitleColor\': 16773605, \'secondaryTitleColor\': 13415843, \'section4Color\': 1643021}}, \'title\': {\'runs\': [{\'text\': \'Jafaa - Ep 09 - [CC] 19th July 2024 - Sponsored By Salai, Masterpaints & Ujooba Beauty Cream, HUM TV\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Jafaa - Ep 09 - [CC] 19th July 2024 - Sponsored By Salai, Masterpaints & Ujooba Beauty Cream, HUM TV by HUM TV 9,590,970 views 6 days ago 37 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'\xc3\xb0\\x9f\\x91\\x89 Subscribe To HUM TV - https://bit.ly/Humtvpk\\n\\nJafaa - Ep 09 - [CC] 19th July 2024 - Sponsored By Salai, Masterpaints & Ujooba Beauty Cream - HUM TV\\n\\nDigitally Presented By Salai\\nDigitally...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'HUM TV\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HUMTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCEeEQxm6qc_qaTE7qTV5aLQ\', \'canonicalBaseUrl\': \'/@HUMTV\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'37 minutes, 2 seconds\'}}, \'simpleText\': \'37:02\'}, \'viewCountText\': {\'simpleText\': \'9,590,970 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=bbO_HqMHFfQ\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'bbO_HqMHFfQ\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6db3bf1ea30715f4&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'HUM TV\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HUMTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCEeEQxm6qc_qaTE7qTV5aLQ\', \'canonicalBaseUrl\': \'/@HUMTV\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'HUM TV\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HUMTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCEeEQxm6qc_qaTE7qTV5aLQ\', \'canonicalBaseUrl\': \'/@HUMTV\'}}}]}, \'trackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVUD0q5yY6uPv2W0=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'9.5 million views\'}}, \'simpleText\': \'9.5M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CDIQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CDIQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bbO_HqMHFfQ\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CDIQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bbO_HqMHFfQ\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bbO_HqMHFfQ\']}}]}}, \'trackingParams\': \'CDIQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtiYk9fSHFNSEZmUQ%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CDEQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/OZT5Uprp0zQxZv7_Co0WQ8KHJEGnjpWWUgeDSANdjWOduVacF_g-qeTWXbq_PJ4hRlhBXp8m=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HUMTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCEeEQxm6qc_qaTE7qTV5aLQ\', \'canonicalBaseUrl\': \'/@HUMTV\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'37 minutes, 2 seconds\'}}, \'simpleText\': \'37:02\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CDAQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'bbO_HqMHFfQ\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CDAQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'bbO_HqMHFfQ\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CDAQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CC8Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CC8Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'bbO_HqMHFfQ\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CC8Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'bbO_HqMHFfQ\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'bbO_HqMHFfQ\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CC8Qx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/OZT5Uprp0zQxZv7_Co0WQ8KHJEGnjpWWUgeDSANdjWOduVacF_g-qeTWXbq_PJ4hRlhBXp8m=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CC4Q3DAYKiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@HUMTV\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCEeEQxm6qc_qaTE7qTV5aLQ\', \'canonicalBaseUrl\': \'/@HUMTV\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'vZCHehCIuZk\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/vZCHehCIuZk/hqdefault.jpg?sqp=-oaymwE8CNIBEHZIWvKriqkDLwgBFQAAAAAYASUAAMhCPQCAokN4AfABAfgB_gmAAtAFigIMCAAQARhLIEkocjAP&rs=AOn4CLCwI6jFvrIRyYLclYmWK1g-1YQ5gA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/vZCHehCIuZk/hqdefault.jpg?sqp=-oaymwE9CPYBEIoBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYSyBJKHIwDw==&rs=AOn4CLAFEU5413xVVa2tni2A2ZGmzr_4MQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/vZCHehCIuZk/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYSyBJKHIwDw==&rs=AOn4CLCW3KFwzBTdiq9GwoxJTgbfoT6teg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856120, \'section3Color\': 15198194, \'primaryTitleColor\': 1052697, \'secondaryTitleColor\': 5986697, \'section4Color\': 14605803}, \'darkColorPalette\': {\'section2Color\': 2170931, \'section3Color\': 1644582, \'primaryTitleColor\': 15132159, \'secondaryTitleColor\': 10855372, \'section4Color\': 1052697}}, \'title\': {\'runs\': [{\'text\': \'Akai Onna - A Japanese Horror Game\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Akai Onna - A Japanese Horror Game by Live Insaan 2,333,453 views 7 days ago 35 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Playing Akai Onna, a Japanese horror Game.\\n\\nBecome a Channel Member \xc3\xa2\\x96\xc2\xba https://www.youtube.com/channel/UCFwKgzKe-EdTz83r6wzhmOw/join\\n\\nInstagram \xc3\xa2\\x96\xc2\xba https://www.instagram.com/triggeredinsaan...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'7 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'35 minutes, 59 seconds\'}}, \'simpleText\': \'35:59\'}, \'viewCountText\': {\'simpleText\': \'2,333,453 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=vZCHehCIuZk\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'vZCHehCIuZk\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr3---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=bd90877a1088b999&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Live Insaan\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}]}, \'trackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVUCZ86KEoe-hyL0B\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'2.3 million views\'}}, \'simpleText\': \'2.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CC0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CC0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'vZCHehCIuZk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CC0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'vZCHehCIuZk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'vZCHehCIuZk\']}}]}}, \'trackingParams\': \'CC0Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgt2WkNIZWhDSXVaaw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CCwQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nfsMq7BaO5zHVHhYcu_wHgQVimFgC7uBCbboM7a1koBWk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'35 minutes, 59 seconds\'}}, \'simpleText\': \'35:59\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'vZCHehCIuZk\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CCsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'vZCHehCIuZk\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCsQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CCoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'vZCHehCIuZk\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CCoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'vZCHehCIuZk\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'vZCHehCIuZk\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCoQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_nfsMq7BaO5zHVHhYcu_wHgQVimFgC7uBCbboM7a1koBWk=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CCkQ3DAYKyITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@liveinsaan\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCFwKgzKe-EdTz83r6wzhmOw\', \'canonicalBaseUrl\': \'/@liveinsaan\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'Nd0gLi3SXno\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLCSr311in_OUEtcJxaudT76hqgXJQ\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDuTmOrsGtoGKGxnR65zf3RTjF2iA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/Nd0gLi3SXno/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBdiks5NpFpBMCZ77Sr1tSIBdVSqA\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15857656, \'section3Color\': 15200242, \'primaryTitleColor\': 1054489, \'secondaryTitleColor\': 4745328, \'section4Color\': 14543083}, \'darkColorPalette\': {\'section2Color\': 335654, \'section3Color\': 202009, \'primaryTitleColor\': 15071743, \'secondaryTitleColor\': 10732492, \'section4Color\': 68108}}, \'title\': {\'runs\': [{\'text\': \'Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5 by TheLoudDude 471,124 views 1 day ago 19 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': "Level 1 SPIDERMAN to Level 1,000,000,000 SPIDERMAN in GTA 5\\n\\nDon\'t forget to leave a Like, Comment and Favorite, helps out a lot!!\\n\\nFOLLOW, LIKE AND JOIN ME ON:\\n\\nInstagram - https://www.instagram.c..."}]}, \'longBylineText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'1 day ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 25 seconds\'}}, \'simpleText\': \'19:25\'}, \'viewCountText\': {\'simpleText\': \'471,124 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=Nd0gLi3SXno\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'Nd0gLi3SXno\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=35dd202e2dd25e7a&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'TheLoudDude\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}]}, \'trackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVUD6vMnu4oXI7jU=\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'471K views\'}}, \'simpleText\': \'471K views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CCgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CCgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Nd0gLi3SXno\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CCgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Nd0gLi3SXno\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Nd0gLi3SXno\']}}]}}, \'trackingParams\': \'CCgQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgtOZDBnTGkzU1hubw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CCcQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kLVtNfwERunPCUNfPJ10eP5ZSJ-2ZTU44TITxEo29i9-U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'19 minutes, 25 seconds\'}}, \'simpleText\': \'19:25\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'Nd0gLi3SXno\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CCYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'Nd0gLi3SXno\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCYQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CCUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'Nd0gLi3SXno\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CCUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'Nd0gLi3SXno\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'Nd0gLi3SXno\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCUQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ytc/AIdro_kLVtNfwERunPCUNfPJ10eP5ZSJ-2ZTU44TITxEo29i9-U=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CCQQ3DAYLCITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@TheLoudDude\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCS8uIXvlSK3HtC0p0VIWyTQ\', \'canonicalBaseUrl\': \'/@TheLoudDude\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'9plc9BNJISs\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/9plc9BNJISs/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLChbapFQxaBHBM9IZD1Z0SZtRATFw\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/9plc9BNJISs/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDDTqYwdTr91y6dk0YsVsc8RwJhdQ\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/9plc9BNJISs/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBtFyViHPYPxqreYTsI8N2WQDX_Eg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 16315121, \'section3Color\': 15919591, \'primaryTitleColor\': 1644310, \'secondaryTitleColor\': 6643035, \'section4Color\': 15458525}, \'darkColorPalette\': {\'section2Color\': 3354157, \'section3Color\': 2499362, \'primaryTitleColor\': 16771813, \'secondaryTitleColor\': 13417398, \'section4Color\': 1644310}}, \'title\': {\'runs\': [{\'text\': \'I Tested VIRAL Instagram REEL Products!!\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'I Tested VIRAL Instagram REEL Products!! by Pragati Verma 3,390,743 views 11 days ago 17 minutes\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Buy Original Adivasi Hair Oil \xc3\xb0\\x9f\\x91\\x87\xc3\xb0\\x9f\\x8f\xc2\xbb\xc3\xb0\\x9f\\x91\\x87\xc3\xb0\\x9f\\x8f\xc2\xbb\\nWebsite: https://ahakkipikki.in\\nDirectly call or whatsapp : 7259287760 7259287720\\n7259287730 7259287757 7259287721 \\n\\n#adivasi #adivasihairoil...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'Pragati Verma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PragatiVermaa\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBu8GHpHy9vX8ixdTb38kIQ\', \'canonicalBaseUrl\': \'/@PragatiVermaa\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'11 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'17 minutes, 46 seconds\'}}, \'simpleText\': \'17:46\'}, \'viewCountText\': {\'simpleText\': \'3,390,743 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=9plc9BNJISs\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'9plc9BNJISs\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr2---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f6995cf41349212b&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'Pragati Verma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PragatiVermaa\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBu8GHpHy9vX8ixdTb38kIQ\', \'canonicalBaseUrl\': \'/@PragatiVermaa\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'Pragati Verma\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PragatiVermaa\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBu8GHpHy9vX8ixdTb38kIQ\', \'canonicalBaseUrl\': \'/@PragatiVermaa\'}}}]}, \'trackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVUCrwqSawZ7XzPYB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3.3 million views\'}}, \'simpleText\': \'3.3M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CCMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CCMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'9plc9BNJISs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CCMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'9plc9BNJISs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'9plc9BNJISs\']}}]}}, \'trackingParams\': \'CCMQ_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'Cgs5cGxjOUJOSklTcw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CCIQjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/ZfgUCYvXJ5kER-VrcsB3FFbcY5oy-HPcag9moKSVoWlYGcmpNxWWVPat0LsjNpheGvQY24QIFY0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PragatiVermaa\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBu8GHpHy9vX8ixdTb38kIQ\', \'canonicalBaseUrl\': \'/@PragatiVermaa\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'17 minutes, 46 seconds\'}}, \'simpleText\': \'17:46\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'9plc9BNJISs\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CCEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'9plc9BNJISs\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCEQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CCAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CCAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'9plc9BNJISs\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CCAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'9plc9BNJISs\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'9plc9BNJISs\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CCAQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/ZfgUCYvXJ5kER-VrcsB3FFbcY5oy-HPcag9moKSVoWlYGcmpNxWWVPat0LsjNpheGvQY24QIFY0=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CB8Q3DAYLSITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@PragatiVermaa\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCBu8GHpHy9vX8ixdTb38kIQ\', \'canonicalBaseUrl\': \'/@PragatiVermaa\'}}}}}}}}}, {\'videoRenderer\': {\'videoId\': \'0P0aQreFs8w\', \'thumbnail\': {\'thumbnails\': [{\'url\': \'https://i.ytimg.com/vi/0P0aQreFs8w/hqdefault.jpg?sqp=-oaymwEiCNIBEHZIWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLBpTeyPTbm_PYoTpKlLu7dgUofCGA\', \'width\': 210, \'height\': 118}, {\'url\': \'https://i.ytimg.com/vi/0P0aQreFs8w/hqdefault.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCVH9qXAvw71yrWnyKP0awWwNbEyA\', \'width\': 246, \'height\': 138}, {\'url\': \'https://i.ytimg.com/vi/0P0aQreFs8w/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBIRXnX-zF-kj5R4mTov7SVJKROFg\', \'width\': 336, \'height\': 188}], \'lightColorPalette\': {\'section2Color\': 15856888, \'section3Color\': 15199474, \'primaryTitleColor\': 1053977, \'secondaryTitleColor\': 5203066, \'section4Color\': 14542059}, \'darkColorPalette\': {\'section2Color\': 2173491, \'section3Color\': 1580838, \'primaryTitleColor\': 15069951, \'secondaryTitleColor\': 10729420, \'section4Color\': 1053977}}, \'title\': {\'runs\': [{\'text\': \'Stray Kids "Chk Chk Boom" M/V\'}], \'accessibility\': {\'accessibilityData\': {\'label\': \'Stray Kids "Chk Chk Boom" M/V by JYP Entertainment 52,793,171 views 6 days ago 3 minutes, 26 seconds\'}}}, \'descriptionSnippet\': {\'runs\': [{\'text\': \'Stray Kids(\xc3\xac\\x8a\xc2\xa4\xc3\xad\\x8a\xc2\xb8\xc3\xab\\xa0\\x88\xc3\xac\\x9d\xc2\xb4 \xc3\xad\\x82\xc2\xa4\xc3\xac\xc2\xa6\\x88) "Chk Chk Boom" M/V\\n\\nListen to "ATE" now\xc3\xb0\\x9f\xc2\xa5\\xa0\\nhttps://Stray-Kids.lnk.to/ATE\\n\\nStray Kids "ATE"\\niTunes & Apple Music: https://Stray-Kids.lnk.to/ATE/AppleMusic\\nSpotify:...\'}]}, \'longBylineText\': {\'runs\': [{\'text\': \'JYP Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JYPEntertainment\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCaO6TYtlC8U5ttz62hTrZgg\', \'canonicalBaseUrl\': \'/@JYPEntertainment\'}}}]}, \'publishedTimeText\': {\'simpleText\': \'6 days ago\'}, \'lengthText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 26 seconds\'}}, \'simpleText\': \'3:26\'}, \'viewCountText\': {\'simpleText\': \'52,793,171 views\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVTIGZy1oaWdoWgpGRXRyZW5kaW5nmgEHEPLwBRjkAw==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/watch?v=0P0aQreFs8w\', \'webPageType\': \'WEB_PAGE_TYPE_WATCH\', \'rootVe\': 3832}}, \'watchEndpoint\': {\'videoId\': \'0P0aQreFs8w\', \'watchEndpointSupportedOnesieConfig\': {\'html5PlaybackOnesieConfig\': {\'commonConfig\': {\'url\': \'https://rr1---sn-ci5gup-pmce.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d0fd1a42b785b3cc&ip=2401%3A4900%3A3a11%3A8e93%3Ad11a%3A891f%3Aa379%3A13a8&initcwndbps=511250&mt=1721947519&oweuc=&pxtags=Cg4KAnR4Egg1MTE4MTI5Ng&rxtags=Cg4KAnR4Egg1MTE4MTI5Ng%2CCg4KAnR4Egg1MTE4MTI5Nw%2CCg4KAnR4Egg1MTE4MTI5OA\'}}}}}, \'ownerBadges\': [{\'metadataBadgeRenderer\': {\'icon\': {\'iconType\': \'CHECK_CIRCLE_THICK\'}, \'style\': \'BADGE_STYLE_TYPE_VERIFIED\', \'tooltip\': \'Verified\', \'trackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibilityData\': {\'label\': \'Verified\'}}}], \'ownerText\': {\'runs\': [{\'text\': \'JYP Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JYPEntertainment\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCaO6TYtlC8U5ttz62hTrZgg\', \'canonicalBaseUrl\': \'/@JYPEntertainment\'}}}]}, \'shortBylineText\': {\'runs\': [{\'text\': \'JYP Entertainment\', \'navigationEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JYPEntertainment\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCaO6TYtlC8U5ttz62hTrZgg\', \'canonicalBaseUrl\': \'/@JYPEntertainment\'}}}]}, \'trackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVUDM55a8q8jG_tAB\', \'showActionMenu\': False, \'shortViewCountText\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'52 million views\'}}, \'simpleText\': \'52M views\'}, \'menu\': {\'menuRenderer\': {\'items\': [{\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Add to queue\'}]}, \'icon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CB4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CB4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'0P0aQreFs8w\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CB4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'0P0aQreFs8w\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'0P0aQreFs8w\']}}]}}, \'trackingParams\': \'CB4Q_pgEGAgiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'menuServiceItemRenderer\': {\'text\': {\'runs\': [{\'text\': \'Share\'}]}, \'icon\': {\'iconType\': \'SHARE\'}, \'serviceEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/share/get_share_panel\'}}, \'shareEntityServiceEndpoint\': {\'serializedShareEntity\': \'CgswUDBhUXJlRnM4dw%3D%3D\', \'commands\': [{\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'openPopupAction\': {\'popup\': {\'unifiedSharePanelRenderer\': {\'trackingParams\': \'CB0QjmIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'showLoadingSpinner\': True}}, \'popupType\': \'DIALOG\', \'beReused\': True}}]}}, \'trackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Action menu\'}}}}, \'channelThumbnailSupportedRenderers\': {\'channelThumbnailWithLinkRenderer\': {\'thumbnail\': {\'thumbnails\': [{\'url\': \'https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JYPEntertainment\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCaO6TYtlC8U5ttz62hTrZgg\', \'canonicalBaseUrl\': \'/@JYPEntertainment\'}}, \'accessibility\': {\'accessibilityData\': {\'label\': \'Go to channel\'}}}}, \'thumbnailOverlays\': [{\'thumbnailOverlayTimeStatusRenderer\': {\'text\': {\'accessibility\': {\'accessibilityData\': {\'label\': \'3 minutes, 26 seconds\'}}, \'simpleText\': \'3:26\'}, \'style\': \'DEFAULT\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'isToggled\': False, \'untoggledIcon\': {\'iconType\': \'WATCH_LATER\'}, \'toggledIcon\': {\'iconType\': \'CHECK\'}, \'untoggledTooltip\': \'Watch Later\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CBwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'addedVideoId\': \'0P0aQreFs8w\', \'action\': \'ACTION_ADD_VIDEO\'}]}}, \'toggledServiceEndpoint\': {\'clickTrackingParams\': \'CBwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/browse/edit_playlist\'}}, \'playlistEditEndpoint\': {\'playlistId\': \'WL\', \'actions\': [{\'action\': \'ACTION_REMOVE_VIDEO_BY_VIDEO_ID\', \'removedVideoId\': \'0P0aQreFs8w\'}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Watch Later\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CBwQ-ecDGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayToggleButtonRenderer\': {\'untoggledIcon\': {\'iconType\': \'ADD_TO_QUEUE_TAIL\'}, \'toggledIcon\': {\'iconType\': \'PLAYLIST_ADD_CHECK\'}, \'untoggledTooltip\': \'Add to queue\', \'toggledTooltip\': \'Added\', \'untoggledServiceEndpoint\': {\'clickTrackingParams\': \'CBsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CBsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'addToPlaylistCommand\': {\'openMiniplayer\': True, \'videoId\': \'0P0aQreFs8w\', \'listType\': \'PLAYLIST_EDIT_LIST_TYPE_QUEUE\', \'onCreateListCommand\': {\'clickTrackingParams\': \'CBsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/playlist/create\'}}, \'createPlaylistServiceEndpoint\': {\'videoIds\': [\'0P0aQreFs8w\'], \'params\': \'CAQ%3D\'}}, \'videoIds\': [\'0P0aQreFs8w\']}}]}}, \'untoggledAccessibility\': {\'accessibilityData\': {\'label\': \'Add to queue\'}}, \'toggledAccessibility\': {\'accessibilityData\': {\'label\': \'Added\'}}, \'trackingParams\': \'CBsQx-wEGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'thumbnailOverlayNowPlayingRenderer\': {\'text\': {\'runs\': [{\'text\': \'Now playing\'}]}}}], \'avatar\': {\'decoratedAvatarViewModel\': {\'avatar\': {\'avatarViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s68-c-k-c0x00ffffff-no-rj\', \'width\': 68, \'height\': 68}]}, \'avatarImageSize\': \'AVATAR_SIZE_M\'}}, \'a11yLabel\': \'Go to channel\', \'rendererContext\': {\'commandContext\': {\'onTap\': {\'innertubeCommand\': {\'clickTrackingParams\': \'CBoQ3DAYLiITCIaxvuijw4cDFYKL2AUdMloAVQ==\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/@JYPEntertainment\', \'webPageType\': \'WEB_PAGE_TYPE_CHANNEL\', \'rootVe\': 3611, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'UCaO6TYtlC8U5ttz62hTrZgg\', \'canonicalBaseUrl\': \'/@JYPEntertainment\'}}}}}}}}}]}}, \'trackingParams\': \'CBkQ3BwYACITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CBgQuy8YAyITCIaxvuijw4cDFYKL2AUdMloAVQ==\'}}], \'trackingParams\': \'CBcQui8iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'targetId\': \'browse-feedFEtrending\'}}, \'tabIdentifier\': \'\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Now\'}}, \'trackingParams\': \'CBYQ8JMBGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'tabRenderer\': {\'endpoint\': {\'clickTrackingParams\': \'CBUQ8JMBGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/feed/trending?bp=4gINGgt5dG1hX2NoYXJ0cw%3D%3D\', \'webPageType\': \'WEB_PAGE_TYPE_BROWSE\', \'rootVe\': 6827, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'FEtrending\', \'params\': \'4gINGgt5dG1hX2NoYXJ0cw%3D%3D\'}}, \'title\': \'Music\', \'selected\': False, \'tabIdentifier\': \'\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Music\'}}, \'trackingParams\': \'CBUQ8JMBGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'tabRenderer\': {\'endpoint\': {\'clickTrackingParams\': \'CBQQ8JMBGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/feed/trending?bp=4gIcGhpnYW1pbmdfY29ycHVzX21vc3RfcG9wdWxhcg%3D%3D\', \'webPageType\': \'WEB_PAGE_TYPE_BROWSE\', \'rootVe\': 6827, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'FEtrending\', \'params\': \'4gIcGhpnYW1pbmdfY29ycHVzX21vc3RfcG9wdWxhcg%3D%3D\'}}, \'title\': \'Gaming\', \'selected\': False, \'tabIdentifier\': \'\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Gaming\'}}, \'trackingParams\': \'CBQQ8JMBGAIiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, {\'tabRenderer\': {\'endpoint\': {\'clickTrackingParams\': \'CBMQ8JMBGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/feed/trending?bp=4gIKGgh0cmFpbGVycw%3D%3D\', \'webPageType\': \'WEB_PAGE_TYPE_BROWSE\', \'rootVe\': 6827, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'FEtrending\', \'params\': \'4gIKGgh0cmFpbGVycw%3D%3D\'}}, \'title\': \'Films\', \'selected\': False, \'tabIdentifier\': \'\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Films\'}}, \'trackingParams\': \'CBMQ8JMBGAMiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}]}}, \'header\': {\'pageHeaderRenderer\': {\'pageTitle\': \'Trending\', \'content\': {\'pageHeaderViewModel\': {\'title\': {\'dynamicTextViewModel\': {\'text\': {\'content\': \'Trending\'}, \'rendererContext\': {\'loggingContext\': {\'loggingDirectives\': {\'trackingParams\': \'CBIQj-QKIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'clientVeSpec\': {\'uiType\': 176655, \'veCounter\': 11127323}}}}}}, \'image\': {\'contentPreviewImageViewModel\': {\'image\': {\'sources\': [{\'url\': \'https://www.youtube.com/img/trending/avatar/trending.png\', \'width\': 100, \'height\': 100}]}, \'style\': \'CONTENT_PREVIEW_IMAGE_STYLE_CIRCLE\', \'layoutMode\': \'CONTENT_PREVIEW_IMAGE_LAYOUT_MODE_UNKNOWN\', \'rendererContext\': {\'loggingContext\': {\'loggingDirectives\': {\'trackingParams\': \'CBEQiqULIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'clientVeSpec\': {\'uiType\': 184970, \'veCounter\': 11127322}}}}}}, \'rendererContext\': {\'loggingContext\': {\'loggingDirectives\': {\'trackingParams\': \'CBAQot8KIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'visibility\': {\'types\': \'12\'}, \'clientVeSpec\': {\'uiType\': 176034, \'veCounter\': 11127321}}}}}}}}, \'trackingParams\': \'CAAQhGciEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'topbar\': {\'desktopTopbarRenderer\': {\'logo\': {\'topbarLogoRenderer\': {\'iconImage\': {\'iconType\': \'YOUTUBE_LOGO\'}, \'tooltipText\': {\'runs\': [{\'text\': \'YouTube Home\'}]}, \'endpoint\': {\'clickTrackingParams\': \'CA8QsV4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/\', \'webPageType\': \'WEB_PAGE_TYPE_BROWSE\', \'rootVe\': 3854, \'apiUrl\': \'/youtubei/v1/browse\'}}, \'browseEndpoint\': {\'browseId\': \'FEwhat_to_watch\'}}, \'trackingParams\': \'CA8QsV4iEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'overrideEntityKey\': \'EgZ0b3BiYXIg9QEoAQ%3D%3D\'}}, \'searchbox\': {\'fusionSearchboxRenderer\': {\'icon\': {\'iconType\': \'SEARCH\'}, \'placeholderText\': {\'runs\': [{\'text\': \'Search\'}]}, \'config\': {\'webSearchboxConfig\': {\'requestLanguage\': \'en\', \'requestDomain\': \'in\', \'hasOnscreenKeyboard\': False, \'focusSearchbox\': True}}, \'trackingParams\': \'CA0Q7VAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'searchEndpoint\': {\'clickTrackingParams\': \'CA0Q7VAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'/results?search_query=\', \'webPageType\': \'WEB_PAGE_TYPE_SEARCH\', \'rootVe\': 4724}}, \'searchEndpoint\': {\'query\': \'\'}}, \'clearButton\': {\'buttonRenderer\': {\'style\': \'STYLE_DEFAULT\', \'size\': \'SIZE_DEFAULT\', \'isDisabled\': False, \'icon\': {\'iconType\': \'CLOSE\'}, \'trackingParams\': \'CA4Q8FsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibilityData\': {\'accessibilityData\': {\'label\': \'Clear search query\'}}}}}}, \'trackingParams\': \'CAEQq6wBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'countryCode\': \'IN\', \'topbarButtons\': [{\'topbarMenuButtonRenderer\': {\'icon\': {\'iconType\': \'MORE_VERT\'}, \'menuRequest\': {\'clickTrackingParams\': \'CAsQ_qsBGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True, \'apiUrl\': \'/youtubei/v1/account/account_menu\'}}, \'signalServiceEndpoint\': {\'signal\': \'GET_ACCOUNT_MENU\', \'actions\': [{\'clickTrackingParams\': \'CAsQ_qsBGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'openPopupAction\': {\'popup\': {\'multiPageMenuRenderer\': {\'trackingParams\': \'CAwQ_6sBIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'style\': \'MULTI_PAGE_MENU_STYLE_TYPE_SYSTEM\', \'showLoadingSpinner\': True}}, \'popupType\': \'DROPDOWN\', \'beReused\': True}}]}}, \'trackingParams\': \'CAsQ_qsBGAAiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'accessibility\': {\'accessibilityData\': {\'label\': \'Settings\'}}, \'tooltip\': \'Settings\', \'style\': \'STYLE_DEFAULT\'}}, {\'buttonRenderer\': {\'style\': \'STYLE_SUGGESTIVE\', \'size\': \'SIZE_SMALL\', \'text\': {\'runs\': [{\'text\': \'Sign in\'}]}, \'icon\': {\'iconType\': \'AVATAR_LOGGED_OUT\'}, \'navigationEndpoint\': {\'clickTrackingParams\': \'CAoQ1IAEGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'url\': \'https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den-GB%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Ffeed%252Ftrending%253Fpersist_gl%253D1%2526gl%253DIN&hl=en-GB&ec=65620\', \'webPageType\': \'WEB_PAGE_TYPE_UNKNOWN\', \'rootVe\': 83769}}, \'signInEndpoint\': {\'idamTag\': \'65620\'}}, \'trackingParams\': \'CAoQ1IAEGAEiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'targetId\': \'topbar-signin\'}}], \'hotkeyDialog\': {\'hotkeyDialogRenderer\': {\'title\': {\'runs\': [{\'text\': \'Keyboard shortcuts\'}]}, \'sections\': [{\'hotkeyDialogSectionRenderer\': {\'title\': {\'runs\': [{\'text\': \'Playback\'}]}, \'options\': [{\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Toggle play/pause\'}]}, \'hotkey\': \'k\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Rewind 10 seconds\'}]}, \'hotkey\': \'j\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Fast forward 10 seconds\'}]}, \'hotkey\': \'l\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Previous video\'}]}, \'hotkey\': \'P (SHIFT + p)\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Next video\'}]}, \'hotkey\': \'N (SHIFT + n)\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Previous frame (while paused)\'}]}, \'hotkey\': \',\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Comma\'}}}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Next frame (while paused)\'}]}, \'hotkey\': \'.\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Full stop\'}}}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Decrease playback rate\'}]}, \'hotkey\': \'< (SHIFT+,)\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Less than or SHIFT + comma\'}}}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Increase playback rate\'}]}, \'hotkey\': \'> (SHIFT+.)\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Greater than or SHIFT + full stop\'}}}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Seek to specific point in the video (7 advances to 70% of duration)\'}]}, \'hotkey\': \'0..9\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Seek to previous chapter\'}]}, \'hotkey\': \'CONTROL + \xc3\xa2\\x86\\x90\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Seek to next chapter\'}]}, \'hotkey\': \'CONTROL + \xc3\xa2\\x86\\x92\'}}]}}, {\'hotkeyDialogSectionRenderer\': {\'title\': {\'runs\': [{\'text\': \'General\'}]}, \'options\': [{\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Toggle full screen\'}]}, \'hotkey\': \'f\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Toggle theatre mode\'}]}, \'hotkey\': \'t\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Toggle miniplayer\'}]}, \'hotkey\': \'i\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Close miniplayer or current dialogue\'}]}, \'hotkey\': \'ESCAPE\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Toggle mute\'}]}, \'hotkey\': \'m\'}}]}}, {\'hotkeyDialogSectionRenderer\': {\'title\': {\'runs\': [{\'text\': \'Subtitles and closed captions\'}]}, \'options\': [{\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'If the video supports captions, toggle captions ON/OFF\'}]}, \'hotkey\': \'c\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Rotate through different text opacity levels\'}]}, \'hotkey\': \'o\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Rotate through different window opacity levels\'}]}, \'hotkey\': \'w\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Rotate through font sizes (increasing)\'}]}, \'hotkey\': \'+\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Rotate through font sizes (decreasing)\'}]}, \'hotkey\': \'-\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Minus\'}}}}]}}, {\'hotkeyDialogSectionRenderer\': {\'title\': {\'runs\': [{\'text\': \'Spherical videos\'}]}, \'options\': [{\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Pan up\'}]}, \'hotkey\': \'w\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Pan left\'}]}, \'hotkey\': \'a\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Pan down\'}]}, \'hotkey\': \'s\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Pan right\'}]}, \'hotkey\': \'d\'}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Zoom in\'}]}, \'hotkey\': \'+ on numpad or ]\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Plus on number pad or right bracket\'}}}}, {\'hotkeyDialogSectionOptionRenderer\': {\'label\': {\'runs\': [{\'text\': \'Zoom out\'}]}, \'hotkey\': \'- on numpad or [\', \'hotkeyAccessibilityLabel\': {\'accessibilityData\': {\'label\': \'Minus on number pad or left bracket\'}}}}]}}], \'dismissButton\': {\'buttonRenderer\': {\'style\': \'STYLE_BLUE_TEXT\', \'size\': \'SIZE_DEFAULT\', \'isDisabled\': False, \'text\': {\'runs\': [{\'text\': \'Dismiss\'}]}, \'trackingParams\': \'CAkQ8FsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\'}}, \'trackingParams\': \'CAgQteYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\'}}, \'backButton\': {\'buttonRenderer\': {\'trackingParams\': \'CAcQvIYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'command\': {\'clickTrackingParams\': \'CAcQvIYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CAcQvIYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'signalAction\': {\'signal\': \'HISTORY_BACK\'}}]}}}}, \'forwardButton\': {\'buttonRenderer\': {\'trackingParams\': \'CAYQvYYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'command\': {\'clickTrackingParams\': \'CAYQvYYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CAYQvYYDIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'signalAction\': {\'signal\': \'HISTORY_FORWARD\'}}]}}}}, \'a11ySkipNavigationButton\': {\'buttonRenderer\': {\'style\': \'STYLE_DEFAULT\', \'size\': \'SIZE_DEFAULT\', \'isDisabled\': False, \'text\': {\'runs\': [{\'text\': \'Skip navigation\'}]}, \'trackingParams\': \'CAUQ8FsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'command\': {\'clickTrackingParams\': \'CAUQ8FsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CAUQ8FsiEwiGsb7oo8OHAxWCi9gFHTJaAFU=\', \'signalAction\': {\'signal\': \'SKIP_NAVIGATION\'}}]}}}}, \'voiceSearchButton\': {\'buttonRenderer\': {\'style\': \'STYLE_DEFAULT\', \'size\': \'SIZE_DEFAULT\', \'isDisabled\': False, \'serviceEndpoint\': {\'clickTrackingParams\': \'CAIQ7a8FIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'commandMetadata\': {\'webCommandMetadata\': {\'sendPost\': True}}, \'signalServiceEndpoint\': {\'signal\': \'CLIENT_SIGNAL\', \'actions\': [{\'clickTrackingParams\': \'CAIQ7a8FIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'openPopupAction\': {\'popup\': {\'voiceSearchDialogRenderer\': {\'placeholderHeader\': {\'runs\': [{\'text\': \'Listening\xc3\xa2\\x80\xc2\xa6\'}]}, \'promptHeader\': {\'runs\': [{\'text\': "Didn\'t hear that. Try again."}]}, \'exampleQuery1\': {\'runs\': [{\'text\': "\'Play Dua Lipa\'"}]}, \'exampleQuery2\': {\'runs\': [{\'text\': "\'Show me my subscriptions\'"}]}, \'promptMicrophoneLabel\': {\'runs\': [{\'text\': \'Tap the microphone to try again\'}]}, \'loadingHeader\': {\'runs\': [{\'text\': \'Working\xc3\xa2\\x80\xc2\xa6\'}]}, \'connectionErrorHeader\': {\'runs\': [{\'text\': \'No connection\'}]}, \'connectionErrorMicrophoneLabel\': {\'runs\': [{\'text\': \'Check your connection and try again\'}]}, \'permissionsHeader\': {\'runs\': [{\'text\': \'Waiting for permission\'}]}, \'permissionsSubtext\': {\'runs\': [{\'text\': \'Allow microphone access to search with voice\'}]}, \'disabledHeader\': {\'runs\': [{\'text\': \'Search with your voice\'}]}, \'disabledSubtext\': {\'runs\': [{\'text\': \'To search by voice, go to your browser settings and allow access to microphone\'}]}, \'microphoneButtonAriaLabel\': {\'runs\': [{\'text\': \'Cancel\'}]}, \'exitButton\': {\'buttonRenderer\': {\'style\': \'STYLE_DEFAULT\', \'size\': \'SIZE_DEFAULT\', \'isDisabled\': False, \'icon\': {\'iconType\': \'CLOSE\'}, \'trackingParams\': \'CAQQ0LEFIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibilityData\': {\'accessibilityData\': {\'label\': \'Cancel\'}}}}, \'trackingParams\': \'CAMQ7q8FIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'microphoneOffPromptHeader\': {\'runs\': [{\'text\': \'Microphone off. Try again.\'}]}}}, \'popupType\': \'TOP_ALIGNED_DIALOG\'}}]}}, \'icon\': {\'iconType\': \'MICROPHONE_ON\'}, \'tooltip\': \'Search with your voice\', \'trackingParams\': \'CAIQ7a8FIhMIhrG-6KPDhwMVgovYBR0yWgBV\', \'accessibilityData\': {\'accessibilityData\': {\'label\': \'Search with your voice\'}}}}}}}' diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..6602acb945e81f03359bc023a907a9c2638c618d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,37 @@ +aiofiles +aiohttp +asyncio +dnspython +ffmpeg-python +gitpython +hachoir +heroku3 +lyricsgenius +motor==3.3.2 +pillow==10.2.0 +Pyrogram==2.0.106 +psutil +pykeyboard +python-dotenv +pyyaml==6.0.1 +pytube +requests +speedtest-cli +spotipy +scrapetube +tgcrypto +youtube-search +youtube-search-python +git+https://github.com/yt-dlp/yt-dlp.git +ntgcalls==1.1.3 +py-tgcalls==1.2.9 +Flask +requests +threaded +innertube +Jinja2 +aiohttp_jinja2 +argparse +google-api-python-client +lxml +beautifulsoup4 diff --git a/setup b/setup new file mode 100644 index 0000000000000000000000000000000000000000..aa3adf04e97ea0ac23596cfd1bb6e349fe5a1eca --- /dev/null +++ b/setup @@ -0,0 +1,137 @@ +#!/bin/bash +### Yukki Music Bot Installer + +pprint (){ + cred='\033[0;31m' + cgreen='\033[0;32m' + cyellow='\033[0;33m' + cblue='\033[0;34m' + cpurple='\033[0;35m' + eval "export color='$cpurple'" + [ ! -z $2 ] && eval "export color=\"\$$2\"" + printf "$color $1" +} + +color_reset(){ printf '\033[0;37m';} + +yesnoprompt(){ + old_stty_cfg=$(stty -g) + stty raw -echo ; answer=$(head -c 1) + stty $old_stty_cfg + echo "$answer" | grep -iq "^y" +} + +update() { + pprint "\n\nUpdating package list.. " + sudo apt update 2>&1 | grep "can be upgraded" &>/dev/null + if [ $? -eq 0 ]; then + pprint "UPDATE AVAILABLE" "cgreen" + pprint "\n\nDo you want to automatically upgrade (y/n)?" + if yesnoprompt; then + pprint "\n\nUpgrading packages.. " + sudo apt upgrade -y &>/dev/null && + pprint "DONE!\n\n" "cgreen" || (pprint "FAIL.\n\n" "cred"; exit 1) + else + echo + fi + else + pprint "ALREADY UP TO DATE\n\n" "cgreen" + fi +} + +packages(){ + if ! command -v pip &>/dev/null; then + pprint "Couldn't found pip, installing now.. " + sudo apt install python3-pip -y 2>pypilog.txt 1>/dev/null && + pprint "SUCCESS.\n\n" "cgreen" || (pprint "FAIL.\n\n" "cred"; exit 1) + fi + + if ! command -v ffmpeg &>/dev/null; then + pprint "Couldn't found ffmpeg, installing now.. " + if sudo apt install ffmpeg -y &>/dev/null;then + pprint "SUCCESS.\n\n" "cgreen" + else + pprint "FAIL.\n\n" "cred" + pprint "You need to install ffmpeg manually in order to use YukkiMusicBot, exiting..\n" "cblue" + exit 1 + fi + fi + + # Check ffmpeg version and warn user if necessary. + fv=$(grep -Po 'version (3.*?) ' <<< $(ffmpeg -version)) && + pprint "Playing live streams not going to work since you have ffmpeg $fv, live streams are supported by version 4+.\n" "cblue" +} + + +node(){ + command -v npm &>/dev/null && return + pprint "Installing Nodejs and Npm.. " + curl -fssL https://deb.nodesource.com/setup_18.x | sudo -E bash - &>nodelog.txt && + sudo apt install nodejs -y &>>nodelog.txt && + sudo npm i -g npm &>>nodelog.txt && + pprint "SUCCESS!\n" "cgreen" || (pprint "FAIL.\n" "cred"; exit 1) +} + + +repo(){ + # Get git repo if the installer is runned standalone + [[ ! "YukkiMusicBot" == $(basename -s .git `git config --get remote.origin.url`) ]] && + git clone https://github.com/TeamYukki/YukkiMusicBot && cd YukkiMusicBot +} + + +installation(){ + pprint "\n\nUpgrading pip and installing dependency packages.. " + pip3 install -U pip &>>pypilog.txt && + pip3 install -U -r requirements.txt &>>pypilog.txt && + pprint "DONE.\n" "cgreen" && return + pprint "FAIL.\n" "cred" + exit 1 +} + +clear +pprint "Welcome to Yukki Music Bot Setup Installer\n\n" +pprint "If you see any error during Installation Process, Please refer to these files for logs: " +pprint "\nFor node js errors , Checkout nodelog.txt" +pprint "\nFor pypi packages errors , Checkout pypilog.txt" +sleep 2 +pprint "\n\nScript needs sudo privileges in order to update & install packages.\n" +sudo test + +update +packages +node +repo +installation +pprint "\n\n\n\n\nYukki Music Bot Installation Completed!" "cgreen" +sleep 4 +clear + +pprint "\nEnter Your Values Below\n\n\n" +pprint "API ID: "; color_reset; read api_id +pprint "\nAPI HASH: "; color_reset; read api_hash +pprint "\nBOT TOKEN: "; color_reset; read bot_token +pprint "\nMONGO DB URI: "; color_reset; read mongo_db +pprint "\nLOG GROUP ID: "; color_reset; read logger +pprint "\nPYROGRAM STRING SESSION OF ASSISTANT ACCOUNT: "; color_reset; read string_session +pprint "\nMUSIC BOT NAME: "; color_reset; read mbt +pprint "\nOWNER ID:"; color_reset; read ownid + +pprint "\n\nProcessing your vars, Wait a while!" "cgreen" + +if [ -f .env ]; then + rm .env +fi + +echo """API_ID = $api_id +API_HASH = $api_hash +BOT_TOKEN = $bot_token +MONGO_DB_URI = $mongo_db +LOG_GROUP_ID = $logger +MUSIC_BOT_NAME = $mbt +STRING_SESSION = $string_session +OWNER_ID = $ownid""" > .env +clear +pprint "\n\n\nYour Vars have been saved Successfully!, Thanks for using Yukki Installer, now you can proceed by starting the bot with bash start!" +pprint "\n\n\nWant more vars?" +pprint "\nCheckout config.py and README.md inside config folder for addtional vars. You can change all images , thumbnails, mode and everything from vars. Have a look towards them\n\n" diff --git a/start b/start new file mode 100644 index 0000000000000000000000000000000000000000..b7b86d95e0bcda05e3f9ba16ffe2d430f63d34da --- /dev/null +++ b/start @@ -0,0 +1 @@ +python3 -m YukkiMusic diff --git a/strings/__init__.py b/strings/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..be3e66b8d0947a2bcf842eb81e393f3d7c7eb4f6 --- /dev/null +++ b/strings/__init__.py @@ -0,0 +1,63 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +import os +import sys +from typing import List + +import yaml + +languages = {} +commands = {} + + +languages_present = {} + + +def get_command(value: str) -> List: + return commands["command"][value] + + +def get_string(lang: str): + return languages[lang] + + +for filename in os.listdir(r"./strings"): + if filename.endswith(".yml"): + language_name = filename[:-4] + commands[language_name] = yaml.safe_load( + open(r"./strings/" + filename, encoding="utf8") + ) + + +for filename in os.listdir(r"./strings/langs/"): + if "en" not in languages: + languages["en"] = yaml.safe_load( + open(r"./strings/langs/en.yml", encoding="utf8") + ) + languages_present["en"] = languages["en"]["name"] + if filename.endswith(".yml"): + language_name = filename[:-4] + if language_name == "en": + continue + languages[language_name] = yaml.safe_load( + open(r"./strings/langs/" + filename, encoding="utf8") + ) + for item in languages["en"]: + if item not in languages[language_name]: + languages[language_name][item] = languages["en"][item] + try: + languages_present[language_name] = languages[language_name][ + "name" + ] + except: + print( + "There is some issue with the language file inside bot. Please report it to the TeamYukki at @YukkiSupport on Telegram" + ) + sys.exit() diff --git a/strings/command.yml b/strings/command.yml new file mode 100644 index 0000000000000000000000000000000000000000..4b88d37bd5cd48d58c5af49455ac67aad0309899 --- /dev/null +++ b/strings/command.yml @@ -0,0 +1,113 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + + +# Commands in Every Language + +# Bot Commands +PING_COMMAND : ["ping"] +START_COMMAND : ["start"] +HELP_COMMAND : ["help"] +SETTINGS_COMMAND : ["settings", "setting"] +RELOAD_COMMAND : ["admincache", "reload"] +GSTATS_COMMAND : ["gstats"] +STATS_COMMAND : ["stats"] +LANGUAGE_COMMAND : ["lang", "language", "langs"] +#WEB APP +WEB_APP_COMMAND : ["webapp"] +# Play Commands +PLAY_COMMAND : ["play", "vplay", "cplay", "cvplay", "playforce", "vplayforce", "cplayforce", "cvplayforce"] +PLAYMODE_COMMAND : ["playmode"] +CHANNELPLAY_COMMAND : ["channelplay"] +STREAM_COMMAND : ["stream", "cstream", "streamforce"] + +#Playlists Command +PLAYLIST_COMMAND : ["playlist"] +DELETEPLAYLIST_COMMAND : ["deleteplaylist"] + + +# Tools +QUEUE_COMMAND : ["queue","cqueue", "player", "cplayer", "playing", "cplaying"] +SONG_COMMAND : ["song", "video"] +LYRICS_COMMAND : ["lyrics"] + + +# Admin Commands +AUTH_COMMAND : ["auth"] +UNAUTH_COMMAND : ["unauth"] +AUTHUSERS_COMMAND : ["authusers"] +PAUSE_COMMAND : ["pause", "cpause"] +RESUME_COMMAND : ["resume", "cresume"] +MUTE_COMMAND : ["mute", "cmute"] +UNMUTE_COMMAND : ["unmute", "cunmute"] +STOP_COMMAND : ["stop", "end", "cstop", "cend"] +SKIP_COMMAND : ["skip", "cskip"] +SHUFFLE_COMMAND : ["shuffle", "cshuffle"] +LOOP_COMMAND : ["loop", "cloop"] +SEEK_COMMAND : ["seek", "cseek", "seekback", "cseekback"] +RESTART_COMMAND : ["restart"] + +# Sudo Users Commaands + +# Sudo Command +ADDSUDO_COMMAND : ["addsudo"] +DELSUDO_COMMAND : ["delsudo"] +SUDOUSERS_COMMAND : ["sudolist"] + +#Broadcast +BROADCAST_COMMAND : ["broadcast"] + +#Blacklist chat +BLACKLISTCHAT_COMMAND : ["blacklistchat"] +WHITELISTCHAT_COMMAND : ["whitelistchat"] +BLACKLISTEDCHAT_COMMAND : ["blacklistedchat"] + +# Video Calls Command +VIDEOLIMIT_COMMAND : ["set_video_limit"] +VIDEOMODE_COMMAND : ["videomode"] + +#Mantenance +MAINTENANCE_COMMAND : ["maintenance"] +LOGGER_COMMAND : ["logger"] + +#Heroku +GETLOG_COMMAND : ["get_log"] +GETVAR_COMMAND : ["get_var"] +DELVAR_COMMAND : ["del_var"] +SETVAR_COMMAND : ["set_var"] +USAGE_COMMAND : ["usage"] +VARS_COMMAND : ["vars", "config"] + + +#Basic Bot Commands +UPDATE_COMMAND : ["update"] +REBOOT_COMMAND : ["reboot"] +AUTOEND_COMMAND : ["autoend"] + +#Private Bot Mode +AUTHORIZE_COMMAND : ["authorize"] +UNAUTHORIZE_COMMAND : ["unauthorize"] +AUTHORIZED_COMMAND : ["authorized"] + +#Block Users Command +BLOCK_COMMAND : ["block"] +UNBLOCK_COMMAND : ["unblock"] +BLOCKED_COMMAND : ["blockedusers"] + +#sPEEDTEST +SPEEDTEST_COMMAND : ["speedtest"] + +#Voice chat commands +ACTIVEVC_COMMAND : ["activevoice"] +ACTIVEVIDEO_COMMAND : ["activevideo"] + +#Gban Commands +GBAN_COMMAND : ["gban"] +UNGBAN_COMMAND : ["ungban"] +GBANNED_COMMAND : ["gbannedusers"] \ No newline at end of file diff --git a/strings/helpers.py b/strings/helpers.py new file mode 100644 index 0000000000000000000000000000000000000000..8693521f5bedd4492a52def6378db1a174cfe444 --- /dev/null +++ b/strings/helpers.py @@ -0,0 +1,175 @@ +# +# Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. +# +# This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, +# and is released under the "GNU v3.0 License Agreement". +# Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > +# +# All rights reserved. + +HELP_1 = """✅**Admin Commands:** + +**c** stands for channel play. + +/pause or /cpause - Pause the playing music. +/resume or /cresume- Resume the paused music. +/mute or /cmute- Mute the playing music. +/unmute or /cunmute- Unmute the muted music. +/skip or /cskip- Skip the current playing music. +/stop or /cstop- Stop the playing music. +/shuffle or /cshuffle- Randomly shuffles the queued playlist. +/seek or /cseek - Forward Seek the music to your duration +/seekback or /cseekback - Backward Seek the music to your duration +/restart - Restart bot for your chat . + + +✅**Specific Skip:** +/skip or /cskip [Number(example: 3)] + - Skips music to a the specified queued number. Example: /skip 3 will skip music to third queued music and will ignore 1 and 2 music in queue. + +✅**Loop Play:** +/loop or /cloop [enable/disable] or [Numbers between 1-10] + - When activated, bot loops the current playing music to 1-10 times on voice chat. Default to 10 times. + +✅**Auth Users:** +Auth Users can use admin commands without admin rights in your chat. + +/auth [Username] - Add a user to AUTH LIST of the group. +/unauth [Username] - Remove a user from AUTH LIST of the group. +/authusers - Check AUTH LIST of the group.""" + + +HELP_2 = """✅**Play Commands:** + +Available Commands = play , vplay , cplay + +ForcePlay Commands = playforce , vplayforce , cplayforce + +**c** stands for channel play. +**v** stands for video play. +**force** stands for force play. + +/play or /vplay or /cplay - Bot will start playing your given query on voice chat or Stream live links on voice chats. + +/playforce or /vplayforce or /cplayforce - **Force Play** stops the current playing track on voice chat and starts playing the searched track instantly without disturbing/clearing queue. + +/channelplay [Chat username or id] or [Disable] - Connect channel to a group and stream music on channel's voice chat from your group. + + +✅**Bot's Server Playlists:** +/playlist - Check Your Saved Playlist On Servers. +/deleteplaylist - Delete any saved music in your playlist +/play - Start playing Your Saved Playlist from Servers.""" + + +HELP_3 = """✅**Bot Commands:** + +/stats - Get Top 10 Tracks Global Stats, Top 10 Users of bot, Top 10 Chats on bot, Top 10 Played in a chat etc etc. + +/sudolist - Check Sudo Users of Yukki Music Bot + +/lyrics [Music Name] - Searches Lyrics for the particular Music on web. + +/song [Track Name] or [YT Link] - Download any track from youtube in mp3 or mp4 formats. + +/player - Get a interactive Playing Panel. + +**c** stands for channel play. + +/queue or /cqueue- Check Queue List of Music.""" + +HELP_4 = """✅**Extra Commands:** +/start - Start the Music Bot. +/help - Get Commands Helper Menu with detailed explanations of commands. +/ping- Ping the Bot and check Ram, Cpu etc stats of Bot. + +✅**Group Settings:** +/settings - Get a complete group's settings with inline buttons + +🔗 **Options in Settings:** + +1ī¸âƒŖ You can set **Audio Quality** you want to stream on voice chat. + +2ī¸âƒŖ You can set **Video Quality** you want to stream on voice chat. + +3ī¸âƒŖ **Auth Users**:- You can change admin commands mode from here to everyone or admins only. If everyone, anyone present in you group will be able to use admin commands(like /skip, /stop etc) + +4ī¸âƒŖ **Clean Mode:** When enabled deletes the bot's messages after 5 mins from your group to make sure your chat remains clean and good. + +5ī¸âƒŖ **Command Clean** : When activated, Bot will delete its executed commands (/play, /pause, /shuffle, /stop etc) immediately. + +6ī¸âƒŖ **Play Settings:** + +/playmode - Get a complete play settings panel with buttons where you can set your group's play settings. + +Options in playmode: + +1ī¸âƒŖ **Search Mode** [Direct or Inline] - Changes your search mode while you give /play mode. + +2ī¸âƒŖ **Admin Commands** [Everyone or Admins] - If everyone, anyone present in you group will be able to use admin commands(like /skip, /stop etc) + +3ī¸âƒŖ **Play Type** [Everyone or Admins] - If admins, only admins present in group can play music on voice chat.""" + +HELP_5 = """🔰**ADD & REMOVE SUDO USERS :** +/addsudo [Username or Reply to a user] +/delsudo [Username or Reply to a user] + +🛃**HEROKU:** +/usage - Dyno Usage. + +🌐**CONFIG VARS:** +/get_var - Get a config var from Heroku or .env. +/del_var - Delete any var on Heroku or .env. +/set_var [Var Name] [Value] - Set a Var or Update a Var on heroku or .env. Seperate Var and its Value with a space. + +🤖**BOT COMMANDS:** +/reboot - Reboot your Bot. +/update - Update Bot. +/speedtest - Check server speeds +/maintenance [enable / disable] +/logger [enable / disable] - Bot logs the searched queries in logger group. +/get_log [Number of Lines] - Get log of your bot from heroku or vps. Works for both. +/autoend [enable|disable] - Enable Auto stream end after 3 mins if no one is listening. + +📈**STATS COMMANDS:** +/activevoice - Check active voice chats on bot. +/activevideo - Check active video calls on bot. +/stats - Check Bots Stats + +âš ī¸**BLACKLIST CHAT FUNCTION:** +/blacklistchat [CHAT_ID] - Blacklist any chat from using Music Bot +/whitelistchat [CHAT_ID] - Whitelist any blacklisted chat from using Music Bot +/blacklistedchat - Check all blacklisted chats. + +👤**BLOCKED FUNCTION:** +/block [Username or Reply to a user] - Prevents a user from using bot commands. +/unblock [Username or Reply to a user] - Remove a user from Bot's Blocked List. +/blockedusers - Check blocked Users Lists + +👤**GBAN FUNCTION:** +/gban [Username or Reply to a user] - Gban a user from bot's served chat and stop him from using your bot. +/ungban [Username or Reply to a user] - Remove a user from Bot's gbanned List and allow him for using your bot +/gbannedusers - Check Gbanned Users Lists + +đŸŽĨ**VIDEOCALLS FUNCTION:** +/set_video_limit [Number of Chats] - Set a maximum Number of Chats allowed for Video Calls at a time. Default to 3 chats. +/videomode [download|m3u8] - If download mode is enabled, Bot will download videos instead of playing them in M3u8 form. ByDefault to M3u8. You can use download mode when any query doesnt plays in m3u8 mode. + +âšĄī¸**PRIVATE BOT FUNCTION:** +/authorize [CHAT_ID] - Allow a chat for using your bot. +/unauthorize [CHAT_ID] - Disallow a chat from using your bot. +/authorized - Check all allowed chats of your bot. + +🌐**BROADCAST FUNCTION:** +/broadcast [Message or Reply to a Message] - Broadcast any message to Bot's Served Chats. + +options for broadcast: +**-pin** : This will pin your message +**-pinloud** : This will pin your message with loud notification +**-user** : This will broadcast your message to the users who have started your bot. +**-assistant** : This will broadcast your message from assistant account of your bot. +**-nobot** : This will force your bot to not broadcast message + +**Example:** `/broadcast -user -assistant -pin Hello Testing` + +""" diff --git a/strings/langs/ar.yml b/strings/langs/ar.yml new file mode 100644 index 0000000000000000000000000000000000000000..9eba896ef84cadd95ffc205517f8a4b4ab0450bf --- /dev/null +++ b/strings/langs/ar.yml @@ -0,0 +1,473 @@ +name : đŸ‡ĻđŸ‡Ē Arabic + +# General Strings +general_1 : "ŲŠØąØŦŲ‰ Ø§Ų„ØąØ¯ ØšŲ„Ų‰ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… ØŖŲˆ ؃ØĒØ§Ø¨Ų‡ Ø§Ų„ŲŠŲˆØ˛Øą ." +general_2 : "Ø­ØŦ؊ Ø§Ų„Ø§Ų…Øą Ų…ŲƒØĒŲˆØ¨ ØēŲ„Øˇ." +general_3 : "بؚØļ ** حدØĢ ØŽØˇØŖ ** ØŖØĢŲ†Ø§ØĄ Ų…ØšØ§Ų„ØŦØŠ ØˇŲ„Ø¨Ųƒ .\n\nŲ†ŲˆØš Ø§Ų„ØŽØˇØŖ:- {0}" +general_4 : "حب Ø§Ų†ØĒ Ø§Ø¯Ų…Ų† Ų…ØŦŲ‡ŲˆŲ„ Ø¨Ų‡Ø°Ų‡ Ø§Ų„Ø§ŲƒØąŲˆØ¨ !\n Ø§ØąØŦØš Ų„Ų„Ø­ØŗØ§Ø¨ Ų…Ų† Ø­Ų‚ŲˆŲ‚ Ø§Ø§Ų„Ø§Ø¯Ų…Ų†." +general_5 : "اØēاØĒ؊ Ų„Ø§Ø˛Ų… ØĒŲƒŲˆŲ† Ø§Ø¯Ų…Ų† بØĩŲ„Ø§Ø­ŲŠØŠ Ø§Ų„Ų…ŲƒØ§Ų„Ų…Ø§ØĒ ŲŠŲ„Ø§ ØĒØĒØ´ØĒØēŲ„ ." +general_6 : "Ų„Ø§ ؊؈ØŦد اØĒØĩØ§Ų„ ØŦØ§ØąŲŠ ..." + +# Classes - Telegram.py +tg_1 : "** ØĒŲ… ØĒØ­Ų…ŲŠŲ„ Ø§Ų„Ø¨ŲˆØĒ ** Ø§Ų„ŲƒØĢŲŠØą ** Ų…Ų† Ø§Ų„ØĒŲ†Ø˛ŲŠŲ„Ø§ØĒ ؁؊ Ø§Ų„ŲˆŲ‚ØĒ Ø§Ų„Ø­Ø§Ų„ŲŠ.\n\n** Ø­Ø§ŲˆŲ„ بؚد Ø°Ų„Ųƒ: ** {0} (__expected time__)" +tg_2 : "ŲØ´Ų„ Ø§Ų„ØĒŲ†Ø˛ŲŠŲ„ اØēاØĒ؊ " + +# Core - Call.py +call_1 : "Ø§Ų„Ø¨ŲˆØĒ ŲŠØˇŲ„Ø¨ ØŖØ°Ų† Ų…Ų† **Ø§Ų„Ø§Ø¯Ų…Ų†**Ø­ØĒŲ‰ ؊Øļ؊؁ Ø§Ų„Ų…ØŗØ§ØšØ¯ ." +call_2 : "Ø§Ų„Ų…ØŗØ§ØšØ¯ Ų…Ø­Ø¸ŲˆØą Ų„Ø§Ø˛Ų… ØĒŲ„Øē؊ Ø§Ų„Ø­Ø¸Øą .\n\n **Ø§ØŗŲ… Ø§Ų„Ų…ØŗØ§ØšØ¯:** @{0}\n **Ų…ØšØąŲ Ø§Ų„Ų…ØŗØ§ØšØ¯:** {1}" +call_3 : "حدØĢ ØŽØˇØŖ ØŖØĢŲ†Ø§ØĄ Ø¯ØšŲˆØŠ Ø­ØŗØ§Ø¨ Ø§Ų„Ų…ØŗØ§ØšØ¯ ØĨŲ„Ų‰ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ.\n\n**ØŗØ¨Ø¨**: {0}" +call_4 : "؊ØĒØˇŲ„Ø¨ Ø§Ų„Ø¨ŲˆØĒ ** Ø¯ØšŲˆØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† ØšØ¨Øą Ø§Ų„ØąØ§Ø¨Øˇ ** ØĨØ°Ų† Ų„Ø¯ØšŲˆØŠ Ø­ØŗØ§Ø¨ Ø§Ų„Ų…ØŗØ§ØšØ¯ ØĨŲ„Ų‰ Ų…ØŦŲ…ŲˆØšØŠ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ." +call_5 : "Ø§Ų„Ų…ØŗØ§ØšØ¯ Ø­ŲŠØŦ؊ بؚد ØŽŲ…Øŗ ØĢŲˆØ§Ų†ŲŠ Ø§Ų†ØĒØļØąŲ‡ ŲˆØąØ¯Ų‡ !" +call_6 : "Ø­ØŗØ§Ø¨ Ø§Ų„Ų…ØŗØ§ØšØ¯ [{0}] ØĒŲ… Ø§Ų„Ø§Ų†ØļŲ…Ø§Ų… Ø¨Ų†ØŦاح.\n\nØ¨Ø¯ØĄ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø§Ų„ØĸŲ†" +call_7 : "**Ø­Ų‚ ØĨØ¯Ø§ØąŲŠ ØļØ§Øą Ų…ŲØšØˇŲ‰ **\n\n Ø§Ų„ØąØŦØ§ØĄ Ų…ØŗØ­ ØĩŲ„Ø§Ø­ŲŠØŠ **Ø­Ø¸Øą Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ†** Ų…Ų† Ø§Ų„Ø¨ŲˆØĒ." +call_8 : "**Ø­Ų‚ ØĨØ¯Ø§ØąŲŠ ØļØ§Øą Ų…ŲØšØˇŲ‰ **\n\n Ø§Ų„ØąØŦØ§ØĄ Ų…ØŗØ­ ØĩŲ„Ø§Ø­ŲŠØŠ **اØļØ§ŲŲ‡ Ų…Ø´ØąŲŲŠŲ† ØŦدد ** Ų…Ų† Ø§Ų„Ø¨ŲˆØĒ." +call_9 : "**ŲØ´Ų„ ØĒØ¨Ø¯ŲŠŲ„ Ø§Ų„Ø§ØēŲ†ŲŠØŠ ** \n Ø§Ų„ØąØŦØ§ØĄ Ø§ØŗØĒØŽØ¯Ø§Ų… /skip Ų„ØĒØēŲŠŲŠØą Ø§Ų„Ų…ØŗØ§Øą Ų…ØąØŠ ØŖØŽØąŲ‰. " +call_10 : "ØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„ØĒØ§Ų„ŲŠ Ų…Ų† Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„" +call_11 : "Ø§Ų„ØąØŦØ§ØĄ ØĨØļØ§ŲØŠ @ {0} ØĨŲ„Ų‰ Ų‚Ų†Ø§ØĒ؃ [Ø§Ų„Ų…ØšØąŲ: {1}].\n\n ؊ØĒØšØ°Øą ØšŲ„Ų‰ Ø§Ų„Ø¨ŲˆØĒ Ø§Ų„Ø­ØĩŲˆŲ„ ØšŲ„Ų‰ ØĒŲØ§ØĩŲŠŲ„ Ø§Ų„Ų‚Ų†Ø§ØŠ." + +# PLUGINS - Auth.py +auth_1 : "ŲŠŲ…ŲƒŲ† ØŖŲ† ŲŠŲƒŲˆŲ† Ų„Ø¯ŲŠŲƒ 20 Ų…ØŗØĒØŽØ¯Ų…Ų‹Ø§ ŲŲ‚Øˇ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ† (AUL) Ų„Ų…ØŦŲ…ŲˆØšØĒ؃" +auth_2 : "ØĒŲ…ØĒ Ø§Ų„ØĨØļØ§ŲØŠ ØĨŲ„Ų‰ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ† Ų„Ų…ØŦŲ…ŲˆØšØĒ؃." +auth_3 : "Ø¨Ø§Ų„ŲØšŲ„ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ†." +auth_4 : "ØĒŲ…ØĒ ØĨØ˛Ø§Ų„ØĒŲ‡ Ų…Ų† Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ† Ų„Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ." +auth_5 : "Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ø§Ų„Ų…ØŗØĒŲ‡Ø¯Ų Ų„ŲŠØŗ Ų…ØŗØĒØŽØ¯Ų…Ų‹Ø§ Ų…ØĩØąØ­Ų‹Ø§ Ų„Ų‡." +auth_6 : "ØĨØ­ØļØ§Øą Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØĩØąØ­ Ų„Ų‡Ų… ... Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą" +auth_7 : "**Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ† [AUL]:**\n\n" +auth_8 : "┗ ØŖØļ؊؁ØĒ Ų…Ų† Ų‚Ø¨Ų„:-" + +# PLUGINS - Admins +admin_1 : "Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ų…ŲˆŲ‚ŲØŠ Ø¨Ø§Ų„ŲØšŲ„." +admin_2 : "🎧ØĒŲ… Ø§ŲŠŲ‚Ø§Ų ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ų…Ų† Ų‚ŲØ¨Ų„ {}!" +admin_3 : "Ų„ØĒØĩŲŠØą Ų„ŲˆØĒ؊ Ų„ØšØ¯ Ø§Ų†ŲŠ Ø´Ų…ØŗŲˆŲŠ ØēŲŠØą Ų…ØŗØĒØĻ؆؁." +admin_4 : "🎧 ØĒŲ… Ø§ØŗØĻŲ†Ø§Ų Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø¨ŲˆØ§ØŗØˇØŠ {}!" +admin_5 : "Ų„ŲƒŲƒ ØŖØąŲ†Ø¨ Ų‡ŲŠ اØĩŲ„Ø§ Ų…ŲƒØĒŲˆŲ…Ų‡ 🤐." +admin_6 : "🎧 ØĒŲ… ؃ØĒŲ… Ø§Ų„Øĩ؈ØĒ Ø¨ŲˆØ§ØŗØˇØŠ {}!" +admin_7 : "ØĒŲ…ØĒ ØĨؚاد؊ Øĩ؈ØĒ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø¨Ø§Ų„ŲØšŲ„." +admin_8 : "🎧 ŲŠŲ„Ø§ ؚاد اذا ØŦŲ†ØĒ Ų…Ø¯ŲˆØŽŲƒŲ… Ø´ØšØ¯ŲƒŲ… Ų…Ø´ØēŲ„ŲŠŲ†ŲŠđŸ¤¨ \n\n ØĒŲ… Ø§ØąØŦاؚ Ø§Ų„Øĩ؈ØĒ Ø¨ŲˆØ§ØŗØˇØŠ {}!" +admin_9 : "🎧 Ø§Ų„Ų…Ø­Ø§Ø¯ØĢØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ Ø§Ų†ØĒŲ‡ØĒ Ø¨ŲˆØ§ØŗØˇØŠ {}!" +admin_10 : "🎧 ØĒØŽØˇŲŠØĒ Ø§Ų„Ø§ØēŲ†ŲŠØŠ Ø¨ŲˆØ§ØŗØˇØŠ {}!. Ų„Ø§ ØĒ؈ØŦد اØēØ§Ų†ŲŠ Ø§ØŽØąŲ‰ ؁؊ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą." +admin_11 : "حدØĢ ØŽØˇØŖ ؁؊ ØĒØēŲŠŲŠØą Ø§Ų„Ø§ØēŲ†ŲŠØŠ Ø§Ų„Ų‰ **{0}**\n\nØ§Ų„ØąØŦØ§ØĄ Ø§ØŗØĒØŽØ¯Ø§Ų… /skip Ų…ØŦØ¯Ø¯Ų‹Ø§." +admin_12 : "ØĒØšØ°Øą Ø§Ų„ØĒØŽØˇŲŠ ØĨŲ„Ų‰ Ų…ØŗØ§Øą Ų…ØšŲŠŲ† Ø¨ØŗØ¨Ø¨ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ø­Ų„Ų‚ØŠ . Ø§Ų„ØąØŦØ§ØĄ ØĒØšØˇŲŠŲ„ Ø­Ų„Ų‚ØŠ Ø§Ų„Ų„ØšØ¨ ØšØ¨Øą `/loop ØĒØšØˇŲŠŲ„` Ų„Ø§ØŗØĒØŽØ¯Ø§Ų… Ų‡Ø°Ų‡ Ø§Ų„Ų…ŲŠØ˛ØŠ." +admin_13 : "Ø§Ų„ØąØŦØ§ØĄ Ø§ØŗØĒØŽØ¯Ø§Ų… ØŖØąŲ‚Ø§Ų… ØąŲ‚Ų…ŲŠØŠ Ų„Ų…ØŗØ§ØąØ§ØĒ Ų…Ø­Ø¯Ø¯ØŠ ، Ų…ØĢŲ„ 1 ØŖŲˆ 2 ØŖŲˆ 4 ŲˆŲ…Ø§ ØĨŲ„Ų‰ Ø°Ų„Ųƒ" +admin_14 : "؊ØŦب ØĒŲˆŲØą اØēŲ†ŲŠØĒŲŠŲ† ØšŲ„Ų‰ Ø§Ų„Ø§Ų‚Ų„ ؁؊ Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ų„Ų„ØĒØŽØˇŲŠ Ø§Ų„Ų…Ø­Ø¯Ø¯ ، ØĒØ­Ų‚Ų‚ Ų…Ų† Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡ /queue" +admin_15 : "Ų„Ø§ ØĒ؈ØŦد Ų…ØŗØ§ØąØ§ØĒ ŲƒØ§ŲŲŠØŠ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą Ų„Ų„Ų‚ŲŠŲ…ØŠ Ø§Ų„ØĒ؊ Ų‚Ø¯Ų…ØĒŲ‡Ø§. Ø§Ų„ØąØŦØ§ØĄ ا؎ØĒŲŠØ§Øą Ø§Ų„ØŖØąŲ‚Ø§Ų… Ø¨ŲŠŲ† 1 ؈ {0}" +admin_16 : "ŲØ´Ų„ Ø§Ų„ØĒØŽØˇŲŠ ØĨŲ„Ų‰ Ų…ØŗØ§Øą Ų…ØšŲŠŲ†.\n\n ØĒØ­Ų‚Ų‚ Ų…Ų† Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą Ø§Ų„ŲŠØŗØąŲ‰ Ø¨Ø­Ų„ŲˆŲ„ /queue" +admin_17 : "{0}.. Ø§Ų†ØĒØ¸Øą Ų‚Ų„ŲŠŲ„Ų‹Ø§" +admin_18 : "Ų„Ų… ØŖØŦد Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ\n\n ŲŠØąØŦŲ‰ Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„Ø§Ų…Øą /admincache ØŖŲˆ /reload" +admin_19 : "؊ØŦب Ø§Ų† ØĒŲƒŲˆŲ† Ų…Ø´ØąŲ Ų…Øš ØĩŲ„Ø§Ø­ŲŠØŠ Ø§Ų„Ų…ŲƒØ§Ų„Ų…Ø§ØĒ Ų„ØĒŲ‚ŲˆŲ… Ø¨Ų‡Ø°Ų‡ Ø§Ų„Ų…Ų‡Ų…ØŠ .\nاذا Ø§Ų†ØĒ Ų…Ø´ØąŲ Ø¨Ø§Ų„ŲØšŲ„, ØĒØąØŗŲŠØĒ Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ /admincache " +admin_20 : "ØĒŲ… ØĒØąØŗŲŠØĒ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ." +admin_21 : "Ų„Ø§ ؊؈ØŦد Ø´ŲŠØĄ ؁؊ Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą " +admin_22 : "ŲØ´Ų„ Ø§Ų„ØĒØ¨Ø¯ŲŠŲ„ Ø§Ų„ØšØ´ŲˆØ§ØĻ؊. \n\n ØĒØ­Ų‚Ų‚ Ų…Ų† Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą: /queue" +admin_23 : "** ØĒŲ… ØĒØąØĒŲŠØ¨ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ØšØ´ŲˆØ§ØĻŲŠŲ‹Ø§ Ø­ØŗØ¨ {0} ** \n\n ØĒØ­Ų‚Ų‚ Ų…Ų† ØĒØąØĒŲŠØ¨ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą : /queue" +admin_24 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/loop [ØĒŲ…ŲƒŲŠŲ† / ØĒØšØˇŲŠŲ„] ØŖŲˆ [ØąŲ‚Ų… Ø¨ŲŠŲ† 1-10] \n\n** Ų…ØĢØ§Ų„: ** /loop 5" +admin_25 : "Ø§Ų„ØšØŦŲ„ØŠ ŲŲØšŲ„ØĒ Ų…Ų† {0} Ø§Ų„Ų‰ **{1}** Ų…ØąØ§ØĒ . Ø§Ų„Ø¨ŲˆØĒ ØŗŲŠŲ‚ŲˆŲ… باؚاد؊ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø§Ų„Ų…ØŽØĒØ§ØąØŠ **{1}** Ų…ØąØŠ " +admin_26 : "Ø§Ų„ØąØŦØ§ØĄ ا؎ØĒŲŠØ§Øą ØąŲ‚Ų… Ø¨ŲŠŲ† 1-10 Ų„ØĒŲØšŲŠŲ„ Ų…ŲˆØ¯ Ø§Ų„Ø­Ų„Ų‚ØŠ " +admin_27 : "ØĒŲ… ØĒØšØˇŲŠŲ„ Ų…ŲˆØ¯ Ø§Ų„Ø­Ų„Ų‚ØŠ" +admin_28 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/seek or /seekback [Ø§Ų„Ų…Ø¯ØŠ Ø¨Ø§Ų„ØĢŲˆØ§Ų†ŲŠ]" +admin_29 : "Ø§Ų„ØąØŦØ§ØĄ Ø§ØŗØĒØŽØ¯Ø§Ų… ؚدد Ø§Ų„ØĢŲˆØ§Ų†ŲŠ Ø§Ų„Ų…Ø¯ØŠ Ų…ØĢŲ„ 10-20-30 ØĢØ§Ų†ŲŠØŠ Ų„Ų„ØĒŲ„Ø§ØšØ¨" +admin_30 : "ØĸØŗŲ ŲˆŲ„ŲƒŲ† Ų„Ø§ ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„Ø¨Ø­ØĢ ØšŲ† Ø§Ų„Ø¨ØĢ Ø§Ų„ØŦØ§ØąŲŠ ØĒØ´ØēŲŠŲ„Ų‡. ŲŠŲ…ŲƒŲ† ŲŲ‚Øˇ ØĒØŽØˇŲŠŲ‡Ø§ ØŖŲˆ ØĨŲŠŲ‚Ø§ŲŲ‡Ø§." +admin_31 : "Ø§Ų„Ø¨ŲˆØĒ ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø§Ų„ØĒØēŲŠŲŠØą Ø¨ØŗØ¨Ø¨ Ø§Ų„Ų…Ø¯ØŠ Ø§Ų„ØˇŲˆŲŠŲ„ØŠ Ø§Ų„Ų…ØšØˇØ§ØŠ. ØĒØ­ØĒاØŦ ØĨŲ„Ų‰ Ø§Ų„ØĒØēŲŠŲŠØą ØšŲ† Ų…Ø¯ØŠ ØŖŲ‚Ų„ ؈ØĒØ°ŲƒØą ØŖŲ†Ų‡ ؊ØĒØ¨Ų‚Ų‰ ŲˆŲ‚ØĒ Ų‚Ø¯ØąŲ‡ 10 ØĢŲˆØ§Ų†Ų بؚد Ø§Ų„ØĒŲ„Ø§ØšØ¨ .\n\n ؊ØĒŲ… Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø­Ø§Ų„ŲŠŲ‹Ø§ ** {0} ** Ø¯Ų‚ŲŠŲ‚ØŠ Ų…Ų† ** {1} ** Ø¯Ų‚ŲŠŲ‚ØŠ" +admin_32 : "Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ... ؊ØĒŲ… Ø§Ų„Ø§Ų…Øą ." +admin_33 : "ØĒŲ… Ø§Ų„ØĒŲ„Ø§ØšØ¨ ؁؊ Ø§Ų„Ø¨ØĢ ؈ ؈ØĩŲ„ ØĨŲ„Ų‰ {0} Ø¯Ų‚ŲŠŲ‚ØŠ" +admin_34 : "ŲØ´Ų„ Ø§Ų„Ø§Ų…Øą !." + +# Bot + +# Start +start_1 : "Ų‡Ø§ ŲŠŲ€ØŲ€ŲŲ…ØąŲŠŲ€Û Ų‡ŲŠØ§ØĒŲ†ŲŠ ŲŠŲ… Ø§Ų„ŲØŽŲ…ŲŠŲ† 😔🖤{0}.\n\n {1} ŲŠØšŲ…Ų„ Ø§Ų„Ø§Ų† ✨ .\n\n ØĒØšØąŲ ØšŲ„Ų‰ Ų…Ø§ ŲŠŲ…ŲƒŲ†Ų†ŲŠ ŲØšŲ„Ų‡ Ų…Ų† ØŽŲ„Ø§Ų„ Ø§Ų„ØļØēØˇ ØšŲ„Ų‰ Ø˛Øą **Ø§Ų„Ø§ŲˆØ§Ų…Øą** ؁؊ Ø§Ų„Ø§ØŗŲŲ„ ØŖŲˆ ØĨØļØ¨Øˇ اؚداداØĒ Ø§Ų„Ø¨ŲˆØĒ ؁؊ Ų…ØŦŲ…ŲˆØšØĒ؃ Ų…Ų† ØŽŲ„Ø§Ų„ Ø˛Øą **Ø§Ų„Ø§ØšØ¯Ø§Ø¯Ø§ØĒ** đŸĢ‚â™Ĩī¸." +start_2 : "** ØŖŲ‡Ų„Ø§ ØšØ˛ŲŠØ˛ŲŠ Ø§Ų†Ø§ Ø¨ŲˆØĒ Ø§ØŗŲ…ŲŠ {0}**.\n\nŲˆØ¸ŲŠŲØĒ؊ Ų‡ŲŠ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ø§ØēØ§Ų†ŲŠ ŲˆŲ…Ų‚Ø§ØˇØš Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ؁؊ Ø§Ų„Ų…ŲƒØ§Ų„Ų…Ø§ØĒ بØĩŲ„Ø§Ø­ŲŠØ§ØĒ Ų…ØĒØˇŲˆØąØŠ ŲˆŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­ŲƒŲ… Ø¨Ø´ŲƒŲ„ ŲƒØ§Ų…Ų„ ØšŲ„Ų‰ Ø§Ų„Ø¨ŲˆØĒ Ų…Ų† ØŽŲ„Ø§Ų„ Ø§Ų„Ø§ŲˆØ§Ų…Øą ŲˆØ§Ų„Ø´ØąØ­ Ø§Ų„Ų…Ø¨ØŗØˇ đŸĢ‚đŸŒš." +start_3 : "Ų…ØąØ­Ø¨Ø§ Ø¨Ų€ {0}\n\n Ų„Ø§ احØĒاØŦ ØŖŲŠ **Ø§Ø°ŲˆŲ†Ø§ØĒ Ų…Ø´ØąŲŲŠŲ† ** Ų„Ų„ØšŲ…Ų„ ( Ø­ØĒŲ‰ ØŖØˇŲ„Ø¨ Ų…Ų†Ųƒ Ø°Ų„Ųƒ ).\n\n ŲŠŲˆØ˛Øą Ø§Ų„Ų…ØŗØ§ØšØ¯ :- @{1}\nØ§ŲŠØ¯ŲŠ Ø§Ų„Ų…ØŗØ§ØšØ¯:- {2}" +start_4 : "Ø§Ų†ØļŲ… Ų…Ø§Ų„Ųƒ {0} [{1}] Ų„Ų„ØĒ؈ ØĨŲ„Ų‰ Ų…Ø­Ø§Ø¯ØĢØĒ؃." +start_5 : "Ø§Ų†ØļŲ… ØšØļ؈ Ų…Ų† {0} Ø§Ų„Ų…ØˇŲˆØąŲŠŲ† [{1}] Ų„Ų„ØĒ؈ ØĨŲ„Ų‰ Ų…Ø­Ø§Ø¯ØĢØĒ؃." +start_6 : "â—ī¸ **احØĒاØŦ Ø§Ų† ØĒŲƒŲˆŲ† Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ ØŽØ§ØąŲ‚ØŠ** â—ī¸\n\nØ§Ų„ØąØŦØ§ØĄ ØĒØ­ŲˆŲŠŲ„ **Ų…ØŦŲ…ŲˆØšØĒ؃** Ø§Ų„Ų‰ **Ų…ØŦŲ…ŲˆØšØŠ ØŽØ§ØąŲ‚ØŠ** ØĢŲ… ØŖØļŲŲ†ŲŠ Ų…ØŦددا Ų‡Ų†Ø§ .\n\n **؃؊؁ ØŖØ­ŲˆŲ„ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ ØŽØ§ØąŲ‚ØŠ ؟ ?**\n✅ اØŦØšŲ„ ØŗØŦŲ„ Ø§Ų„Ų…Ø­Ø§Ø¯ØĢاØĒ **Ø¸Ø§Ų‡Øą ** Ø§ŲˆŲ„Ø§." +start_7 : "**Ų…ØŦŲ…ŲˆØšØŠ Ų…Ø­Ø¸ŲˆØąØŠ **\n\n Ų…ØŦŲ…ŲˆØšØĒ؃ Ų…Ø­Ø¸ŲˆØąØŠ Ų…Ų† Ų‚Ø¨Ų„ Ø§Ų„Ų…ØˇŲˆØąŲŠŲ† . Ø§Ų„ØąØŦØ§ØĄ Ų…ØąØ§ØŗŲ„ØŠ احد Ø§Ų„Ų…ØˇŲˆØąŲŠŲ† Ų„ŲŲƒ Ø§Ų„Ø­Ø¸Øą ØšŲ†Ųƒ . ØĒØ­Ų‚Ų‚ Ų…Ų† [Sudolist Ų…Ų† Ų‡Ų†Ø§]({0})" + +# Help +help_1 : "**Ø§Ų†Ų‚Øą ØšŲ„Ų‰ Ø§Ų„ØŖØ˛ØąØ§Øą ØŖØ¯Ų†Ø§Ų‡ Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„Ų…ØšŲ„ŲˆŲ…Ø§ØĒ.**\n\nØĨذا ŲƒŲ†ØĒ ØĒŲˆØ§ØŦŲ‡ ØŖŲŠ Ų…Ø´ŲƒŲ„ØŠ ؁؊ Ø§Ų„ØŖŲ…Øą ، ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„Ø§ØĒØĩØ§Ų„ Ø¨Ų…Ø§Ų„Ųƒ Ø§Ų„Ø¨ŲˆØĒ ØŖŲˆ ØˇŲ„Ø¨ Ø§Ų„Ø¯ØšŲ… Ų…Ų† Ø§Ų„Ų…ØˇŲˆØąŲŠŲ† .\n\nŲƒŲ„ Ø§Ų„Ø§ŲˆØ§Ų…Øą ØĒØŗØĒØŽØ¯Ų… Ų…Øš Ø§Ų„Ø§Ų…Øą : /" +help_2 : "ØĒŲˆØ§ØĩŲ„ Ų…ØšŲŠ Ų…ØŗØ§ØĄØ§ Ų„Ų„Ų…ØŗØ§ØšØ¯ØŠ ." + +# Settings +setting_1 : "âš™ī¸ **اؚداداØĒ Ø¨ŲˆØĒ Ø§Ų„Ų…ŲŠŲˆØ˛Ųƒ **\n\n🖇**Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ:** {0}\n🔖**Ø§ŲŠØ¯ŲŠ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ:** `{1}`\n\n💡**ØĒØ­ŲƒŲ… Ø¨Ø§Ų„Ø§Ø˛ØąØ§Øą ØŖØ¯Ų†Ø§Ų‡ Ų„Ų„ØĒØ­ŲƒŲ… باؚداداØĒ Ø§Ų„Ø¨ŲˆØĒ .**" +setting_3 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ \n\n1) Ų…Ø¨Ø§Ø´Øą: ØšŲ†Ø¯ ØĒŲØšŲŠŲ„Ų‡Ø§ ØŗŲŠØĒŲ… Ø§Ų„Ø´ØēŲŠŲ„ Ų…Ø¨Ø§Ø´ØąØŠ Ø¨ØŖØ­Ø¯ Ø§Ų„Ø§ŲˆØ§Ų…Øą ŲŲŠØ¯ŲŠŲˆ Ø§Ųˆ Øĩ؈ØĒ .\n\n2) Ø§Ø˛ØąØ§Øą: ØšŲ†Ø¯ ØĒØ´ØēŲŠŲ„Ų‡Ø§ ØŗŲŠØĒŲ… Ø¸Ų‡ŲˆØą Ø§Ų„Ø§Ø˛ØąØ§Øą ØšŲ† Ø§ØšØˇØ§ØĄ ØŖŲ…Øą Ø§Ų„ØĒØ´ØēŲŠŲ„ ØĨŲ† ŲƒŲ†ØĒ ØĒØąŲŠØ¯ ŲŲŠØ¯ŲŠŲˆ ØŖŲ… Øĩ؈ØĒ ." +setting_4 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ \n\nđŸ‘Ĩ Ø§Ų„ØŦŲ…ŲŠØš: ØŦŲ…ŲŠØš Ø§Ų„Ø§ØšØļØ§ØĄ ŲŠØŗØĒØˇŲŠØšŲˆŲ† Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø§Ø¯Ų…Ų† (skip, pause, resume etc) ؁؊ Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ.\n\n🙍 Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ ŲŲ‚Øˇ: Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ ŲŲ‚Øˇ ؈ Ø§Ų„Ø­ØŗØ§Ø¨Ø§ØĒ Ø§Ų„Ų…ŲˆØĢŲˆŲ‚ Ø¨Ų‡Ø§ ŲŠØŗØĒØˇŲŠØšŲˆŲ† Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø§Ø¯Ų…Ų† ." +setting_5 : "Ų„Ų… ØŖØŦد Ø­ØŗØ§Ø¨Ø§ØĒ Ų…ŲˆØĢŲˆŲ‚Ų‡\n\nŲŠŲ…ŲƒŲ†Ųƒ ØąŲØš Ø§ŲŠ ØšØļ؈ Ų„ŲŠØŗØĒØˇŲŠØš Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø§Ø¯Ų…Ų† Ų…Ų† ØŽŲ„Ø§Ų„ /auth ŲˆØ§Ø˛Ø§Ų„ØĒŲ‡ Ø¨Ø§ØŗØĒØŽØ¯Ø§Ų… /unauth" +setting_9 : "â‰ī¸Ų…Ø§ Ų‡Ø°Ø§ ?\n\nØšŲ†Ø¯ ØĒŲØšŲŠŲ„Ų‡ ØŗŲŠŲ‚ŲˆŲ… Ø§Ų„Ø¨ŲˆØĒ Ø¨Ø­Ø°Ų Ø§Ų„ØąØŗØ§ØĻŲ„ Ø§Ų„Ų„ØĒ؊ ØąØŗŲ„Ų‡Ø§ بؚد {0} Ų„Ų„ØĒØŖŲƒØ¯ Ų…Ų† Ø¨Ų‚Ø§ØĄ Ų…ØŦŲ…ŲˆØšØĒ؃ Ų†Ø¸ŲŠŲØŠ ." +setting_10 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ ?\n\n1) Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ: ØĒŲ‚ŲˆŲ… بØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ Ø­ŲŠØĢ ؊ØĒŲ… ØĨØšØˇØ§ØĄ Ø§Ų„ØŖŲ…Øą. \n\n2) Ø§Ų„Ų‚Ų†Ø§ØŠ: ØĒŲ‚ŲˆŲ… بØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ø§Ų„Ų‚Ų†Ø§ØŠ Ø§Ų„ØĒ؊ ØĒØąŲŠØ¯Ų‡Ø§. ØĒØšŲŠŲŠŲ† Ų…ØšØąŲ Ø§Ų„Ų‚Ų†Ø§ØŠ ØšØ¨Øą /channelplay" +setting_11 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ØŸ \n\n1) Ø§Ų„ØŦŲ…ŲŠØš: ŲŠŲ…ŲƒŲ† Ų„ØŖŲŠ Ø´ØŽØĩ Ų…ŲˆØŦŲˆØ¯ ؁؊ Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ų‡Ų†Ø§. \n\n2) Ø§Ų„Ų…ØŗØ¤ŲˆŲ„ ŲŲ‚Øˇ: ŲŠŲ…ŲƒŲ† Ų„Ų„Ų…ØŗØ¤ŲˆŲ„ŲŠŲ† ŲŲ‚Øˇ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ." +setting_12 : "❌ Ų„ŲŠØŗ Ų„Ø¯ŲŠŲƒ Ų…ØšØąŲ Ų‚Ų†Ø§ØŠ Ų…Ø­Ø¯Ø¯ Ų„ŲˆØļØš Ø§Ų„Ų‚Ų†Ø§ØŠ. ŲŠØąØŦŲ‰ ØĒØ­Ø¯ŲŠØ¯ Ų…Øš /channelplay." +setting_13 : "Ų„Ø§ Ø§ØŗØĒØˇŲŠØš ØĒØēŲŠŲŠØą ؈ØļØš Ø§Ų„ØĒØ´ØēŲŠŲ„ ŲˆØ§Ų„Ų…ŲƒØ§Ų„Ų…Ų‡ Ų…ŲØ´ØēŲ„ØŠ ، Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§ŲŠŲ‚Ø§Ų Ų…Ų† ØŽŲ„Ø§Ų„ /stop." +setting_14 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ ?\n\nØšŲ†Ø¯ ØĒŲØšŲŠŲ„Ų‡ ØŗŲŠŲ‚ŲˆŲ… Ø§Ų„Ø¨ŲˆØĒ Ø¨Ø­Ø°Ų Ø§Ų„Ø§ŲˆØ§Ų…Øą (/play, /pause, /shuffle, /stop Ø§Ų„ØŽ..) Ų…Ø¨Ø§Ø´ØąØŠ .\n\nØ§Ų„Ø¨ŲˆØĒ ØŗŲŠØ­Ø°Ų ØąØŗØ§Ų„ØŠ Ø§Ų„Ø§Ø¯Ų…Ų† ØšŲ†Ø¯ ØĒŲ†ŲŲŠØ° Ø§Ų„Ø§Ų…Øą Ų…Ø¨Ø§Ø´ØąØŠ ." +setting_15 : "ŲØ´Ų„ ؁؊ Ø­Ų„ Ø§Ų„Ų†Ø¸ŲŠØą, ŲØ´Ų„ ؁؊ Ø§Ų„Ų…Ų‡Ų…ØŠ ، ØĒØŖŲƒØ¯ Ų…Ų† ØŖŲ†Ųƒ ØŖØļ؁ØĒ Ø§Ų„Ø¨ŲˆØĒ ؁؊ Ų‚Ų†Ø§ØĒ؃ ŲˆŲ‚Ų…ØĒ بØĒØąŲ‚ŲŠØĒŲ‡ ŲƒŲ…ØŗØ¤ŲˆŲ„.\n\nØ­Ø§ŲˆŲ„ اØļØ¨Øˇ /channelplay Ų…ØŦددا.." +setting_16 : "â‰ī¸ Ų…Ø§ Ų‡Ø°Ø§ ?\n\n ØšŲ†Ø¯ ØĒŲØšŲŠŲ„Ų‡Ø§ ØŗŲŠŲ‚ŲˆŲ… Ø§Ų„Ø¨ŲˆØĒ Ø¨Ø§ØąØŗØ§Ų„ ŲƒŲ„ 1-2 ØŗØ§ØšØŠ Ø§Ų„Ø§ŲˆØ§Ų…Øą Ų„Ų„ØĒØšŲ„ŲŠŲ… (ŲƒŲŠŲŲŠØŠ Ø§ØŗØĒØŽØ¯Ø§Ų…Ų‡Ø§, ŲˆØŖŲŠ Ø§Ų„ØŽŲŠØ§ØąØ§ØĒ Ø§ŲØļŲ„ ŲˆØ§Ų„ŲƒØĢŲŠØą Ų…Ų† Ø§Ų„Ø§Ų…ŲˆØą ) ØšØ´ŲˆØ§ØĻŲŠØ§." + + +set_cb_1 : "Ø¯Ų‚ŲŠŲ‚ØŠ ØŲŲ€Ų…ØąŲŠŲ€Û ..." +set_cb_2 : "ØĢŲˆØ§Ų†ŲŠ Ú¯Ų„Ø¨Ų€ŲŠ Ų‡ØŗØŠ Ø§Ø¯Ø˛..." +set_cb_3 : "ØŽØ§Ø¯Ų…Ųƒ ŲŠØąŲˆØ­ŲŠ Ų‡ØŗØŠ ..." +set_cb_4 : "ØĒØ¯Ų„Ų„ ×¤Ų€ŲŠØ§ØĒŲŠŲ€Û Ø¯Ų‚ŲŠŲ‚ØŠ ..." +set_cb_5 : "؈ØĒØŖŲ…ØąŲ†ŲŠ ØŖŲ…Øą ØĸØēاØĒ؊ Ų„Ø­Ø¸ØŠ Ø¨Øŗ ..." +set_cb_6 : "؊ØĒŲ… Ø§Ų„ØŖŲ…Øą." +set_cb_7 : "Ų‡ØŗØŠ اØŦŲŠØ¨Ų„Ųƒ ØąØ§ØŗŲ‡Ų… Ø­ŲŠØ§ØĒ؊ ØŽØ§Ø¯Ų…Ųƒ Ø§Ų†ŲŠ ." +set_cb_8 : "ØĒØĒŲ… Ø§Ų„Ø§ØšØ§Ø¯ØŠ.." + +# Misc +ustats_1 : "Ų„Ų… ØŖØŦد ØŖŲŠ Ų…ØŗØĒØŽØ¯Ų… ." +ustats_2 : "ØĒŲ‡Ø§Ų†ŲŠŲ†Ø§ !, Ų„Ų‚Ø¯ Ø´ØēŲ„Ų‘ØĒ **{0}** اØēŲ†ŲŠØŠ Ų…Ų† ØŖØĩŲ„ **{1}** Ų…ØąØŠ.\n\nØĒŲˆØ¨ {2} Ø­ØĒŲ‰ Ø§Ų„ØĸŲ† :\n\n" + +gstats_1 : "ØĒØ­Ų…ŲŠŲ„ Ø§Ų„Ø§Ø­ØĩاØĻŲŠØ§ØĒ Ø§Ų„ØšØ§Ų„Ų…ŲŠØŠ ... ØąØ¨Ų…Ø§ ØŗŲŠØŖØŽØ° ŲˆŲ‚ØĒŲ‹Ø§ ..." +gstats_2 : "Ų„Ų… ØŖØŦد Ø´ŲŠØĄ ." +gstats_3 : "ØŦŲ„Ø¨ احØĩاØĻŲŠØ§ØĒ Ø§Ų„ØĒŲˆØ¨ 10 {0} Ų„Ų„Ø¨ŲˆØĒ, ØąØ¨Ų…Ø§ ØŗŲŠØŖØŽØ° ŲˆŲ‚ØĒŲ‹Ø§.." +gstats_4 : "** ØĨØŦŲ…Ø§Ų„ŲŠ Ø§Ų„ØˇŲ„Ø¨Ø§ØĒ Ų„Ų„Ø¨ŲˆØĒ: ** {0} \n\n {1} ØĒŲ… ØĒØ´ØēŲŠŲ„ ** {2} ** Ų…Ų‚Ø§ØˇØš Øĩ؈ØĒŲŠØŠ Ø­ØĒŲ‰ Ø§Ų„ØĸŲ† بؚدد Ų‡Ø§ØĻŲ„ Ų…Ų† ** {3} ** Ų…ØąØŠ. \n\n * * ØŖŲ‡Ų… {4} Ø§Ų„Ų…ØŗØ§ØąØ§ØĒ: ** \n" +gstats_5 : "**ØĒŲˆØ¨ {0} Ų…ØŦŲ…ŲˆØšØ§ØĒ Ų…Ų† {1}:**\n\n" +gstats_6 : "**ØĒŲˆØ¨ {0} Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ų…Ų† {1}:**\n\n" +gstats_7 : "Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ Ų‚Ø¯ Ø´ØēŲ„Ų‘ØĒ **{0}** اØēŲ†ŲŠØŠ Ø­ØĒŲ‰ Ø§Ų„Ø§Ų† Ų…Ų† ØŖØĩŲ„ **{1}** Ų…ØąØŠ . \n\n ØĒŲˆØ¨ {2} Ų…Ų† Ų‚Ø§Ų… Ø¨Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ų‡Ø°Ų‡ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ:\n\n" +gstats_8 : "؊ØĒŲ… ØŦŲ„Ø¨ Ų…ØšŲ„ŲˆŲ…Ø§ØĒ Ø§Ų„Ø¨ŲˆØĒ ..." +gstats_9 : "**ØĒŲˆØ¨ 10 Ų„Ų„ØŗŲŠØąŲØą ** \n\n ا؎ØĒØą Ų…Ų† Ø§Ų„Ø§ØŗŲŲ„ Ų„Ų…ØšØąŲØŠ Ø§Ų„ØĒŲˆØ¨ 10 Ų„Ų„ØŗŲŠØąŲØą ŲƒØ§Ų…Ų„ ." +gstats_10 : "***ØĒŲˆØ¨ 10 Ų„Ų„ØŗŲŠØąŲØą of {0}**\n\nا؎ØĒØą Ų…Ų† Ø§Ų„Ø§ØŗŲŲ„ Ų„Ų…ØšØąŲØŠ Ø§Ų„ØĒŲˆØ¨ 10 Ų„Ų„ØŗŲŠØąŲØą ŲƒØ§Ų…Ų„." +gstats_11 : "**Ø§Ų„ØĒŲˆØ¨ Ø§Ų„ØšØ§Ų„Ų…ŲŠ Ų…Ų† {0}** \n ا؎ØĒØą Ų…Ų† Ø§Ų„Ø§ØŗŲŲ„ Ų„Ų…ØšØąŲØŠ Ø§Ų„ØĒŲˆØ¨ 10 Ų„Ų„ØŗŲŠØąŲØą ŲƒØ§Ų…Ų„. \n\n Ų„Ų€ ØĒŲØ­Øĩ ØŖŲØļŲ„ Ø§Ų„Ø§ØēØ§Ų†ŲŠ, Ø§Ų„Ų…ØŦŲ…ŲˆØšØ§ØĒ, Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† ŲˆØ¨ØšØļ Ø§Ų„Ø§ØēØąØ§Øļ Ø§Ų„Ø§ØŽØąŲ‰, Ø§ØŗØĒØŽØ¯Ų… /gstats" + + +# Play + +#Play Callback +playcb_1 : "Ø§Ų…Ø´ŲŠ Ų„ŲƒŲƒ Ų‡Ø§ŲŠ Ų…Ųˆ Ø§Ų„Ųƒ! ابحØĢ ØšŲ† اØēŲ†ŲŠØĒ؃ Ø§Ų„ØŽØ§ØĩŲ‡." +playcb_2 : "ØŦŲ„Ø¨ Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„ØĒØ§Ų„ŲŠ" + +# Channel Play +cplay_1 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ų‚Ų†Ø§ØĒ؃ Ų…Ų† ØŽŲ„Ø§Ų„ Ų‡Ø°Ų‡ Ø§Ų„Ų…Ø­Ø§Ø¯ØĢØŠ [{0}] Ų„ØŖŲŠ Ų‚Ų†Ø§ØŠ . \n\n**Ų„ØąØ¨Øˇ Ų‚Ų†Ø§ØĒ؃ :**\n`/{1} [Ø§ŲŠØ¯ŲŠ Ø§Ų„Ų‚Ų†Ø§ØŠ]`" +cplay_2 : "Ų‡Ø°Ų‡ Ø§Ų„Ų…Ø­Ø§Ø¯ØĢØŠ ØēŲŠØą Ų…ØąØ¨ŲˆØˇØŠ Ø¨ØŖŲŠ Ų‚Ų†Ø§ØŠ." +cplay_3 : "Ø§Ų„Ų‚Ų†Ø§ØŠ ØēŲŠØąØĒ ØĨŲ„Ų‰ {0}\n\n__Ų…ØšØąŲ Ø§Ų„Ų‚Ų†Ø§ØŠ__: {1}" +cplay_4 : "ŲØ´Ų„ ؁؊ Ø§Ų„ŲˆØĩŲˆŲ„ Ų„Ų„Ų‚Ų†Ø§ØŠ.\n\nØĒØ§ŲƒØ¯ Ų…Ų† اØļØ§ŲŲ‡ Ø§Ų„Ø¨ŲˆØĒ Ų„Ų„Ų‚Ų†Ø§ØŠ ŲˆØąŲØšŲ‡ Ų…Ø´ØąŲ Ø¨Ų‡Ø§ .\nØĢŲ… Ø§ØąØŗŲ„ /channelplay" +cplay_5 : "؊ØĒŲ… Ø¯ØšŲ… Ø§Ų„Ų‚Ų†ŲˆØ§ØĒ ŲŲ‚Øˇ." +cplay_6 : "؊ØŦب Ø§Ų† ØĒŲƒŲˆŲ† ØŖŲ†ØĒ **Ø§Ų„Ų…Ø§Ų„Ųƒ** Ų„Ų„Ų‚Ų†Ø§ØŠ [{0}] Ų„ØąØ¨Øˇ Ų‡Ø°Ø§ Ø§Ų„ŲƒØąŲˆØ¨ .\n**Ų…Ø§Ų„Ųƒ Ø§Ų„Ų‚Ų†Ø§ØŠ:** @{1}\n\nØ¨Ø¯Ų„Ø§Ų‹ Ų…Ų† Ø°Ų„Ųƒ ، ŲŠŲ…ŲƒŲ†Ųƒ ØąØ¨Øˇ Ų…ØŦŲ…ŲˆØšØĒ؃ بØĒŲ„Ųƒ Ø§Ų„Ų‚Ų†Ø§ØŠ ØĢŲ… Ų…Ø­Ø§ŲˆŲ„ØŠ Ø§Ų„Ø§ØĒØĩØ§Ų„ Ø¨Ų‡Ø§ `/channelplay Ų…ØąØĒØ¨Øˇ`" + +#Play +play_1 : "🔄 ؊ØĒŲ… Ø§Ų„ØĒŲ‚Ø¯Ų…... Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą !" +play_2 : "**đŸˇŲˆØļØš Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ø§Ų„Ų‚Ų†Ø§ØŠ**\n\n🔄 ؊ØĒŲ… Ø§Ų„ØĸŲ† ... Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą !\n**Ų‚Ų†Ø§ØŠ Ų…ØąØĒØ¨ØˇØŠ:** {0}" +play_3 : "ŲØ´Ų„ØĒ ؁؊ Ø§Ų„ŲˆØĩŲˆŲ„!" +play_4 : "🖇 **ØŖØąŲ†Ø¨ Ø§Ų†ØĒ Ų…Ųˆ ØŖØ¯Ų…Ų† **\nØ¨Øŗ Ø§Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ ŲˆØ§Ų„Ø­ØŗØ§Ø¨Ø§ØĒ Ø§Ų„Ų…ŲˆØĢŲˆŲ‚Ų‡ ŲŠŲƒØ¯ØąŲˆŲ† ŲŠØ´ØēŲ„ŲˆŲ† Ø§Ų„Ø§ØēØ§Ų†ŲŠ Ų‡Ų†Ø§ .\n\nØĒŲƒØ¯Øą ØĒØŽŲ„ŲŠ Ø§Ų„ŲƒŲ„ ŲŠØ´ØēŲ„ Ų…Ų† ØŽŲ„Ø§Ų„ /playmode ŲˆØ§Ø°Ø§ ØŦŲ†ØĒ Ø§Ų†ØĒ اØĩŲ„Ø§ Ø§Ø¯Ų…Ų† Ø§ØąØŦØš Ø¯Ø˛ /admincache" +play_5 : "ŲØ´Ų„ØĒ ؁؊ Ø§Ų„ŲˆØĩŲˆŲ„ Ų„Ų„Ø§ØēŲ†ŲŠØŠ .\n\nŲ„ØĒŲØ­ØˇŲ†ŲŠ Ų„Ø§Ø˛Ų… Ø­ØŦŲ… Ø§Ų„Ø§ØēŲ†ŲŠØŠ Ø§Ų‚Ų„ Ų…Ų† 100 mb" +play_6 : "**ØĒŲ… ØĒØŦØ§ŲˆØ˛ حد Ø§Ų„Ų…Ø¯ØŠ**\n\n**Ø§Ų„Ų…Ø¯ØŠ Ø§Ų„Ų…ØŗŲ…ŲˆØ­ Ø¨Ų‡Ø§: **{0} minute(s)\n**Ø§Ų„Ų…Ø¯ØŠ Ø§Ų„Ų…ØŗØĒŲ„Ų…ØŠ:** {1} hour(s)" +play_7 : " ØšØ°ØąØ§ Ų„Ų‚Ø¯ ؈ØĩŲ„ØĒ Ų„Ų„Ø­Ø¯ Ø§Ų„Ø§Ų‚ØĩŲ‰ ؁؊ Ø§Ų„ØĒØ´ØēŲŠŲ„ . Ø§Ų„ŲƒØĢŲŠØą Ų…Ų† Ø§Ų„Ų…ŲƒØ§Ų„Ų…Ø§ØĒ Ų…ŲØšŲ„ØŠ Ø§Ų„Ø§Ų†. ØŦØąØ¨ ØĒØ´ØēŲŠŲ„ Ø§Ų„Øĩ؈ØĒŲŠØ§ØĒ ØŖŲˆ ؚد Ų„Ø§Ø­Ų‚Ø§Ų‹ đŸĨ˛" +play_8 : "Ø§Ų„ŲØ¯ŲŠŲˆ ØēŲŠØą Ų…Ø¯ØšŲˆŲ… !\n\n**ØēŲŠØą Ų…Ø¯ØšŲˆŲ… :** {0}" +play_9 : "Ø¨ŲˆŲŠØŠ ŲØ­ØˇØĒŲ†ŲŠ ØŗŲŠØ¯ Ų‡ŲˆØ§ŲŠ ØĒŲ†Ø˛Ų„ .. Ø§Ų„Ø­Ø¯ Ø§Ų„Ø§Ų‚ØĩŲ‰ Ų„Ų„ŲŲŠØ¯ŲŠŲˆ Ų‡Ųˆ 1 GiB" +play_10 : "**Ų…ŲŠØ˛ØŠ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ ؊؈ØĒŲŠŲˆØ¨**\n\nحدد Ø§Ų„ŲˆØļØš Ø§Ų„Ø°ŲŠ ØĒØąŲŠØ¯ ØĒØ´ØēŲŠŲ„ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ Youtube Ø¨Ø§Ų„ŲƒØ§Ų…Ų„ ŲŲŠŲ‡" +play_11 : "đŸ“ŽØ§Ų„ØšŲ†ŲˆØ§Ų†: **{0}\n\nâŗØ§Ų„Ų…Ø¯ØŠ:** {1} Mins" +play_12 : "**؈ØļØš Spotify Play ** \n\n ØĒŲ… ØˇŲ„Ø¨Ų‡ Ø¨ŲˆØ§ØŗØˇØŠ:- {0}" +play_13 : "**Ų‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ Apple ** \n\n ØĒŲ… ØˇŲ„Ø¨Ų‡ Ø¨ŲˆØ§ØŗØˇØŠ:- {0}" +play_14 : "**ØĒØšØ°Øą Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† ØšŲ†ŲˆØ§Ų† URL. ** \n Ų„Ø§ ØĒØĒØŗØ§ØĄŲ„ ØšŲ…Ø§ ØĨذا ŲƒØ§Ų† ØšŲ†ŲˆØ§Ų† url Ų‡Ø°Ø§ ŲŠŲ†ØĒŲ…ŲŠ ØĨŲ„Ų‰ ØŖŲŠ Ų…Ų† Ø§Ų„ØŖŲ†Ø¸Ų…ØŠ Ø§Ų„ØŖØŗØ§ØŗŲŠØŠ Ø§Ų„ØĒØ§Ų„ŲŠØŠ: Youtube ؈ AppleMusic ؈ Spotify ؈ Resso ؈ Soundcloud. \n\n ŲŠŲ…ŲƒŲ†Ųƒ Ø§ØŗØĒØŽØ¯Ø§Ų… /stream Ų„Ų€ M3u8 ØŖŲˆ Ø§Ų„ØąŲˆØ§Ø¨Øˇ Ø§Ų„Ø¨ØšŲŠØ¯ØŠ." +play_15 : "**ØĒŲ… Ø§ŲƒØĒØ´Ø§Ų Ø§Ų„Ø¨ØĢ Ø§Ų„Ų…Ø¨Ø§Ø´Øą ** \n\n Ø§ŲƒØĒØ´ŲØĒ Ø§Ų„ØŖŲ†Ø¸Ų…ØŠ Ø§ØąØĒØ¨Ø§Øˇ Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„ØŽØ§Øĩ Ø¨Ųƒ ØšŲ„Ų‰ ØŖŲ†Ų‡ بØĢ Ų…Ø¨Ø§Ø´Øą. ØĒØąŲŠØ¯ ØŖŲ† ØĒŲ„ØšØ¨ Ø§Ų„Ø¨ØĢ Ø§Ų„Ų…Ø¨Ø§Ø´Øą ?" +play_16 : "ŲØ´Ų„ØĒ بØĨØ­ØļØ§Øą Ų…ØšŲ„ŲˆŲ…Ø§ØĒ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ. ØŦØąØ¨ ØĒØ´ØēŲŠŲ„ ØŖŲŠ اØēŲ†ŲŠØŠ Ø§ØŽØąŲ‰." +play_17 : "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĒØ´ØēŲŠŲ„ Ų‡Ø°Ø§ Ø§Ų„Ų†ŲˆØš Ų…Ų† Ø§ØŗØĒØšŲ„Ø§Ų… ØŗØ¨ŲˆØĒ؊؁؊!\n\nŲŠŲ…ŲƒŲ†Ų†ŲŠ ŲŲ‚Øˇ ØĒØ´ØēŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ Spotify ŲˆØ§Ų„ØŖŲ„Ø¨ŲˆŲ…Ø§ØĒ ŲˆØ§Ų„ŲŲ†Ø§Ų†ŲŠŲ† ŲˆŲ‚ŲˆØ§ØĻŲ… Ø§Ų„ØĒØ´ØēŲŠŲ„ " +play_18 : "**Ų„Ø§ ØĒ؈ØŦد Ų…ŲƒØ§Ų„Ų…Ų‡ ؁؊ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ**\n\nŲ„Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„Ų„ØšØ¨ Ø¨Ø§Ų„Ų‚ŲˆØŠ ، ؊ØŦب ØŖŲ† ØĒŲƒŲˆŲ† Ų‡Ų†Ø§Ųƒ Ų…Ø­Ø§Ø¯ØĢØŠ Øĩ؈ØĒŲŠØŠ Ų†Ø´ØˇØŠ ØŦØ§ØąŲŠØŠ ؁؊ Ų…ØŦŲ…ŲˆØšØĒ؃. ** Force Play ** ŲŠŲˆŲ‚Ų Ų…ØŗØ§Øą Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ ŲˆŲŠØ¨Ø¯ØŖ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„Ø°ŲŠ ØĒŲ… Ø§Ų„Ø¨Ø­ØĢ ØšŲ†Ų‡ ØšŲ„Ų‰ Ø§Ų„ŲŲˆØą Ø¯ŲˆŲ† ØĨØ˛ØšØ§ØŦ/clearing ØˇØ§Ø¨ŲˆØą." + + +#Playlist +playlist_1 : "**Ø§Ų„Ø§ØŗØĒØŽØ¯Ø§Ų…:** /play [Ø§ØŗŲ… Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ØŖŲˆ ØąØ§Ø¨Øˇ ؊؈ØĒŲŠŲˆØ¨ ØŖŲˆ Ø§Ų„ØąØ¯ ØšŲ„Ų‰ Ø§Ų„Øĩ؈ØĒ]\n\nØĨذا ŲƒŲ†ØĒ ØĒØąŲŠØ¯ ØĒØ´ØēŲŠŲ„ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„Ųƒ ؁؊ Ø§Ų„ØŗŲŠØąŲØą ! اØļØēØˇ ØšŲ„Ų‰ Ø§Ų„Ø˛Øą ØŖØ¯Ų†Ø§Ų‡." +playlist_2 : "Ø§Ų„Ø­ØĩŲˆŲ„ ØšŲ„Ų‰ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ. ØŖØąØŦ؈ Ø§Ų„ØĨŲ†ØĒØ¸Ø§Øą" +playlist_3 : "Ų„ŲŠØŗ Ų„Ø¯ŲŠŲƒ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ ØšŲ„Ų‰ ØŽØ§Ø¯Ų… Ø§Ų„Ø¨ŲˆØĒ." +playlist_4 : "Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØĒ؊ ØĒŲ… ØŦŲ„Ø¨Ų‡Ø§: \n\n" +playlist_5 : "Ø§Ų„Ų…Ø¯ØŠ- {0} Ø¯Ų‚ŲŠŲ‚ØŠ" +playlist_6 : "ØĒŲˆØ§ØĩŲ„ Ų…ØšŲŠ ؁؊ Ų…Ø­Ø§Ø¯ØĢØŠ ؎اØĩØŠ Ų„Ø­Ø°Ų Ų‚ŲˆØ§ØĻŲ… Ø§Ų„ØĒØ´ØēŲŠŲ„." +playlist_7 : "Ø§Ų„Ų…ØŗØ§ØąØ§ØĒ Ø¯Ø§ØŽŲ„ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„: {0}\n\nاØļØēØˇ ØšŲ„Ų‰ Ø§Ų„ØŖØ˛ØąØ§Øą Ų„Ø­Ø°Ų Ų…ØŗØ§Øą Ų…ØšŲŠŲ† ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ.\n\nŲ„Ø­Ø°Ų Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø¨ØŖŲƒŲ…Ų„Ų‡Ø§: اØļØēØˇ ØšŲ„Ų‰ Ø˛Øą **Ų…ØŗØ­ ŲƒŲ„ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ **." +playlist_8 : "Ų…ŲˆØŦŲˆØ¯ Ø¨Ø§Ų„ŲØšŲ„\n\nŲ‡Ø°Ø§ Ø§Ų„Ų…ØŗØ§Øą Ų…ŲˆØŦŲˆØ¯ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ." +playlist_9 : "ØĸØŗŲ! ŲŠŲ…ŲƒŲ† ØŖŲ† ŲŠŲƒŲˆŲ† Ų„Ø¯ŲŠŲƒ {0} Ų…ŲˆØŗŲŠŲ‚Ų‰ ŲŲ‚Øˇ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„." +playlist_10 : "ØĨØļØ§ŲØŠ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„\n\n {0} \n Ų…ØļØ§ŲØŠ ØĨŲ„Ų‰ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ." +playlist_11 : "ØĒŲ… Ø­Ø°Ų Ų…ØŗØ§ØąŲƒ Ø¨Ų†ØŦاح." +playlist_12 : "ŲØ´Ų„ Ø­Ø°Ų Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„ØŽØ§Øĩ Ø¨Ųƒ." +playlist_13 : "Ø­Ø°Ų ŲƒŲ„ Ų‚ŲˆØ§ØĻŲ… Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ Ų…Ų† Ø§Ų„ØŽØ§Ø¯Ų…. " +playlist_14 : "**Ų‡Ų„ ØĒØąŲŠØ¯ Ø¨Ø§Ų„ØĒØŖŲƒŲŠØ¯ Ø­Ø°Ų Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø¨ØŖŲƒŲ…Ų„Ų‡Ø§ØŸ **\n\nØŗØĒŲŲ‚Ø¯ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ ŲˆŲ„Ø§ ŲŠŲ…ŲƒŲ† Ø§ØŗØĒØąØ¯Ø§Ø¯Ų‡Ø§ Ų„Ø§Ø­Ų‚Ų‹Ø§." +playlist_15 : "[Ų…Ø´Ø§Ų‡Ø¯ØŠ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ Ø¨ØŖŲƒŲ…Ų„Ų‡Ø§]({0})" +playlist_16 : "Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą:" +playlist_17 : "Ų…ŲˆŲ‚Ų ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą-" +playlist_18 : "[Ų…Ø´Ø§Ų‡Ø¯ØŠ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„Ųƒ Ø¨ØŖŲƒŲ…Ų„Ų‡Ø§]({0}) \n\n ØĸØŽØą Ų…ŲˆØļØš ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ : **{1}**" + +#Playmode +playmode_1 : "حدد Ø§Ų„ŲˆØļØš Ø§Ų„Ø°ŲŠ ØĒØąŲŠØ¯ ØĒØ´ØēŲŠŲ„ Ø§Ų„ØˇŲ„Ø¨Ø§ØĒ ŲŲŠŲ‡ Ø¯Ø§ØŽŲ„ Ų…ØŦŲ…ŲˆØšØĒ؃ [{0}]." +playmode_2 : "ØĒŲ… ØĒØēŲŠŲŠØą Ø§Ų„ØĨؚداداØĒ ŲˆØ­ŲØ¸Ų‡Ø§ Ø¨Ų†ØŦاح Ø¨ŲˆØ§ØŗØˇØŠ {0}" + +#Stream +str_1 : "ŲŠØąØŦŲ‰ ØĒŲˆŲŲŠØą ØąŲˆØ§Ø¨Øˇ M3u8 ØŖŲˆ ØąŲˆØ§Ø¨Øˇ Ø§Ų„ŲŲ‡ØąØŗ" +str_2 : "✅ØĒŲ… Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ø¯ŲŲ‚ ØĩØ§Ų„Ø­ \n\n Ø§Ų„ØąØŦØ§ØĄ Ø§Ų†ØĒØ¸Ø§Øą Ø§ØąØĒØ¨Ø§Øˇ Ø§Ų„Ų…ØšØ§Ų„ØŦØŠ.." +str_3 : "ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ Ø¯ŲŲ‚ ؊؈ØĒŲŠŲˆØ¨ Ø§Ų„Ø¨ØĢ Ø§Ų„Ų…Ø¨Ø§Ø´Øą. Ų„Ų… ؊ØĒŲ… Ø§Ų„ØšØĢŲˆØą ØšŲ„Ų‰ ØĒŲ†ØŗŲŠŲ‚ Ų…Ø¨Ø§Ø´Øą" + +#TopPlay +tracks_1 : "** ØŦØ§ØąŲ Ų…ØšØ§Ų„ØŦØŠ {0} ØŖŲØļŲ„ 10 Ų‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ **\n Ų‚Ø¯ ŲŠØŗØĒØēØąŲ‚ Ø°Ų„Ųƒ بؚØļ Ø§Ų„Ø¯Ų‚Ø§ØĻŲ‚ (Ø­ŲˆØ§Ų„ŲŠ 3-4 Ø¯Ų‚Ø§ØĻŲ‚) .. ŲŠŲØąØŦŲ‰ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ... \n\n ** 👤 ØĒŲ… ØˇŲ„Ø¨Ų‡ Ø¨ŲˆØ§ØŗØˇØŠ: ** {1} \n\n ØĒØ­Ų‚Ų‚ ØŖŲØļŲ„ 10 Ų…ØŗØ§ØąØ§ØĒ/gstats" +tracks_2 : "** ØŽØˇØŖ ** \n\nŲ„Ø§ ØĒ؈ØŦد ** {0} ØŖŲØļŲ„ 10 Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ ** ØšŲ„Ų‰ ØŽŲˆØ§Ø¯Ų… Ø§Ų„ØąŲˆØ¨ŲˆØĒ. ŲŠØąØŦŲ‰ Ų…Ø­Ø§ŲˆŲ„ØŠ ØŖŲŠ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ ØŖØŽØąŲ‰" + +# TOOLS + +#Lyrics +lyrics_1 : "**Ø§Ų„Ø§ØŗØĒØŽØ¯Ø§Ų…:**\n\n/lyrics [ Ø§ØŗŲ… Ø§Ų„Ø§ØēŲ†ŲŠØŠ ]" +lyrics_2 : "؊ØĒŲ… Ø§Ų„Ø¨Ø­ØĢ ..." +lyrics_3 : "❌ ŲØ´Ų„ØĒ ؁؊ Ø§Ų„Ø­ØĩŲˆŲ„ ØšŲ„Ų‰ Ø§Ų„ŲƒŲ„Ų…Ø§ØĒ😭.\n\n💡**ØŦØąØ¨ Ø§Ų„Ø¨Ø­ØĢ ØšŲ† :** {0}" +lyrics_4 : "اØļØēØˇ ØšŲ„Ų‰ Ø§Ų„Ø˛Øą Ø§Ø¯Ų†Ø§Ų‡ Ų„Ų„Ø¨ØŽØĢ ØšŲ† Ø§Ų„ŲƒŲ„Ų…Ø§ØĒ Ų„ØĒØŦŲ†Ø¨ Ø§Ų„ØŗØ¨Ø§Ų… ؁؊ Ų…ØŦŲ…ŲˆØšØĒ؃ ." + +#Ping +ping_1 : "؊ØĒŲ… Ø§Ų„Ø­ØŗØ§Ø¨!!!!" +ping_2 : "{0} \n ŲŠØšŲ…Ų„ Ø¨Ø´ŲƒŲ„ ØŦŲŠØ¯ Ų…Øš Ø§Ų„Ø§ØĒØĩØ§Ų„ Ų…Ų† \n `{1}` ؁؊ Ø§Ų„ØĢØ§Ų†ŲŠØŠ.\n\nØ§Ų„ØŦŲ‡ŲˆØ˛ŲŠØŠ Ø¨ŲˆØĒ Ų‡Ųˆ {2} \n ŲˆØ§ØŗØĒØŽØ¯Ų… Ų…Ø§ Ų…ØŦŲ…ŲˆØšŲ‡ {3} ØĒØŽØ˛ŲŠŲ† Ø§Ų„ØŽØ§Ø¯Ų….\n ØĒØ­Ų…ŲŠŲ„ ŲˆØ­Ø¯ØŠ Ø§Ų„Ų…ØšØ§Ų„ØŦØŠ Ø§Ų„Ų…ØąŲƒØ˛ŲŠØŠ Ø­ŲˆØ§Ų„ŲŠ {4} \n Ų…Øš Ø§ØŗØĒŲ‡Ų„Ø§Ųƒ {5} \n Ø§Ų„ØąØ§Ų… Ø§Ų„ØšŲ…ŲŠŲ„ Ų„Ø¯ŲŠŲ‡ ØŖŲŠØļŲ‹Ø§ ا؎ØĒØ¨Ø§Øą اØĒØĩØ§Ų„ ØŦŲŠØ¯ Ų„Ų€ `{6}` ؁؊ Ø§Ų„ØĢØ§Ų†ŲŠØŠ." + + +# Song +song_1 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒŲ†Ø˛ŲŠŲ„ Ų…Ų† ؊؈ØĒŲŠŲˆØ¨ ŲŲ‚Øˇ ؁؊ Ų…Ø­Ø§Ø¯ØĢØŠ ؎اØĩØŠ. Ø§Ų„ØąØŦØ§ØĄ Ø§ØąØŗØ§Ų„ Ø§Ų„Ø§Ų…Øą ؁؊ ؎اØĩ Ø§Ų„Ø¨ŲˆØĒ." +song_2 : "**Ų…ØĢØ§Ų„:**\n\n/song [Ø§Ų„Ø§ØŗŲ…] or [Ø§Ų„ØąØ§Ø¨Øˇ Ų…Ų† ؊؈ØĒŲŠŲˆØ¨]" +song_3 : "ØĒŲ… ŲƒØ´Ų Ø§Ų„ØąØ§Ø¨Øˇ. Ø§Ų†Ø§ ØēŲŠØą Ų‚Ø§Ø¯Øą ØšŲ„Ų‰ ØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ø¨ØĢ Ø§Ų„Ų…Ø¨Ø§Ø´Øą. " +song_4 : "**đŸ”—Ø§Ų„ØšŲ†ŲˆØ§Ų†:**- {0}\n\nا؎ØĒØą Ų…Ø§ ØĒØąŲŠØ¯ ØĒŲ†Ø˛ŲŠŲ„Ų‡ ." +song_5 : "ØąØ§Ø¨Øˇ ØēŲŠØą ØĩØ§Ų„Ø­" +song_6 : ؊ØĒŲ… Ø§Ų„ØŦŲ„Ø¨..\n\nŲŠØąØŦŲ‰ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą .." +song_7 : "Ų„Ų‚Ø¯ ŲØ´Ų„ØĒ .. ØŦØąØ¨ Ų…Ų‚ØˇØš Ø§ØŽØą." +song_8 : "؊ØĒŲ… Ø§Ų„ØĒŲ†Ø˛ŲŠŲ„\n\nØąØ¨Ų…Ø§ ŲŠŲƒŲˆŲ† Ø§Ų„ØĒŲ†Ø˛ŲŠŲ„ Ø¨ØˇŲŠØĻا Ų†ŲˆØšØ§ Ų…Ø§. Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą .." +song_9 : "ŲØ´Ų„ØĒ ؁؊ ØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ø§ØēŲ†ŲŠØŠ -DL\n\n**Reason:** {0}" +song_10 : "ŲØ´Ų„ØĒ ؁؊ ØąŲØš Ø§Ų„Ų…Ų„Ų Ø§Ų„Ų‰ ØĒŲ„ŲŠØēØąØ§Ų… .. اؚد Ø§Ų„Ų…Ø­Ø§ŲˆŲ„ØŠ." +song_11 : "؊ØĒŲ… Ø§Ų„ØąŲØš\n\n ØąØ¨Ų…Ø§ ŲŠŲƒŲˆŲ† Ø§Ų„ØąŲØš Ø¨ØˇŲŠØĻا . Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą .." + +# Tools - Queue +queue_1 : "ŲŠØąØŦŲ‰ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ..." +queue_2 : "Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ŲØ§ØąØēØŠ 🤐" +queue_3 : "**ØąŲ‚Ų….:** [ØĒŲØ­Øĩ Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„Ų…ØŗØ§ØąØ§ØĒ Ų…Ų† Ų‡Ų†Ø§ ({0})" +queue_4 : "âŗ اØļ؊؁ØĒ Ų„Ų„Ų‚Ø§ØĻŲ…Ų‡ ŲƒŲ€ **#{0}\n\nđŸ’ĄØ§Ų„ØšŲ†ŲˆØ§Ų†:** {1}\n**âąØ§Ų„Ų…Ø¯ØŠ:** {2}\n👤**ØˇŲ„Ø¨ Ų…Ų† :** {3}" +queue_5 : "Ų„Ø§ ØĒ؈ØŦد ØŗŲˆŲ‰ اØēŲ†ŲŠØŠ ŲˆØ§Ø­Ø¯ØŠ ؁؊ ؁؊ Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡ ، Ø§Ų„ØąØŦØ§ØĄ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…Ø˛ŲŠØ¯ ØŖŲˆŲ„Ø§ " + +# All Streaming Lines +stream_1 : "📡 **Ø¨Ø¯ØŖ Ø§Ų„Ø¨ØĢ** 💡\n\n👤**ØˇŲ„Ø¨ØĒ Ų…Ų† :** {0}\nđŸ”Ļ**Ų…ØšŲ„ŲˆŲ…Ø§ØĒ Ø§ŲƒØĢØą: **[اØļØēØˇ Ų‡Ų†Ø§]({1})" +stream_2 : "📡 **Ø¨Ø¯ØŖ Ø§Ų„Ø¨ØĢ Ų…Ų† Ø§Ų„ØąØ§Ø¨Øˇ ** 💡\n\n👤**ØˇŲ„Ø¨ØĒ Ø¨ŲˆØ§ØŗØˇØŠ:** {0}" +stream_3 : "📡 **بدا Ø§Ų„Ø¨ØĢ** 💡\n\n**đŸˇØ§Ų„ØšŲ†ŲˆØ§Ų†:** {0}\nâŒ›ī¸**Ø§Ų„Ų…Ø¯ØŠ**: {1}\n👤**ØˇŲ„Ø¨ØĒ Ų…Ų† :** {2}" +stream_4 : "📡 **Ø¨Ø¯ØŖ Ø§Ų„Ø¨ØĢ** 💡\n\n**đŸˇØ§Ų„ØšŲ†ŲˆØ§Ų†:** [{0}]({1})\nâŒ›ī¸**Ø§Ų„Ų…Ø¯ØŠ**: {2}\n👤**Ø¨ØˇŲ„Ø¨ Ų…Ų†:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 اØēŲ„Ø§Ų‚ " +CLOSEMENU_BUTTON : "🗑 اØēŲ„Ø§Ų‚ Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ" +BACK_BUTTON : "âŦ… ØšŲˆØ¯ØŠ" +UNBAN_BUTTON : "🗑 Ø§Ų„ØēØ§ØĄ Ø§Ų„Ø­Ø¸Øą " + +#Lyrics +L_B_1 : "🚀 Ø§Ų„Ø°Ų‡Ø§Ø¨ Ų„Ų„ØŽØ§Øĩ" + +# Start +S_B_1 : "🗒 Ø§Ų„Ø§ŲˆØ§Ų…Øą" +S_B_2 : "âš™ī¸ Ø§Ų„Ø§ØšØ¯Ø§Ø¯Ø§ØĒ" +S_B_3 : "📨 اØĩŲ†Øš Ø¨ŲˆØĒ؃" +S_B_4 : "đŸ’ģ ØŗŲˆāĸĒØŗ Ų…Ø§Øē؊" +S_B_5 : "✚ اØļŲŲ†ŲŠ Ų„Ų…ØŦŲ…ŲˆØšØĒ؃" +S_B_6 : "اØĩŲ†Øš Ø¨ŲˆØĒ؃ Ø§Ų„ØŽØ§Øĩ 🌟" +S_B_7 : "👤 Ø§Ų„Ų…ØˇŲˆØą" +S_B_8 : "âš™ī¸ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§ŲˆØ§Ų…Øą." + +#Help +H_B_1 : "Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø§Ø¯Ų…Ų†" +H_B_2 : "Ø§ŲˆØ§Ų…Øą Ø§Ų„ØĒØ´ØēŲŠŲ„" +H_B_3 : "Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø¨ŲˆØĒ" +H_B_4 : "Ø§ŲˆØ§Ų…Øą اØļØ§ŲŲŠØŠ" +H_B_5 : "اØēŲ„Ø§Ų‚ Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡" +H_B_6 : "Ø§ŲˆØ§Ų…Øą Ø§Ų„Ų…ØˇŲˆØąŲŠŲ†" + +#PlayMode +PM_B_1 : "ØĒØ´ØēŲŠŲ„ Ų…Ø¨Ø§Ø´Øą" +PM_B_2 : "Ø§Ø˛ØąØ§Øą Ø§Ų†Ų„Ø§ŲŠŲ†" +PM_B_3 : "ØĒØ´ØēŲŠŲ„ ؁؊ Ø§Ų„Ų‚Ų†Ø§ØŠ" + +#Play +P_B_1 : "đŸŽĩ ØĒØ´ØēŲŠŲ„ Øĩ؈ØĒ" +P_B_2 : "đŸŽĨ ØĒØ´ØēŲŠŲ„ ŲŲŠØ¯ŲŠŲˆ" +P_B_3 : "🏮 Ø¨Ø¯ØŖ بØĢ Ų…Ø¨Ø§Ø´Øą" +P_B_4 : "đŸŽĩ Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ŲŠ" + +#Playlist +PL_B_1 : "🚀 Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„" +PL_B_2 : "✚ اØļ؁ Ų„Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„ØĒØ´ØēŲŠŲ„" +PL_B_3 : "✚ Ø§ŲˆØ§Ų…Øą اØļØ§ŲŲŠØŠ" +PL_B_4 : "📡 ؈ØļØš Ø§Ų„ØĒØ´ØēŲŠŲ„" +PL_B_5 : "🔄 Ų…ØŗØ­ ŲƒŲ„ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„" +PL_B_6 : "â†—ī¸ Ų…ØŗØ­ Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„ØĒØ´ØēŲŠŲ„" +PL_B_7 : "â—ī¸ Ų†ØšŲ… Ø§Ų†Ø§ Ų…ØĒØ§ŲƒØ¯ ، Ø§Ø­Ø°ŲŲ‡Ø§ " +PL_B_8 : "đŸ”ĸ Ø§Ų„ØĒŲˆØ¨ 10" +PL_B_9 : "🤖 ØĒØ´ØēŲŠŲ„ Ø§Ų„ØĒŲˆØ¨ 10 اØēØ§Ų†ŲŠ" +PL_B_10 : "🏘 ØĒØ´ØēŲŠŲ„ ØĒŲˆØ¨ 10 Ų„Ų‡Ø°Ø§ Ø§Ų„ŲƒØąŲˆØ¨ " +PL_B_11 : "👤 ØĒØ´ØēŲŠŲ„ ØĒŲˆØ¨ 10 Ø§Ų„ØŽØ§ØĩØŠ Ø¨ŲŠ " + +#Settings +ST_B_1 : "🔊 ØŦŲˆØ¯ØŠ Ø§Ų„Øĩ؈ØĒ" +ST_B_2 : "đŸŽĨ ØŦŲˆØ¯ØŠ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ" +ST_B_3 : "🎩 Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ†" +ST_B_4 : "📱 Ų„ŲˆØ­ØŠ Ø§Ų„ØĒØ­ŲƒŲ…" +ST_B_5 : "â–ļī¸ ؈ØļØš Ø§Ų„ØĒØ´ØēŲŠŲ„" +ST_B_6 : "🇮đŸ‡ļ Ø§Ų„Ų„ØēØŠ " +ST_B_7 : "🔄 Ø§Ų„ŲˆØļØš Ø§Ų„Ų†Ø¸ŲŠŲ" +ST_B_8 : "{0} ØŦŲˆØ¯ØŠ ØļØšŲŠŲØŠ " +ST_B_9 : "{0} ØŦŲˆØ¯ØŠ Ų…ØĒŲˆØŗØˇØŠ " +ST_B_10 : "{0} ØŦŲˆØ¯ØŠ ØšØ§Ų„ŲŠØŠ " +ST_B_11 : "{0} ØŦŲˆØ¯ØŠ ØļØšŲŠŲØŠ " +ST_B_12 : "{0} ØŦŲˆØ¯ØŠ Ų…ØĒŲˆØŗØˇØŠ " +ST_B_13 : "{0} ØŦŲˆØ¯ØŠ ØšØ§Ų„ŲŠØŠ " +ST_B_14 : "✅ ØĒŲØšŲŠŲ„" +ST_B_15 : "❌ ØĒØšØˇŲŠŲ„ " +ST_B_16 : "👤 Ø§Ų„Ų…Ø´ØąŲŲŠŲ†" +ST_B_17 : "đŸ‘Ĩ Ų„Ų„ØŦŲ…ŲŠØš " +ST_B_18 : "📋 Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ†" +ST_B_19 : "🔎 ؈ØļØš Ø§Ų„Ø¨Ø­ØĢ" +ST_B_20 : "✅ Ų…Ø¨Ø§Ø´Øą" +ST_B_21 : "✅ Ø˛Øą Ø§Ų†Ų„Ø§ŲŠŲ†" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Ø§ŲˆØ§Ų…Øą Ø§Ų„Ø§Ø¯Ų…Ų†" +ST_B_23 : "🏘 Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ " +ST_B_24 : "🏷 Ø§Ų„Ų‚Ų†Ø§ØŠ " +ST_B_25 : "đŸĢ‚ Ø§ŲˆØ§Ų…Øą Ø§Ų„ØĒØ´ØēŲŠŲ„" +ST_B_26 : "🗑 Ų…ØŗØ­ Ø§Ų„Ø§ŲˆØ§Ų…Øą" +ST_B_27 : "🧑‍🚀 ؈ØļØš Ø§Ų„Ø§Ų‚ØĒØąØ§Ø­Ø§ØĒ" + +#Song +SG_B_1 : "â†—ī¸ ؁ØĒØ­ ؁؊ Ų…Ø­Ø§Ø¯ØĢØŠ ؎اØĩØŠ" +SG_B_2 : "🔊 Øĩ؈ØĒ" +SG_B_3 : "đŸŽĨ ŲŲŠØ¯ŲŠŲˆ" + +#Stats +SA_B_1 : "đŸ“ĸ ØĒŲˆØ¨ 10 Ų…ØŦŲ…ŲˆØšØ§ØĒ" +SA_B_2 : "đŸ”ĸ ØĒŲˆØ¨ 10 اØēØ§Ų†ŲŠ" +SA_B_3 : "🧛 ØĒŲˆØ¨ 10 Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ†" +SA_B_4 : "🏷 ØĒŲˆØ¨ 10 Ų‡Ų†Ø§" +SA_B_5 : "💡 Ø§Ų„Ų…ØšŲ„ŲˆŲ…Ø§ØĒ Ø§Ų„ØšØ§Ų…ØŠ" +SA_B_6 : "👤 Ø­Ø§Ų„ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…" +SA_B_7 : "đŸ”ĸ ØĒŲˆØ¨ 10 ØšØ§Ų„Ų…ŲŠØ§" +SA_B_8 : "🤖 Ų…ØšŲ„ŲˆŲ…Ø§ØĒ Ø§Ų„Ø¨ŲˆØĒ" + +#Queue +QU_B_1 : "📑 Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą" +QU_B_2 : "Ø´ŲØēŲ„ØĒ {0} Ų…Ų† اØĩŲ„ {1} Ø¯Ų‚ŲŠŲ‚ØŠ" + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ų…ØˇŲˆØą Ų…ØŗØ¨Ų‚Ų‹Ø§." +sudo_2 : "ØŖØļ؊؁ **{0}** Ø§Ų„Ų‰ Ų…ØˇŲˆØąŲŠŲ† Ø§Ų„Ø¨ŲˆØĒ." +sudo_3 : "Ų„ØŗØĒ ØŦØ˛ØĄ Ų…Ų† Ų…ØˇŲˆØąŲŠŲ† Ø§Ų„Ø¨ŲˆØĒ." +sudo_4 : "ØĒŲ… Ø­Ø°ŲŲ‡ Ų…Ų† Ø§Ų„Ų…ØˇŲˆØąŲŠŲ†" +sudo_5 : "â­ī¸ **Ø§Ų„Ų…Ø§Ų„ŲƒŲŠŲ†:**\n" +sudo_6 : "\nâ­ī¸ **Ø§Ų„Ų…ØˇŲˆØąŲŠŲ†:**\n" +sudo_7 : "Ų„Ø§ ؊؈ØŦد Ų…ØˇŲˆØąŲŠŲ†" + +#Block +block_1 : "{0} Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ų…Ø­Ø¸ŲˆØą Ų…ØŗØ¨Ų‚Ø§." +block_2 : "ØŖØļ؊؁ **{0}** Ų„Ų„Ų…Ø­Ø¸ŲˆØąŲŠŲ† Ų…Ų† Ø§Ų„Ø¨ŲˆØĒ.Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ø§Ų„Ø§Ų† Ų…Ų…Ų†ŲˆØš Ų…Ų† Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§ŲŠ Ø§Ų…Øą ؁؊ Ø§Ų„Ø¨ŲˆØĒ ØĒØ­ØĒ ØŖŲŠ Ø¸ØąŲˆŲ .\n\nCØĒŲØ­Øĩ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…Ø­Ø¸ŲˆØąŲˆŲ†: /blockedusers" +block_3 : "Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ų„ŲŠØŗØĒ ØšŲ„ŲŠŲ‡ ØŖŲŠ Ų‚ŲŠŲˆØ¯ Ų…ØŗØ¨Ų‚Ø§." +block_4 : "ØĒŲ… Ø­Ø°Ų Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ų…Ų† Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ų…Ø­Ø¸ŲˆØąŲŠŲ†. Ø§Ų„Ų…ØŗØĒØŽØ¯Ų… Ø§Ų„Ø§Ų† Ø­ŲØą." +block_5 : "Ų„Ø§ ؊؈ØŦد Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ų…Ø­Ø¸ŲˆØąŲˆŲ†" +block_6 : "ØŦŲ„Ø¨ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…Ø­Ø¸ŲˆØąŲŠŲ† ... Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą " +block_7 : "**Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† Ø§Ų„Ų…Ø­Ø¸ŲˆØąŲˆŲ†:**\n\n" + +#Blacklist Chats +black_1 : "**Ų…ØĢØ§Ų„:**\n/blacklistchat [Ø§ŲŠØ¯ŲŠ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ]" +black_2 : "Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ Ø¨Ø§Ų„ŲØšŲ„ Ų…Ø­Ø¸ŲˆØąØŠ." +black_3 : "ØĒŲ… Ø­Ø¸Øą Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ ✅" +black_4 : "**Ų…ØĢØ§Ų„:**\n/whitelistchat [Ø§ŲŠØ¯ŲŠ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ]" +black_5 : "Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ Ų„ŲŠØŗØĒ Ø¨Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡ Ø§ØŗØ§ØŗØ§." +black_6 : "ØĒŲ… Ø§Ø˛Ø§Ų„ØŠ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ Ų…Ų† Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ų…Ø­Ø¸ŲˆØąØŠ" +black_7 : "**Ø§Ų„Ų…ØŦŲ…ŲˆØšØ§ØĒ Ø§Ų„Ų…Ø­Ø¸ŲˆØąØŠ:**\n\n" +black_8 : "Ų„Ø§ ØĒ؈ØŦد Ų…ØŦŲ…ŲˆØšØ§ØĒ Ų…Ø­Ø¸ŲˆØąØŠ" + +#videolimit +vid_1 : "**Ų…ØĢØ§Ų„:**\n/set_video_limit [ØąŲ‚Ų… Ø§Ų„Ø­Ø¯ Ø§Ų„Ø§Ų‚ØĩŲ‰ Ø§Ų„Ų…ØŦŲ…ŲˆØšØ§ØĒ Ø§Ų„Ų„ŲŠ ØĒØ´ØēŲ„ ŲŲŠØ¯ŲŠŲˆ Ų†ŲØŗ Ø§Ų„ŲˆŲ‚ØĒ ] ØŖŲˆ [disable]" +vid_2 : "ŲŠØąØŦŲ‰ Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„ØŖØąŲ‚Ø§Ų… Ø§Ų„ØąŲ‚Ų…ŲŠØŠ Ų„ØĒØ­Ø¯ŲŠØ¯ Ø§Ų„Ø­Ø¯." +vid_3 : "ØĒŲ… ØĒØēŲŠŲŠØą Ø§Ų„Ø­Ø¯ Ø§Ų„Ø§Ų‚ØĩŲ‰ Ų„Ø¨ØĢ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ø§Ų„Ų‰ {0} Ų…ØŦŲ…ŲˆØšØŠ." +vid_4 : "ØĒŲ… ØĒØšØˇŲŠŲ„ Ø§Ų„Ø­Ø¯ Ø§Ų„Ø§Ų‚ØĩŲ‰ ، اØĩبحØĒ ØšØ§Ų…ØŠ" + +#maintenance +maint_1 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/maintenance [disable | enable]" +maint_2 : "Ų…Ų…ŲƒŲ† Ų„Ų„ØĩŲŠØ§Ų†ØŠ" +maint_3 : "؈ØļØš Ø§Ų„ØĩŲŠØ§Ų†ØŠ Ų…ØšØˇŲ„" + +#log +log_1 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/logger [enable | disable]" +log_2 : "ØĒŲ…ŲƒŲŠŲ† Ø§Ų„ØĒØŗØŦŲŠŲ„" +log_3 : "ØĒØŗØŦŲŠŲ„ ØĒØšØˇŲŠŲ„" + +#videomode +vidmode_1 : "**Ø§Ų„Ø§ØŗØĒØšŲ…Ø§Ų„:**\n/videomode [download|m3u8]" +vidmode_2 : "ØĒŲ… ØĒØšŲŠŲŠŲ† ؈ØļØš ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ØšŲ„Ų‰ ØŖŲ†Ų‡ Ø¨ØąŲ†Ø§Ų…ØŦ ØĒŲ†Ø˛ŲŠŲ„. ØŗŲŠŲ‚ŲˆŲ… Ø§Ų„Ø¨ŲˆØĒ بØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ų…ØŗØ§ØąØ§ØĒ Ø§Ų„ØĸŲ†." +vidmode_3 : "ØĒŲ… ØĒØšŲŠŲŠŲ† ؈ØļØš ØĒØ´ØēŲŠŲ„ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ØšŲ„Ų‰ m3u8. Ø§Ų„ØąŲˆØ¨ŲˆØĒ ØŗŲŠØĒŲ… ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ØŗØ§ØąØ§ØĒ Ų…Ø¨Ø§Ø´ØąØŠ Ø§Ų„ØĸŲ†." + +#broadcast +broad_1 : "**ØĒØĒŲ… Ø§Ų„Ø§Ø°Ø§ØšŲ‡ ؁؊ {0} Ų…ØŦŲ…ŲˆØšØŠ Ų…Øš {1} Ø§Ų„ØĒØĢØ¨ŲŠØĒ Ų…Ų† Ų‚Ø¨Ų„ Ø§Ų„Ø¨ŲˆØĒ .**" +broad_2 : "؊ØĒŲ… Ø§Ø°Ø§ØšŲ‡ Ø§Ų„Ø­ØŗØ§Ø¨ Ø§Ų„Ų…ØŗØ§ØšØ¯..." +broad_3 : "**بØĢ Ø§Ų„Ų…ØŗØ§ØšØ¯:**\n\n" +broad_4 : "Ø§Ų„Ø­ØŗØ§Ø¨ Ø§Ų„Ų…ØŗØ§ØšØ¯ {0} اذاؚ ؁؊ {1} Ų…ØŦŲ…ŲˆØšØŠ\n" +broad_5 : "**Ų…ØĢØ§Ų„**:\n/broadcast [Ø§Ų„Ø§Ø°Ø§ØšØŠ] Ø§Ųˆ [Ø¨Ø§Ų„ØąØ¯ ØšŲ„Ų‰ Ø§Ų„ØąØŗØ§Ų„ØŠ]" +broad_6 : "Ø§Ų„ØąØŦØ§ØĄ ؃ØĒاب؊ Ø§Ų„Ø§Ø°Ø§ØšŲ‡ Ų…Øš Ø§Ų„Ø§Ų…Øą." +broad_7 : "**Ø§Ø°ŲŠØšØĒ Ø§Ų„ØąØŗØ§Ų„ØŠ Ø§Ų„Ų‰ {0} Ų…Ø´ØĒØąŲƒ.**" + +#Heroku +heroku_1 : "Please make sure your Heroku API Key, Your App name are configured correctly in the heroku" +heroku_2 : "You can only get logs of Heroku Apps" +heroku_3 : "**Usage:**\n/get_var [Var Name]" +heroku_4 : "Unable to find any such var." +heroku_5 : ".env file not found." +heroku_6 : "**Usage:**\n/del_var [Var Name]" +heroku_7 : "{0} Deleted." +heroku_8 : "**Usage:**\n/set_var [Var Name] [Var Value]" +heroku_9 : "{0} has been updated successfully" +heroku_10 : "{0} has been added successfully" +heroku_11 : "Only for Heroku Apps" +heroku_12 : "Checking Heroku Usage. Please Wait" +heroku_13 : "Checking for available updates..." +heroku_14 : "Git Command Error" +heroku_15 : "Invalid Git Repsitory" + +#Private bot mode +pbot_1 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/authorize [Ų…ØšØąŲ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ]" +pbot_2 : "**ØĨØŗØĒØšŲ…Ø§Ų„:**\n/unauthorize [Ų…ØšØąŲ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ]" +pbot_3 : "ØĒŲ…ØĒ ØĨØļØ§ŲØŠ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Ų…ØšŲŠŲ†ØŠ ØĨŲ„Ų‰ Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØĩØąØ­ Ø¨Ų‡Ø§" +pbot_4 : "ØĒŲ…ØĒ ØĨØ˛Ø§Ų„ØŠ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Ų…ØšØˇØ§ØŠ Ų…Ų† Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØĩØąØ­ Ø¨Ų‡Ø§" +pbot_5 : "Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ų…ŲˆØŦŲˆØ¯ØŠ Ø¨Ø§Ų„ŲØšŲ„ ؁؊ Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØĩØąØ­ Ø¨Ų‡Ø§" +pbot_6 : "Ų„Ø§ ØĒ؈ØŦد Ų…ØĢŲ„ Ų‡Ø°Ų‡ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ ؁؊ Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØĩØąØ­ Ø¨Ų‡Ø§" +pbot_7 : "ŲØ´Ų„ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ų…ØšØąŲ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ.\n\nØĒØŖŲƒØ¯ Ų…Ų† ØŖŲ†Ų‡ ØąŲ‚Ų…ŲŠ ؈ØĩØ­ŲŠØ­. Ų„Ø§ ØĒØŗØĒØŽØ¯Ų… Ø§ØŗŲ… Ų…ØŗØĒØŽØ¯Ų… Ø§Ų„Ø¯ØąØ¯Ø´ØŠ ØŖŲˆ Ø§Ų„ØąŲˆØ§Ø¨Øˇ." +pbot_8 : "Ø§Ų„ØąØŦØ§ØĄ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą .... ØĨØ­ØļØ§Øą Ø§Ų„Ø¯ØąØ¯Ø´Ø§ØĒ Ø§Ų„Ų…ØĩØąØ­ Ø¨Ų‡Ø§." +pbot_9 : "**Ø§Ų„Ø¯ØąØ¯Ø´Ø§ØĒ Ø§Ų„ØĒ؊ ØĒŲ… ØŦŲ„Ø¨Ų‡Ø§:**\n\n" +pbot_10 : "Ø¯ØąØ¯Ø´ØŠ ؎اØĩØŠ" +pbot_11 : "Ų„Ų… ؊ØĒŲ… Ø§Ų„ØšØĢŲˆØą ØšŲ„Ų‰ Ų…Ø­Ø§Ø¯ØĢاØĒ Ų…ØĩØąØ­ Ø¨Ų‡Ø§" +pbot_12 : "؈ØļØš Ø§Ų„ØąŲˆØ¨ŲˆØĒ Ø§Ų„ØŽØ§Øĩ Ų…ØšØˇŲ„.\n\nŲ„Ø§ØŗØĒØŽØ¯Ø§Ų… Ø§Ų„ØąŲˆØ¨ŲˆØĒ Ø§Ų„ØŽØ§Øĩ Ø¨Ųƒ ŲƒØ¨ŲˆØĒ ؎اØĩ ، ØĒØŖŲƒØ¯ Ų…Ų† Ø§Ų„ØĒØšŲŠŲŠŲ† **PRIVATE_BOT_MODE** = **True**" +pbot_13 : "\n**Ø§Ų„Ø¯ØąØ¯Ø´Ø§ØĒ Ø§Ų„ØĒ؊ Ų„Ų… ؊ØĒŲ… ØĨØ­ØļØ§ØąŲ‡Ø§:**\n\n" + + +#Gbanned +gban_1 : ØĒØąŲŠØ¯ ØĒØ­Ø¸Øą ØąŲˆØ­Ųƒ ؟ Ø§Ų„Ø­Ų…Ø¯ Ų„Ų„Ų‡ ŲˆØ§Ų„Ø´ŲƒØą !" +gban_2 : "ŲŠØšŲ†ŲŠ Ų‡ØŗØŠ Ų„Ø§Ø˛Ų… Ø§Ø­Ø¸Øą Ų†ŲØŗŲŠ ؟ ØļØ­ŲƒŲƒ" +gban_3 : "ŲƒŲ„ ØšŲ‚Ų„Ųƒ ØĒØąŲŠØ¯ ØĒØ­Ø¸ØąØŠ ŲˆŲ‡Ųˆ Ų…ØˇŲˆØą ?" +gban_4 : "{0} Ų‡Ųˆ Ø¨Ø§Ų„ŲØšŲ„ **Ų…Ø­Ø¸ŲˆØą** Ų…Ų† Ø§Ų„Ø¨ŲˆØĒ." +gban_5 : "**ØŦØ§ØąŲŠ اؚاد؊ ØļØ¨Øˇ Ø§Ų„Ų…Ø­Ø¸ŲˆØąŲŠŲ† {0}**\n\nØ§Ų„ŲˆŲ‚ØĒ Ø§Ų„Ų…ØĒŲˆŲ‚Øš : {1}." +gban_6 : "**ØĒŲ… Ø­Ø¸ØąŲ‡**\n\nŲ…Ø­Ø¸ŲˆØą **{0}** Ų…Ų† **{1}** Ų…ØŦŲ…ŲˆØšØŠ ." +gban_7 : "{0} ØēŲŠØą Ų…Ø­Ø¸ŲˆØą Ų…Ų† Ø§Ų„Ø¨ŲˆØĒ Ø­ØĒŲ‰ Ø§Ų„Ø§Ų† ." +gban_8 : "**؊ØĒŲ… Ø§Ų„Ø§Ų† {0}**\n\nØ§Ų„ŲˆŲ‚ØĒ Ø§Ų„Ų…ØĒŲˆŲ‚Øš : {1}." +gban_9 : "**ØĒŲ… Ø§Ų„ØēØ§ØĄ Ø­Ø¸ØąŲ‡ **\n\nØēŲŠØą Ų…Ø­Ø¸ŲˆØą **{0}** ؁؊ **{1}** Ų…ØŦŲ…ŲˆØšŲ‡." +gban_10 : "Ø§Ų„Ų„Ų‡ ŲˆŲƒŲŠŲ„Ųƒ ŲØ§ØąØēŲ‡ ." +gban_11 : "ŲŠØąØŦŲ‰ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą Ų‚Ų„ŲŠŲ„Ø§.. ؊ØĒŲ… ØŦŲ„Ø¨ Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡" + +#Suggestions +sug_0 : "❓**Ų‡Ų„ ØĒØšŲ„Ų… ?**\n\n✅ " +sug_1 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ø§ØēØ§Ų†ŲŠ Ø¨ŲˆØļØšŲŠŲ† Ų…ØŽØĒŲ„ŲŲŠŲ† **؈ØļØš Ø§Ų„Ø¨Ø­ØĢ** i.e. Ø§Ų„ŲˆØļØš Ø§Ų„Ų…Ø¨Ø§Ø´Øą ŲˆØ§Ø˛ØąØ§Øą Ø§Ų„Ø§Ų†Ų„Ø§ŲŠŲ† .\n\nØēŲŠØą ؁؊ Ø§Ų„Ø§ŲˆØ§Ų…Øą Ų…Ų† /playmode" +sug_2 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø¨ŲˆØļØšŲŠŲ† **Ø§ŲˆØ§Ų…Øą Ø§Ų„ØĒØ´ØēŲŠŲ„** i.e. Ø§Ų„ØĒØ­ŲƒŲ… Ų„Ų„Ø§Ø¯Ų…Ų†ŲŠØŠ ŲŲ‚Øˇ ŲˆØ§Ų„ØĒØ­ŲƒŲ… Ų„ØŦŲ…ŲŠØš Ø§Ų„Ø§ØšØļØ§ØĄ .\n\nØēŲŠØą Ø§Ų„ØļŲˆØš Ų…Ų† ØŽŲ„Ø§Ų„ /playmode" +sug_3 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ **Ø§Ų„Ų‚Ų†ŲˆØ§ØĒ**.\n\nØļØš Ø§ŲŠØ¯ŲŠ Ø§Ų„Ų‚Ų†Ø§ØŠ /channelplay ŲˆØ´ØēŲ„ Ų…Ų† ØŖŲ…Øą /cplay " +sug_4 : "Ų„Ø§ ØŖØ­Ø¯ ŲŠØŗØĒØˇŲŠØš Ø§Ų† ؊ØĒØ­ŲƒŲ… ؁؊ Ø§Ų„Ø§ŲˆØ§Ų…Øą Ø­ØĒŲ‰ ؊ØļØ§Ų Ø§Ų„Ų‰** Ų‚Ø§ØĻŲ…Ų‡ Ø§Ų„Ų…ØšØĒŲ…Ø¯ŲŠŲ†**. \nاØļ؁ Ø§ŲŠ Ø´ØŽØĩ Ų„Ų„Ų‚Ø§ØĻŲ…Ų‡ Ų…Ų† ØŽŲ„Ø§Ų„ /auth , Ø§Ų…ØŗØ­Ų‡ Ø¨Ų€ /unauth ؈ØĒŲŲ‚Ø¯ Ø§Ų„Ų‚Ø§ØĻŲ…Ų‡ Ų…Ų† ØŽŲ„Ø§Ų„ /authusers" +sug_5 : "اذا ØĒŲ… ØĒŲØšŲŠŲ„ **؈ØļØš Ø§Ų„ØĒŲ†Ø¸ŲŠŲ**.\nØŗŲŠØ­Ø°Ų Ø§Ų„Ø¨ŲˆØĒ ØąØŗØ§ØĻŲ„Ų‡ بؚد 5 Ø¯Ų‚Ø§ØĻŲ‚ Ų„Ų„ØĒØ§ŲƒØ¯ Ų…Ų† Ø¨Ų‚Ø§ØĄ Ų…Ø­Ø§Ø¯ØĢØĒ؃ Ų†Ø¸ŲŠŲØŠ n.\n\nØĒŲ…ŲƒŲŠŲ† ØŖŲˆ ØĒØšØˇŲŠŲ„ Ø§Ų„ŲˆØļØš Ø§Ų„Ų†Ø¸ŲŠŲ Ų…Ų†/settings [__Enabled by default__]" +sug_6 : "ŲŠŲ…ŲƒŲ†Ųƒ ØŖŲŠØļŲ‹Ø§ ØĒØ´ØēŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ ŲˆŲ‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ ** Spotify **. \n\n Ø§Ø¨Ø¯ØŖ Ø§Ų„Ų„ØšØ¨ Ø§Ų„ØĸŲ† /play [Spotify Link]" +sug_7 : "ŲŠŲ…ŲƒŲ†Ųƒ ØŖŲŠØļŲ‹Ø§ ØĒØ´ØēŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ ŲˆŲ‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ ** Apple Music **. \n\n Ø§Ø¨Ø¯ØŖ Ø§Ų„Ų„ØšØ¨ Ø§Ų„ØĸŲ† Ø¨Ø§ØŗØĒØŽØ¯Ø§Ų… /play [Apple Link]" +sug_8 : "ŲŠŲ…ŲƒŲ†Ųƒ ØŖŲŠØļŲ‹Ø§ ØĒØ´ØēŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ ŲˆŲ‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ ** Resso Music **. \n\n Ø§Ø¨Ø¯ØŖ Ø§Ų„Ų„ØšØ¨ Ø§Ų„ØĸŲ† Ø¨Ø§ØŗØĒØŽØ¯Ø§Ų… /play [Resso Link]" +sug_9 : "ŲŠŲ…ŲƒŲ†Ųƒ ØŖŲŠØļŲ‹Ø§ ØĒØ´ØēŲŠŲ„ Ų…ØŗØ§ØąØ§ØĒ ŲˆŲ‚ŲˆØ§ØĻŲ… ØĒØ´ØēŲŠŲ„ ** Sound Cloud **. \n\n Ø§Ø¨Ø¯ØŖ Ø§Ų„Ų„ØšØ¨ Ø§Ų„ØĸŲ† /play [SoundCloud Link]" +sug_10 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØ´ØēŲŠŲ„ ** Ų…Ų‚Ø§ØˇØš ŲŲŠØ¯ŲŠŲˆ ** ؁؊ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ ØšØ¨Øą /vplay [Video Name] or /play -v [Video Name]" +sug_11 : "ŲŠŲ…ŲƒŲ†Ųƒ ØļØ¨Øˇ ** ØŦŲˆØ¯ØŠ Ø§Ų„Øĩ؈ØĒ ** Ų„Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ ØšŲ„Ų‰ Ų…Ų†ØŽŲØļØŠ ØŖŲˆ Ų…ØĒŲˆØŗØˇØŠ ØŖŲˆ ØšØ§Ų„ŲŠØŠ. \n\n اØļØ¨Øˇ Ø§Ų„ØŦŲˆØ¯ØŠ ØšØ¨Øą/settings" +sug_12 : "ŲŠŲ…ŲƒŲ†Ųƒ ØļØ¨Øˇ ** ØŦŲˆØ¯ØŠ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ ** Ų„Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ ØšŲ„Ų‰ Ų…Ų†ØŽŲØļØŠ ØŖŲˆ Ų…ØĒŲˆØŗØˇØŠ ØŖŲˆ ØšØ§Ų„ŲŠØŠ. \n\n اØļØ¨Øˇ Ø§Ų„ØŦŲˆØ¯ØŠ ØšØ¨Øą /settings" +sug_13 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† ** Ø§Ų„ØĨØ­ØĩاØĻŲŠØ§ØĒ ** Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ųƒ ØšŲ„Ų‰ Ø§Ų„ØąŲˆØ¨ŲˆØĒ Ų…ØĢŲ„ ØŖŲØļŲ„ 10 Ų…ØŗØ§ØąØ§ØĒ ØĒŲ… ØĒØ´ØēŲŠŲ„Ų‡Ø§. \n\n احØĩŲ„ ØšŲ„Ų‰ Ø§Ų„ØĨØ­ØĩاØĻŲŠØ§ØĒ: /gstats " +sug_14 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† ** ØĨØ­ØĩاØĻŲŠØ§ØĒ Ø§Ų„Ų…ØŦŲ…ŲˆØšØŠ ** ØšŲ„Ų‰ Ø§Ų„ØąŲˆØ¨ŲˆØĒ Ų…ØĢŲ„ ØŖŲØļŲ„ 10 Ų…ØŗØ§ØąØ§ØĒ ØĒŲ… ØĒØ´ØēŲŠŲ„Ų‡Ø§. \n\n احØĩŲ„ ØšŲ„Ų‰ Ø§Ų„ØĨØ­ØĩاØĻŲŠØ§ØĒ: /gstats " +sug_15 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† ** Ø§Ų„ØĨØ­ØĩاØĻŲŠØ§ØĒ Ø§Ų„ØšØ§Ų„Ų…ŲŠØŠ ** Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ø§Ų„Ø¨ŲˆØĒ Ų…ØĢŲ„ ØŖŲØļŲ„ 10 Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ† ŲˆØŖŲ‡Ų… 10 Ų…Ø­Ø§Ø¯ØĢاØĒ ŲˆØŖŲ‡Ų… 10 Ų…ØŗØ§ØąØ§ØĒ ŲˆŲ…Ø§ ØĨŲ„Ų‰ Ø°Ų„Ųƒ. \ n \ n ØĒØ­Ų‚Ų‚ Ų…Ų† Ø§Ų„ØĨØ­ØĩاØĻŲŠØ§ØĒ: /gstats " +sug_16 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĸŲ† ؃ØĒŲ… Øĩ؈ØĒ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ų‚ŲŠØ¯ Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ. \n\n ØŖŲ…Øą: /mute" +sug_17 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĸŲ† ØĨŲ„ØēØ§ØĄ ؃ØĒŲ… Øĩ؈ØĒ ؈؃ØĒŲ… Øĩ؈ØĒ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ Ø§Ų„ØĒ؊ ؊ØĒŲ… ØĒØ´ØēŲŠŲ„Ų‡Ø§ ؁؊ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ. \n\n Ø§Ų„ØŖŲ…Øą: /mute and /unmute" +sug_18 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„Ø¨Ø­ØĢ Ų…ØšŲ†Ø§ ØŖŲŠØļŲ‹Ø§ ؁؊ ŲƒŲ„Ų…Ø§ØĒ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ .. \n\n Ø§Ų„ØŖŲ…Øą: /lyrics [Music Name]" +sug_19 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒŲ†Ø˛ŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ØŖŲˆ Ø§Ų„ŲŲŠØ¯ŲŠŲˆ Ų…Ų† Ø§Ų„ØąŲˆØ¨ŲˆØĒ Ų…Ų† ØŽŲ„Ø§Ų„ Youtube. \n\n Ø§Ų„ØŖŲ…Øą: /song [Ø§ØŗŲ… Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰]" +sug_20 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„Ø­ØĩŲˆŲ„ ØšŲ„Ų‰ Ų‚Ø§ØĻŲ…ØŠ ŲƒØ§Ų…Ų„ØŠ Ø¨Ø§Ų„ØŖŲˆØ§Ų…Øą Ø§Ų„ØĒ؊ ØŖŲ‚Ø¨Ų„Ų‡Ø§. \n\n Ø§Ų„ØŖŲ…Øą: /help" +sug_21 : "ŲŠØ­ØĒ؈؊ Ø§Ų„ØąŲˆØ¨ŲˆØĒ ØšŲ„Ų‰ ØŽŲŠØ§Øą Ų‚Ø§ØĻŲ…ØŠ ØĒØ´ØēŲŠŲ„ ØšŲ„Ų‰ ØŦØ§Ų†Ø¨ Ø§Ų„ØŽØ§Ø¯Ų…. \n\n ŲŠŲ…ŲƒŲ†Ųƒ ØĨØļØ§ŲØŠ Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„ØĒØ´ØēŲŠŲ„ ؈ØĒØ´ØēŲŠŲ„Ų‡Ø§ ØŦŲ…ŲŠØšŲ‹Ø§ Ų…ØšŲ‹Ø§ ØšØ¨Øą /play" +sug_22 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĸŲ† ØĒØ¨Ø¯ŲŠŲ„ Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰ ؁؊ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą ØšŲ„Ų‰ Ø§Ų„ØąŲˆØ¨ŲˆØĒ ØšØ´ŲˆØ§ØĻŲŠŲ‹Ø§.\n\n Ø§Ų„ØŖŲ…Øą: /shuffle" +sug_23 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ų‚Ø§ØĻŲ…ØŠ Ø§Ų†ØĒØ¸Ø§Øą Ø§Ų„Ų…ŲˆØŗŲŠŲ‚Ų‰.\n\nØ§Ų„ØŖŲ…Øą: /queue" +sug_24 : "ŲŠŲ…ŲƒŲ†Ųƒ Ø§Ų„ØĒØ­Ų‚Ų‚ Ų…Ų† Ø§Ų„Ų…Ø§Ų„Ųƒ ŲˆŲ…ØŗØĒØŽØ¯Ų…ŲŠ sudo Ø§Ų„Ø°ŲŠŲ† ŲŠØ¯ŲŠØąŲˆŲ†Ų†ŲŠ. \n\n Ø§Ų„ØŖŲ…Øą: /sudolist" +sug_25 : "ŲŠØ­ØĒ؈؊ Ø§Ų„Ø¨ŲˆØĒ ØšŲ„Ų‰ Ų…ŲŠØ˛ØŠ ØĒØŗŲ…Ų‰ ** ؈ØļØš Ø­Ø°Ų Ø§Ų„ØŖŲˆØ§Ų…Øą **. ŲŠŲ‚ŲˆŲ… Ø¨Ø­Ø°Ų Ø§Ų„ØŖŲˆØ§Ų…Øą Ø§Ų„Ų…Ų†ŲØ°ØŠ Ø§Ų„ØŽØ§ØĩØŠ Ø¨Ų‡ ØĒŲ„Ų‚Ø§ØĻŲŠŲ‹Ø§. \ n \ n ØĒŲ…ŲƒŲŠŲ† ØŖŲˆ ØĒØšØˇŲŠŲ„ Ø§Ų„Ø­Ø°Ų Ų…Ų† /settings [__Enabled by default__]" +sug_26 : "ŲŠŲ…ŲƒŲ†Ųƒ ØĒØēŲŠŲŠØą Ų„ØēØŠ Ø§Ų„ØąŲˆØ¨ŲˆØĒ ØĨŲ„Ų‰ Ø§Ų„Ų„ØēاØĒ Ø§Ų„Ų…ØĒاح؊ Ų„ŲŲ‡Ų…Ų‡Ø§ Ø¨ØŗŲ‡ŲˆŲ„ØŠ.\n\nØŖŲ…Øą: /language" +sug_27 : "ŲŠØ­ØĒ؈؊ Ø§Ų„ØąŲˆØ¨ŲˆØĒ ØšŲ„Ų‰ Ų…ŲŠØ˛ØŠ ØĒØŗŲ…Ų‰ ** Ų‚ŲˆØŠ Ø§Ų„Ų„ØšØ¨ **.\n\n** Ų‚ŲˆØŠ Ø§Ų„Ų„ØšØ¨ ** ŲŠŲˆŲ‚Ų Ų…ØŗØ§Øą Ø§Ų„ØĒØ´ØēŲŠŲ„ ؁؊ Ø§Ų„Ø¯ØąØ¯Ø´ØŠ Ø§Ų„Øĩ؈ØĒŲŠØŠ ŲˆŲŠØ¨Ø¯ØŖ ؁؊ ØĒØ´ØēŲŠŲ„ Ø§Ų„Ų…ØŗØ§Øą Ø§Ų„Ø°ŲŠ ØĒŲ… Ø§Ų„Ø¨Ø­ØĢ ØšŲ†Ų‡ ØšŲ„Ų‰ Ø§Ų„ŲŲˆØą Ø¯ŲˆŲ† ØĨØ˛ØšØ§ØŦ / Ų…ØŗØ­ Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ø§Ų†ØĒØ¸Ø§Øą. \ n \ n Ø§Ų„ØŖŲ…Øą: /playforce" + diff --git a/strings/langs/az.yml b/strings/langs/az.yml new file mode 100644 index 0000000000000000000000000000000000000000..9e1995f19dcea941ea3d86036a97458f051a5d96 --- /dev/null +++ b/strings/langs/az.yml @@ -0,0 +1,421 @@ +name : đŸ‡ĻđŸ‡ŋ Azerbaycan + +# General Strings +general_1 : "İstifadəçinin mesajÄąna cavab verin və ya istifadəçi adÄą/user_id-ni verin." +general_2 : "Xəta! KomandanÄąn YanlÄąÅŸ İstifadəsi." +general_3 : "Sorğunuzu emal edərkən bəzi **istisna baş verdi**.\n\nİstisna nÃļvÃŧ:- {0}" +general_4 : "Siz bu sÃļhbət qrupunda anonim adminsiniz!\nAdmin HÃŧquqlarÄąndan İstifadəçi HesabÄąna qayÄądÄąn." +general_5 : "Bu əməliyyatÄą yerinə yetirmək ÃŧçÃŧn səsli sÃļhbət hÃŧquqlarÄąnÄą idarə edən admin olmalÄąsÄąnÄąz." +general_6 : "Bot səsli sÃļhbətdə yayÄąmlanmÄąr." + +# Classes - Telegram.py +tg_1 : "Bot hazÄąrda endirmələrlə **həddən artÄąq yÃŧklənib**.\n\n**Sonra cəhd edin:** {0} (__gÃļzlənilən vaxt__)" +tg_2 : "Telegramdan media yÃŧkləmək alÄąnmadÄą." + +# Core - Call.py +call_1 : "Bot kÃļməkçi hesabÄąnÄą kanalÄąnÄąza dəvət etmək ÃŧçÃŧn **Admin** İcazəsi tələb edir.\n\nKanal oynatma rejimini : /playmode vasitəsilə deaktiv edin" +call_2 : "Qrupunuzda və ya kanalÄąnÄązda Assistent qadağan edilib, lÃŧtfən, qadağanÄą ləğv edin.\n\n**Assistent İstifadəçi AdÄą:** @{0}\n**Assistent ID:** {1}" +call_3 : "Assistent HesabÄąnÄą sÃļhbətinizə dəvət edərkən İstisna baş verdi.\n\n**Səbəb**: {0}" +call_4 : "Bot **Link vasitəsilə İstifadəçiləri Dəvət Et** KÃļməkçi hesabÄąnÄą sÃļhbət qrupunuza dəvət etmək ÃŧçÃŧn icazə tələb edir." +call_5 : "Assistent HesabÄą 5 Saniyəyə qoşulacaq. Zəhmət olmasa GÃļzləyin!" +call_6 : "Assistent HesabÄą[{0}] Uğurla Qoşuldu.\n\nMusiqi İndi BaşlayÄąr" +call_7 : "**Zərərli Admin hÃŧququ verilir **\n\nLÃŧtfən, botdan **İSTİFADƏÇİLƏRİ QADANAN** hÃŧquqlarÄąnÄą silin." +call_8 : "**Zərərli Admin hÃŧququ verilir **\n\nLÃŧtfən, botdan **YENİ ADMINSƏLƏMƏ** hÃŧquqlarÄąnÄą silin." +call_9 : "**YayÄąmÄą dəyişmək alÄąnmadÄą**\nTresi yenidən dəyişmək ÃŧçÃŧn /skip istifadə edin." +call_10 : "Pleylistdən nÃļvbəti trek endirilir" +call_11 : "LÃŧtfən, kanalÄąnÄąza @{0} əlavə edin[ ID: {1}].\n\nBot kanal təfərrÃŧatlarÄąnÄą əldə edə bilmir." + +# PLUGINS - Auth.py +auth_1 : "Qrupunuzun Səlahiyyətli İstifadəçilər SiyahÄąsÄąnda (AUL) yalnÄąz 20 İstifadəçi ola bilər" +auth_2 : "Qrupunuzun Səlahiyyətli İstifadəçilər SiyahÄąsÄąna əlavə edildi." +auth_3 : "ArtÄąq Səlahiyyətli İstifadəçilər SiyahÄąsÄąndadÄąr." +auth_4 : "Bu Qrupun Səlahiyyətli İstifadəçiləri SiyahÄąsÄąndan Silindi." +auth_5 : "Hədəf edilmiş istifadəçi Səlahiyyətli İstifadəçi deyil." +auth_6 : "İcazəli İstifadəçilər gÃļtÃŧrÃŧlÃŧr... LÃŧtfən gÃļzləyin" +auth_7 : "**Səlahiyyətli İstifadəçilər SiyahÄąsÄą[AUL]:**\n\n" +auth_8 : "┗ Əlavə edib:-" + +# PLUGINS - Admins +admin_1 : "Musiqi artÄąq dayandÄąrÄąlÄąb." +admin_2 : "🎧 Səsli sÃļhbət {} tərəfindən dayandÄąrÄąldÄą!" +admin_3 : "Musiqi artÄąq davam etdirilib." +admin_4 : "🎧 Səsli sÃļhbət {} tərəfindən davam etdirildi!" +admin_5 : "Musiqi artÄąq səssizdir." +admin_6 : "🎧 Səsli sÃļhbət {} tərəfindən susduruldu!" +admin_7 : "Musiqi artÄąq səssizdir." +admin_8 : "🎧 Səsli sÃļhbət {} tərəfindən səssizdən Ã§ÄąxarÄąldÄą!" +admin_9 : "🎧 Səsli sÃļhbət {} tərəfindən bitdi/dayandÄąrÄąldÄą!" +admin_10 : "🎧 Səsli sÃļhbət {} tərəfindən atlandÄą!. NÃļvbədə daha musiqi yoxdur." +admin_11 : "YayÄąm **{0}** olaraq dəyişdirilərkən xəta baş verdi.\n\nLÃŧtfən, yenidən /skip istifadə edin." +admin_12 : "Aktivləşdirilmiş loop ifasÄąna gÃļrə xÃŧsusi treki keçmək mÃŧmkÃŧn deyil. LÃŧtfən, bu funksiyadan istifadə etmək ÃŧçÃŧn `/loop disable` vasitəsilə loop ifasÄąnÄą deaktiv edin." +admin_13 : "XÃŧsusi treklər ÃŧçÃŧn rəqəmli nÃļmrələrdən istifadə edin, məsələn, 1, 2 və ya 4 və s." +admin_14 : "XÃŧsusi nÃļmrəyə keçmək ÃŧçÃŧn nÃļvbəyə ən azÄą 2 trek lazÄąmdÄąr. NÃļvbəni /nÃļvbə ilə yoxlayÄąn" +admin_15 : "Sizin verdiyiniz dəyər ÃŧçÃŧn nÃļvbədə kifayət qədər trek yoxdur. LÃŧtfən, 1 və {0} arasÄąnda rəqəmlər seçin" +admin_16 : "XÃŧsusi treki keçmək alÄąnmadÄą.\n\nSol nÃļvbəni /queue ilə yoxlayÄąn" +admin_17 : "{0}.. Zəhmət olmasa gÃļzləyin" +admin_18 : "Admin SiyahÄąsÄą TapÄąlmadÄą\n\nLÃŧtfən, /admincache və ya /reload vasitəsilə admin siyahÄąsÄąnÄą yenidən yÃŧkləyin" +admin_19 : "Bunu həyata keçirmək ÃŧçÃŧn səsli çatÄą idarə etmək hÃŧququ olan admin olmalÄąsÄąnÄąz.\nƏgər siz artÄąq adminsinizsə, /admincache vasitəsilə admincache yenidən yÃŧkləyin " +admin_20 : "Admin keşi uğurla yenidən yÃŧkləndi." +admin_21 : "NÃļvbədə qarÄąÅŸdÄąrmaq ÃŧçÃŧn heç nə yoxdur" +admin_22 : "QarÄąÅŸdÄąrmaq alÄąnmadÄą.\n\nNÃļvbəni yoxlayÄąn : /nÃļvbə" +admin_23 : "**NÃļvbə {0} tərəfindən qarÄąÅŸdÄąrÄąldÄą**\n\nQarÄąÅŸdÄąrÄąlmÄąÅŸ nÃļvbəni yoxlayÄąn : /nÃļvbə" +admin_24 : "**İstifadə:**\n/dÃļngÃŧ [enable/disable] və ya [1-10 arasÄą rəqəm]\n\n**Misal:** /dÃļngÃŧ 5" +admin_25 : "Loop {0} tərəfindən **{1}** dəfə aktivləşdirildi. Bot indi səsli çatda cari oxunan musiqini **{1}** dəfə təkrarlayacaq" +admin_26 : "LÃŧtfən, dÃļvrə oyunu ÃŧçÃŧn 1-10 arasÄą rəqəmlərdən istifadə edin" +admin_27 : "Loop Play qeyri-aktiv edilib" + +# Bot + +# Start +start_1 : "Məni {0}-da olduğunuz ÃŧçÃŧn təşəkkÃŧr edirəm.\n{1} sağdÄąr.\n\nHər hansÄą yardÄąm və ya yardÄąm ÃŧçÃŧn dəstək qrupumuzu və kanalÄąmÄązÄą yoxlayÄąn." +start_2 : "Salam, mənim adÄąm {0}.\n\nMənim bəzi faydalÄą xÃŧsusiyyətləri olan teleqram yayÄąm botuyam. Youtube, Spotify, Resso, AppleMusic, Soundcloud və s. kimi platformalarÄą istifadə edirəm.\n\nMəni qruplarÄąnÄąza əlavə etməkdən çəkinməyin." +start_3 : "Xoş gəlmisiniz {0}\n\nİşləmək ÃŧçÃŧn **admin icazəsinə** ehtiyacÄąm yoxdur ( tələb olunana qədər).\n\nAssistent İstifadəçi AdÄą:- @{1}\nAssistent ID-si:- {2} " +start_4 : "{0} Sahibi[{1}] indicə sÃļhbətinizə qoşulub." +start_5 : "{0} adlÄą istifadəçinin Sudo İstifadəçisinin[{1}] ÃŧzvÃŧ indicə sÃļhbətinizə qoşulub." +start_6 : "â—ī¸ **Superqrup lazÄąmdÄąr** â—ī¸\n\nLÃŧtfən, **qrupunuzu** **superqrupa** çevirin və sonra məni yenidən əlavə edin.\n\n**Superqrupu necə yaratmaq olar?**\n✅ Qrupunuzun sÃļhbət tarixçəsini bir dəfə **gÃļrÃŧnən** edin." +start_7 : "**Blacklisted Chat**\n\nYou're chat has been blacklisted by the Bot. Please ask any SudoUser to whitelist chat first. Check [Sudolist from here]({0})" + +# Help +help_1 : "ƏtraflÄą məlumat ÃŧçÃŧn aşağıdakÄą dÃŧymələrə klikləyin. Əgər komandada hər hansÄą problemlə Ãŧzləşsəniz, bot sahibimlə əlaqə saxlaya və ya dəstək çatÄąnda soruşa bilərsiniz.\n\nBÃŧtÃŧn əmrlər aşağıdakÄąlarla istifadə edilə bilər: /" +help_2 : "KÃļmək ÃŧçÃŧn PM-də mənimlə əlaqə saxlayÄąn." + +# Settings +settings_1 : "âš™ī¸ **Musiqi Botu Parametrləri**\n\n🖇**Qrup:** {0}\n🔖**Qrup ID-si:** `{1}`\n\n💡**FunksiyanÄą seçin Aşağıdan redaktə etmək və ya dəyişmək istədiyiniz dÃŧymələr.**" +settings_3 : "â‰ī¸ Bu nədir?\n\n1) Birbaşa: AxtarÄąÅŸ sorğularÄąnÄą birbaşa oxuyur. VideolarÄą birbaşa rejimdə oynamaq ÃŧçÃŧn -v dÃŧyməsini istifadə edin.\n\n2) Daxil: Video və audio arasÄąnda seçim etmək ÃŧçÃŧn Daxili İşarələmə DÃŧymələrini qaytarÄąr." +settings_4 : "â‰ī¸ Bu nədir?\n\nđŸ‘Ĩ Hər kəs: Bu qrupda mÃļvcud olan admin əmrlərindən (keçmə, fasilə, davam etdirmə və s.) hər kəs istifadə edə bilər.\n\n🙍 YalnÄąz Admin: YalnÄąz adminlər və səlahiyyətli istifadəçilər admin əmrlərindən istifadə edə bilər. ." +settings_5 : "Heç bir Səlahiyyətli İstifadəçi TapÄąlmadÄą\n\nSiz hər hansÄą qeyri-admin admin əmrlərimi /auth ilə istifadə etməyə və /unauth istifadə edərək silməyə icazə verə bilərsiniz" +settings_9 : "â‰ī¸ Bu nədir?\n\nAktivləşdirildikdə, Bot sÃļhbətinizi təmiz və aydÄąn etmək ÃŧçÃŧn {0} sonra mesajÄąnÄą siləcək." +settings_10 : "â‰ī¸ Bu nədir?\n\n1) Qrup: KomandanÄąn verildiyi qrupda musiqi ifa edir .\n\n2) Kanal: İstədiyiniz kanalda musiqi oxuyur. /channelplay vasitəsilə kanal id-sini təyin edin." +settings_11 : "â‰ī¸ Bu nədir?\n\n1) Hər kəs: Bu qrupda olan hər kəs burada musiqi ifa edə bilər.\n\n2) YalnÄąz Admin: Bu qrupda musiqini yalnÄąz adminlər ifa edə bilər." +settings_12 : "❌ Kanal rejimi ÃŧçÃŧn mÃŧəyyən edilmiş kanal id-si yoxdur. LÃŧtfən, /channelplay ilə mÃŧəyyən edin." +settings_13 : "Aktiv qrup zəngində ifa rejimini dəyişmək mÃŧmkÃŧn deyil. LÃŧtfən, əvvəlcə /stop ilə səsli sÃļhbəti dayandÄąrÄąn." +settings_14 : "â‰ī¸ Bu nədir?\n\nAktivləşdirildikdə, Bot icra etdiyi əmrləri (/oynat, /pauza, /qarÄąÅŸdÄąr, /dayan və s.) dərhal siləcək.\n\nBunun ÃŧçÃŧn bot admindən mesajlarÄąn silinməsini tələb edəcək. dÃŧzgÃŧn işləyin." +settings_15 : "Peer həll edilmədi, kanalÄąnÄąza bot əlavə etdiyinizə və onu admin kimi tanÄątdığınÄąza əmin olun.\n\nYenidən /channelplay-Äą quraşdÄąrmağa cəhd edin.." + +set_cb_1 : "Səs Keyfiyyəti Paneli əldə edilir..." +set_cb_2 : "Video Keyfiyyət Paneli əldə edilir..." +set_cb_3 : "İstifadəçilərin Auth Paneli əldə edilir..." +set_cb_4 : "Oynatma Rejimi Paneli əldə edilir..." +set_cb_5 : "Təmiz Rejim Paneli əldə edilir..." +set_cb_6 : "Dəyişikliklərin qurulmasÄą." +set_cb_7 : "Auth İstifadəçi SiyahÄąsÄą əldə edilir.. LÜTFEN GÖZLƏYİN." +set_cb_8 : "Geri qayÄądÄąram.." + +# Misc +ustats_1 : "Heç bir istifadəçi statistikasÄą tapÄąlmadÄą." +ustats_2 : "Salam!, Siz indiyə qədər **{1}** dəfə çoxlu sayda **{0}** trek ifa etmisiniz.\n\nƏn çox ifa etdiyiniz {2}:\n\n" + +gstats_1 : "Qlobal Statistika əldə edilir, bu bir az vaxt ala bilər..." +gstats_2 : "Heç bir statistika tapÄąlmadÄą." +gstats_3 : "Botda Qlobal Top 10 {0}-u əldə etmək, bu bir az vaxt apara bilər.." +gstats_4 : "**BotdakÄą Ümumi Sorğular:** {0}\n\n{1} indiyədək **{3}** dəfə çoxlu sayda **{2}** treki ifa edib.\n \n**Ən yaxÅŸÄą {4} trek:**\n" +gstats_5 : "**Ən YaxÅŸÄą {0} SÃļhbət {1}:**\n\n" +gstats_6 : "**Ən çox {1} istifadəçisi olan {0}:**\n\n" +gstats_7 : "Bu sÃļhbət qrupu indiyədək **{1}** dəfə çoxlu sayda **{0}** trek ifa edib.\n\nBu sÃļhbət qrupu tərəfindən ifa olunan ən yaxÅŸÄą {2}:\n\n" +gstats_8 : "Botun Ãŧmumi statistikasÄą və məlumatÄą əldə edilir.. Bu bir az vaxt ala bilər..." +gstats_9 : "**BOTUN ÜÇÜN QLOBAL 10 İSTATİSTİKASI**\n\nAşağıdan botun serverlərindən qlobal statistikanÄą yoxlamaq istədiyiniz dÃŧymələri seçin." +gstats_10 : "**{0} Ãŧzrə Qlobal Statistikalar**\n\nAşağıdan botun serverlərindən qlobal statistikanÄą yoxlamaq istədiyiniz dÃŧymələri seçin." +gstats_11 : "**{0} Ãŧzrə Ümumi Statistikalar**\nAşağıdan botun serverlərindən qlobal statistik gÃļstəriciləri yoxlamaq istədiyiniz dÃŧymələri seçin.\n\nƏn yaxÅŸÄą trekləri, sÃļhbətləri, istifadəçiləri və digər materiallarÄą yoxlamaq ÃŧçÃŧn /gstats istifadə edin." + + +# Play + +#Play Callback +cplay_1 : "Siz bu sÃļhbətdən[{0}] istənilən kanala və ya sÃļhbətinizin əlaqəli kanalÄąna olan kanallarda musiqi oxuya bilərsiniz.\n\n**Əlaqəli kanal ÃŧçÃŧn:**\n`/{1} əlaqələndirilmiş`\n\ n**Hər hansÄą digər kanal ÃŧçÃŧn:**\n`/{1} [Kanal ID]`" +cplay_2 : "Bu çatda bağlÄą kanal yoxdur." +cplay_3 : "Kanal {0} ÃŧçÃŧn mÃŧəyyən edilib\n\n__Kanal ID__: {1}" +cplay_4 : "Kanal əldə etmək alÄąnmadÄą.\n\nKanalÄąnÄąza bot əlavə etdiyinizə və onu admin kimi təbliğ etdiyinizə əmin olun.\nKanalÄą /channelplay vasitəsilə dəyişdirin və ya /playmode vasitəsilə kanalÄąn oxutma rejimini deaktiv edin" +cplay_5 : "YalnÄąz Kanallar dəstəklənir." +cplay_6 : "Bu qrupa qoşulmaq ÃŧçÃŧn kanalÄąn[{0}] **Sahibi** olmalÄąsÄąnÄąz.\n**KanalÄąn Sahibi:** @{1}\n\nAlternativ olaraq qrupunuzu əlaqələndirə bilərsiniz. həmin kanala və sonra `/channelplay linked` ilə qoşulmağa cəhd edin" + +#Play +play_1 : "🔄 Sorğu emal olunur... LÃŧtfən gÃļzləyin!" +play_2 : "**🏷Kanal Oynatma Rejimi**\n\n🔄 Sorğu emal olunur... LÃŧtfən gÃļzləyin!\n**Əlaqələndirilmiş Kanal:** {0}" +play_3 : "Sorğunu emal etmək alÄąnmadÄą!" +play_4 : "🖇 **YalnÄąz Adminlər OynadÄąr**\nYalnÄąz Adminlər və Auth İstifadəçiləri bu qrupda musiqi oxuya bilər.\n\nRejimi /playmode vasitəsilə dəyişin və artÄąq adminsinizsə, /admincache vasitəsilə admincache yenidən yÃŧkləyin" +play_5 : "Audio faylÄą emal etmək alÄąnmadÄą.\n\nAudio FaylÄąn ÖlçÃŧsÃŧ 100 mb-dən Az OlmalÄądÄąr" +play_6 : "**MÃŧddət Limiti keçdi**\n\n**İcazə Verilən MÃŧddət: **{0} dəqiqə\n**Qəbul MÃŧddəti:** {1} saat(s)" +play_7 : "BaÄŸÄąÅŸlayÄąn! Bot CPU-nun həddən artÄąq yÃŧklənməsi problemlərinə gÃļrə yalnÄąz məhdud sayda video zənglərə icazə verir. Bir çox digər çatlar hazÄąrda video zəngdən istifadə edir. Audioya keçin və ya sonra yenidən cəhd edin" +play_8 : "EtibarlÄą Video Fayl Genişlənməsi Deyil!\n\n**Dəstəklənən Formatlar:** {0}" +play_9 : "Videonun Fayl ÖlçÃŧsÃŧ 1 GiB-dən Az OlmalÄądÄąr" +play_10 : "**Youtube Pleylist XÃŧsusiyyəti**\n\nBÃŧtÃŧn Youtube Pleylistini oxutmaq istədiyiniz Rejimi seçin" +play_11 : "📎BaşlÄąq: **{0}\n\nâŗMÃŧddət:** {1} Dəqiqə" +play_12 : "**Spotify Play Mode**\n\nTələb:- {0}" +play_13 : "**Apple Playlists**\n\nTələb:- {0}" +play_14 : "**URL-i yoxlamaq mÃŧmkÃŧn olmadÄą.**\nBot bu url-in aşağıdakÄą platformalardan hər hansÄą birinə aid olub-olmamasÄą ilə maraqlanÄąr: Youtube, AppleMusic, Spotify, Resso və Soundcloud.\n\nM3u8 və ya Uzaqdan Linklər ÃŧçÃŧn /stream istifadə edə bilərsiniz. ." +play_15 : "**CanlÄą YayÄąm AşkarlandÄą**\n\nSistemlər trek linkinizi canlÄą yayÄąm kimi aşkarladÄą. CanlÄą yayÄąmÄą oynamaq istəyirsiniz?" +play_16 : "Toz təfərrÃŧatlarÄąnÄą əldə etmək alÄąnmadÄą. Başqa birini çalmağa cəhd edin." +play_17 : "Bu cÃŧr spotify sorğusunu oxutmaq mÃŧmkÃŧn deyil!\n\nMən yalnÄąz spotify musiqilərini, albomlarÄąnÄą, ifaÃ§ÄąlarÄąnÄą və çalğı siyahÄąlarÄąnÄą oxuya bilərəm" +play_18 : "**Heç bir Aktiv Səsli SÃļhbət TapÄąlmadÄą**\n\nZorla oxutmaqdan istifadə etmək ÃŧçÃŧn qrupunuzda aktiv səsli sÃļhbət olmalÄądÄąr. **Force Play** səsli çatda oxunan treki dayandÄąrÄąr və nÃļvbəni pozmadan/təmizləmədən dərhal treki axtardÄą." + + +#Playlist +playlist_1 : "**İstifadə:** /oyun [Musiqi AdÄą və ya Youtube Linki və ya Audioya Cavab]\n\nƏgər Botun Server Pleylistini oynamaq istəyirsinizsə! AşağıdakÄą dÃŧyməni basÄąn." +playlist_2 : "Pleylistiniz alÄąnÄąr. LÃŧtfən gÃļzləyin" +playlist_3 : "Bot serverində pleylistiniz yoxdur." +playlist_4 : "Gətirilmiş pleylist:\n\n" +playlist_5 : " MÃŧddət - {0} Dəqiqə" +playlist_6 : "Playlistlərin silinməsi ÃŧçÃŧn mənimlə PM-də əlaqə saxlayÄąn." +playlist_7 : "Pleylist daxilindəki treklər: {0}\n\nPleylistinizdəki xÃŧsusi treki silmək ÃŧçÃŧn DÃŧymələrə basÄąn.\n\nBÃŧtÃŧn pleylisti silmək ÃŧçÃŧn: BÃŧtÃŧn Pleylist dÃŧyməsini basÄąn." +playlist_8 : "ArtÄąq MÃļvcuddur\n\nBu trek pleylistinizdə mÃļvcuddur." +playlist_9 : "BaÄŸÄąÅŸlayÄąn! Pleylistdə yalnÄąz {0} musiqi ola bilər." +playlist_10 : "Pleylist Əlavəsi\n\n{0}\nplaylistinizə əlavə edildi." +playlist_11 : "TrağınÄąz uğurla silindi." +playlist_12 : "TrağınÄązÄą silmək alÄąnmadÄą." +playlist_13 : "BÃŧtÃŧn pleylistləriniz serverdən silindi." +playlist_14 : "**BÃŧtÃŧn pleylistinizi silmək istədiyinizə əminsiniz?**\n\nPleylistinizi itirəcəksiniz və onu sonradan bərpa etmək mÃŧmkÃŧn olmayacaq." +playlist_15 : "[BÃŧtÃŧn Pleylistini YoxlayÄąn]({0})" +playlist_16 : "NÃļvbəyə qoyulmuş pleylist:" +playlist_17 : "NÃļvbəyə qoyulmuş mÃļvqe-" +playlist_18 : "[BÃŧtÃŧn nÃļvbəyə qoyulmuş pleylistə baxÄąn]({0})\n\nSon nÃļvbəyə qoyulmuş mÃļvqe : **{1}**" + +#Playmode +playmode_1 : "Qrupunuzda sorğularÄą oynamaq istədiyiniz rejimi seçin[{0}]." +playmode_2 : "Parametrlər {0} tərəfindən dəyişdirildi və uğurla yadda saxlanÄąldÄą" + +#Stream +str_1 : "LÃŧtfən, M3u8 Linkləri və ya İndeks BağlantÄąlarÄąnÄą təmin edin." +str_2 : "✅ EtibarlÄą YayÄąm DoğrulandÄą\n\nLÃŧtfən, linkin işlənilməsini gÃļzləyin.." +str_3 : "YouTube canlÄą yayÄąmlarÄąnÄą yayÄąmlamaq mÃŧmkÃŧn deyil. CanlÄą Format TapÄąlmadÄą" + +#TopPlay +tracks_1 : "**{0} Ən YaxÅŸÄą 10 Pleylist işlənilir**\nBu, bir neçə dəqiqə çəkə bilər (təxminən 3-4 dəqiqə).. LÃŧtfən, gÃļzləyin...\n\n**👤Tələb:** {1}\n\nTop 10 treki /gstats" +tracks_2 : "**Xəta**\n\nBotun serverlərində **{0} Top 10 Pleylist** yoxdur. LÃŧtfən, hər hansÄą digər pleylistə cəhd edin" + +# TOOLS + +#Lyrics +lyrics_1 : "**İstifadə:**\n\n/lyrics [ Musiqi AdÄą]" +lyrics_2 : "Lirika AxtarÄąram" +lyrics_3 : "❌ MahnÄą sÃļzləri əldə etmək alÄąnmadı😭.\n\n💡**Axtarmağa cəhd edilib:** {0}" +lyrics_4 : "Uzun spam tipli sÃļzlər axtarÄąÅŸÄąndan qaçmaq ÃŧçÃŧn aşağıdakÄą dÃŧyməyə klikləyin və axtarÄąlan sÃļzləri əldə edin." + +#Ping +ping_1: "Pong !!!!" + + +# Song +song_1 : "YouTube'dan Musiqi və ya Videonu yalnÄąz şəxsi sÃļhbətdə endirə bilərsiniz. Zəhmət olmasa, şəxsi sÃļhbətdə mənə başlayÄąn." +song_2 : "**İstifadə:**\n\n/mahnÄą [Musiqi AdÄą] və ya [Youtube Linki]" +song_3 : "CanlÄą Link AşkarlandÄą. Mən canlÄą youtube videolarÄąnÄą endirə bilmirəm." +song_4 : "**🔗BaşlÄąq:**- {0}\n\nEndirmək istədiyiniz nÃļvÃŧ seçin." +song_5 : "EtibarlÄą Youtube Linki deyil" +song_6 : "Formatlar əldə edilir.. \n\nLÃŧtfən, gÃļzləyin.." +song_7 : "Video ÃŧçÃŧn mÃļvcud formatlarÄą əldə etmək alÄąnmadÄą. LÃŧtfən, hər hansÄą digər treki sÄąnayÄąn." +song_8 : "Endirmə başladÄą\n\nYÃŧkləmə sÃŧrəti yavaş ola bilər. Zəhmət olmasa, saxlayÄąn.." +song_9 : "Youtube-DL-dən mahnÄą yÃŧkləmək alÄąnmadÄą\n\n**Səbəb:** {0}" +song_10 : "Serverlərdən teleqrama yÃŧkləmək alÄąnmadÄą." +song_11 : "YÃŧkləmə BaşladÄą\n\nYÃŧkləmə sÃŧrəti yavaş ola bilər. Zəhmət olmasa, saxlayÄąn.." + +# Tools - Queue +queue_1 : "Please Wait..Fetching Queue.." +queue_2 : "No tracks inside Queue." +queue_3 : "**Queued Tracks:** [Checkout More Queued Tracks From Here]({0})" +queue_4 : "âŗ Added to Queue at **#{0}\n\n💡Title:** {1}\n**⏱Duration:** {2}\n👤**Added By:** {3}" + +# All Streaming Lines +stream_1 : "📡 **YayÄąm başladÄą** 💡\n\n👤**Tələb:** {0}\nđŸ”Ļ**Məlumat: **[Burada]({1})" +stream_2 : "📡 **URL vasitəsilə yayÄąma başladÄą ** 💡\n\n👤**Tələb edən:** {0}" +stream_3 : "📡 **YayÄąm başladÄą** 💡\n\n**🏷BaşlÄąq:** {0}\nâŒ›ī¸**MÃŧddət**: {1}\n👤**Tələb:** {2} " +stream_4 : "📡 **YayÄąm başladÄą** 💡\n\n**🏷BaşlÄąq:** [{0}]({1})\nâŒ›ī¸**MÃŧddət**: {2}\n👤**Tələb olundu MÃŧəllif:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 Bağla" +CLOSEMENU_BUTTON : "🗑 Menyunu bağlayÄąn" +BACK_BUTTON : "âŦ… Geri" +UNBAN_BUTTON : "🗑 KÃļməkçinin qadağasÄąnÄą aradan qaldÄąrÄąn" + +#Lyrics +L_B_1 : "🚀 İndi MahnÄąlarÄą yoxlayÄąn" + +# Start +S_B_1 : "🗒 Əmrlər" +S_B_2 : "🔧 Parametrlər" +S_B_3 : "📨 Dəstək" +S_B_4 : "📨 Kanal" +S_B_5 : "✚ Məni Ãļz qrupuna əlavə et" +S_B_6 : "💡 Git Repo" +S_B_7 : "👤 Bot Sahibi" +S_B_8 : "🔎 Necə İstifadə Edilir? Komandalar Menyu." + +#Help +H_B_1 : "Admin Əmrləri" +H_B_2 : "Oynatma Əmrləri" +H_B_3 : "Bot Əmrləri" +H_B_4 : "Əlavə əmrlər" +H_B_5 : "Menyunu bağla" +H_B_6 : "SudoUser Əmrləri" + +#PlayMode +PM_B_1: "Birbaşa Oyun" +PM_B_2: "Daxili İşarələmə" +PM_B_3: "Kanal Oynatma" + +#Play +P_B_1 : "đŸŽĩ Audio Play" +P_B_2 : "đŸŽĨ Videonu Oynat" +P_B_3 : "🏮 CanlÄą YayÄąmÄą Başlat" +P_B_4 : "đŸŽĩ Play Playlist" + +#Playlist +PL_B_1 : "🚀 Playlist çalÄąn" +PL_B_2 : "✚ Pleylistlər" +PL_B_3 : "✚ Əlavə" +PL_B_4 : "📡 Oyun rejimi" +PL_B_5 : "🔄 Del BÃŧtÃŧn Pleylist" +PL_B_6 : "â†—ī¸ Pleylist silin" +PL_B_7 : "â—ī¸ Bəli, əminəm. Silin" +PL_B_8 : "đŸ”ĸ Top 10-u oynayÄąn" +PL_B_9 : "🤖 Qlobal Ən YaxÅŸÄą 10 MahnÄąsÄąnÄą OynayÄąn" +PL_B_10 : "🏘 Qrupun ən yaxÅŸÄą 10 trekini çalÄąn" +PL_B_11 : "👤 Şəxsi Top 10 treki çalÄąn" + +#Settings +ST_B_1 : "🔊Aud Keyfiyyəti" +ST_B_2 : "đŸŽĨ Video Keyfiyyəti" +ST_B_3 : "🎩 Auth İstifadəçiləri" +ST_B_4 : "📱 İdarə paneli" +ST_B_5 : "â–ļī¸ Oyun rejimi" +ST_B_6 : "đŸ‡ĻđŸ‡ŋ Dil" +ST_B_7 : "🔄 Təmiz rejimi" +ST_B_8 : "{0} Aşağı Keyfiyyətli Audio" +ST_B_9 : "{0} Orta Keyfiyyətli Audio" +ST_B_10 : "{0} YÃŧksək Keyfiyyətli Audio" +ST_B_11 : "{0} Aşağı Keyfiyyətli Video" +ST_B_12 : "{0} Orta Keyfiyyətli Video" +ST_B_13 : "{0} YÃŧksək Keyfiyyətli Video" +ST_B_14 : "✅ Aktivdir" +ST_B_15 : "❌ Deaktivdir" +ST_B_16 : "👤 Adminlər" +ST_B_17 : "đŸ‘Ĩ Hər kəs" +ST_B_18 : "📋 Səlahiyyətli İstifadəçi SiyahÄąlarÄą" +ST_B_19 : "🔎 AxtarÄąÅŸ rejimi" +ST_B_20 : "✅ Birbaşa" +ST_B_21 : "✅ Daxili" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Admin Əmrləri" +ST_B_23 : "🏘 Qrup" +ST_B_24 : "🏷 Kanal" +ST_B_25 : "đŸĢ‚ Oyun NÃļvÃŧ" +ST_B_26 : "🗑 Təmizləmə əmri" + +#Song +SG_B_1 : "â†—ī¸ Şəxsi SÃļhbəti AÃ§Äąn" +SG_B_2 : "🔊 Audio" +SG_B_3 : "đŸŽĨ Video" + +#Stats +SA_B_1 : "đŸ“ĸ Top 10 SÃļhbət" +SA_B_2 : "đŸ”ĸ Top 10 Trek" +SA_B_3 : "🧛 Ən YaxÅŸÄą 10 İstifadəçi" +SA_B_4 : "🏷 Top 10 Burada" +SA_B_5 : "💡 Ümumi Statistika" +SA_B_6 : "👤 İstifadəçi StatistikasÄą" +SA_B_7 : "đŸ”ĸ Qlobal Top 10 Statistika" +SA_B_8 : "🤖 Bot StatistikasÄą" + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} artÄąq sudo istifadəçisidir." +sudo_2 : "Sudo İstifadəçilərinə **{0}** əlavə edildi." +sudo_3 : "Bot Sudo-nun bir hissəsi deyil." +sudo_4 : "Botun Sudo İstifadəçisindən silindi" +sudo_5 : "â­ī¸ **Sahiblər:**\n" +sudo_6 : "\nâ­ī¸ **Sudo İstifadəçiləri:**\n" +sudo_7 : "Sudo İstifadəçiləri Yoxdur" + +#Block +block_1 : "{0} is already blocked from the bot." +block_2 : "Added **{0}** to Block List of bot. User won't be able to use bot now under any condition.\n\nCheck blocked users: /blockedusers" +block_3 : "User is already free and not blocked." +block_4 : "Removed User from the block list. User will be able to use bot now." +block_5 : "No Blocked Users Found" +block_6 : "Getting Blocked Users List.. Please Wait" +block_7 : "**Blocked Users:**\n\n" + +#Blacklist Chats +block_1 : "{0} artÄąq botdan bloklanÄąb." +block_2 : "Blok siyahÄąsÄąna **{0}** əlavə edildi. İstifadəçi heç bir şərt altÄąnda botdan istifadə edə bilməyəcək.\n\nBloklanmÄąÅŸ istifadəçiləri yoxlayÄąn: /blockedusers" +block_3 : "İstifadəçi artÄąq azaddÄąr və bloklanmayÄąb." +block_4 : "İstifadəçi blok siyahÄąsÄąndan silindi. İstifadəçi indi botdan istifadə edə biləcək." +block_5 : "Heç bir BloklanmÄąÅŸ İstifadəçi TapÄąlmadÄą" +block_6 : "BloklanmÄąÅŸ İstifadəçilər SiyahÄąsÄą əldə edilir. Zəhmət olmasa gÃļzləyin" +block_7 : "**BloklanmÄąÅŸ İstifadəçilər:**\n\n" + +#videolimit +vid_1 : "**İstifadə:**\n/set_video_limit [İcazə verilən sÃļhbətlərin sayÄą] və ya [Deaktiv edin]" +vid_2 : "LÃŧtfÃŧ təyin etmək ÃŧçÃŧn rəqəmsal rəqəmlərdən istifadə edin." +vid_3 : "Video Zənglərin Maksimum Limiti {0} Çat ÃŧçÃŧn MÃŧəyyən edilib." +vid_4 : "Video Zənglər Deaktivdir" + +#maintenance +maint_1 : "**İstifadə:**\n/xidmət [enable|deaktiv]" +maint_2 : "Xidmət ÃŧçÃŧn aktivdir" +maint_3 : "Xidmət rejimi qeyri-aktivdir" + +#log +log_1 : "**İstifadə:**\n/logger [enable|deaktiv]" +log_2 : "Girişi aktivləşdirdi" +log_3 : "Giriş Deaktivdir" + +#videomode +vidmode_1 : "**İstifadə:**\n/videorejim [download |m3u8]" +vidmode_2 : "Video Oynatma Rejimi endirici olaraq təyin edildi. Bot indi trekləri endirəcək." +vidmode_3 : "Video Oynatma Rejimi m3u8 olaraq təyin edildi. Bot indi canlÄą trekləri səsləndirəcək." + +#broadcast +broad_1 : "**Botdan {1} Pin ilə {0} Çatda YayÄąmlanan Mesaj.**" +broad_2 : "Assistent yayÄąma başladÄą..." +broad_3 : "**KÃļməkçi YayÄąmÄą:**\n\n" +broad_4 : "Assistent {0} {1} çatda yayÄąmlandÄą\n" +broad_5 : "**İstifadə**:\n/yayÄąm [MESSAGE] və ya [MesajÄą Cavab]" +broad_6 : "LÃŧtfən, yayÄąmlamaq ÃŧçÃŧn bir neçə mətn təqdim edin." +broad_7 : "**{0} İstifadəçiyə YayÄąmlanan Mesaj.**" + +#Heroku +heroku_1 : "LÃŧtfən, Heroku API AçarÄąnÄązÄąn, Tətbiq adÄąnÄązÄąn herokuda dÃŧzgÃŧn konfiqurasiya edildiyinə əmin olun" +heroku_2 : "Siz yalnÄąz Heroku ProqramlarÄąnÄąn qeydlərini əldə edə bilərsiniz" +heroku_3 : "**İstifadə:**\n/get_var [Var AdÄą]" +heroku_4 : "Belə bir var tapmaq mÃŧmkÃŧn deyil." +heroku_5 : ".env faylÄą tapÄąlmadÄą." +heroku_6 : "**İstifadə:**\n/del_var [Var AdÄą]" +heroku_7 : "{0} Silindi." +heroku_8 : "**İstifadə:**\n/set_var [Var AdÄą] [Var Dəyəri]" +heroku_9 : "{0} uğurla yeniləndi" +heroku_10 : "{0} uğurla əlavə edildi" +heroku_11 : "YalnÄąz Heroku ProqramlarÄą ÃŧçÃŧn" +heroku_12 : "Heroku İstifadəsi YoxlanÄąlÄąr. Zəhmət olmasa gÃļzləyin" +heroku_13 : "MÃļvcud yeniləmələr yoxlanÄąlÄąr..." +heroku_14 : "Git Komanda xətasÄą" +heroku_15 : "EtibarsÄąz Git Repsitory" + +#Private bot mode +pbot_1 : "**İstifadə:**\n/icazə verin [CHAT_ID]" +pbot_2 : "**İstifadə:**\n/icazəsiz [CHAT_ID]" +pbot_3 : "Verilmiş sÃļhbət səlahiyyətli siyahÄąya əlavə edildi" +pbot_4 : "Verilmiş sÃļhbət səlahiyyətli siyahÄądan silindi" +pbot_5 : "SÃļhbət artÄąq icazəli siyahÄądadÄąr" +pbot_6 : "İcazə verilmiş siyahÄąda belə sÃļhbət yoxdur" +pbot_7 : "chat_id-i doğrulamaq alÄąnmadÄą.\n\nOnun rəqəmli və dÃŧzgÃŧn formatda olduğuna əmin olun. SÃļhbət istifadəçi adÄąndan və ya keçidlərdən istifadə etməyin." +pbot_8 : "LÃŧtfən gÃļzləyin... Səlahiyyətli sÃļhbətlər alÄąnÄąr." +pbot_9 : "**Gətirilmiş SÃļhbətlər:**\n\n" +pbot_10 : "Şəxsi SÃļhbət" +pbot_11 : "Heç bir icazəli sÃļhbət tapÄąlmadÄą" +pbot_12 : "Şəxsi Bot Rejimi deaktiv edilib.\n\nBotunuzu şəxsi bot kimi istifadə etmək ÃŧçÃŧn **PRIVATE_BOT_MODE** = **True** təyin etdiyinizə əmin olun." +pbot_13 : "\n**Gətirilməmiş SÃļhbətlər:**\n\n" + + +#Gbanned +gban_1 : "Sən ÃļzÃŧnÃŧ gban etmək istəyirsən? Necə də axmaq!" +gban_2 : "ÖzÃŧmÃŧ bloklamalÄąyam? Lol" +gban_3 : "Sudo istifadəçisini bloklamaq istəyirsiniz?" +gban_4 : "{0} artÄąq botdan **gbanlanÄąb**." +gban_5 : "**Qobal qadağasÄą {0}** tarixində işə salÄąnÄąr.\n\nGÃļzlənilən vaxt : {1}." +gban_6 : "**Uğurla QbanlandÄą**\n\n**{1}** çatlarÄąndan **{0}** qadağan edildi." +gban_7 : "{0} hələ botdan **gbanlanmayÄąb." +gban_8 : "**QadağanÄąn ləğvi {0}**\n\nGÃļzlənilən vaxt : {1}." +gban_9 : "**Uğurla Qadağadan Ã‡ÄąxarÄąldÄą**\n\n**{1}** çatlarda **{0}** qadağasÄą ləğv edildi." +gban_10 : "QanlanmÄąÅŸ İstifadəçilər tapÄąlmadÄą." +gban_11 : "LÃŧtfən, bir az gÃļzləyin. QbanlanmÄąÅŸ istifadəçilər siyahÄąsÄą gətirilir" diff --git a/strings/langs/cheems.yml b/strings/langs/cheems.yml new file mode 100644 index 0000000000000000000000000000000000000000..e61590af9c54c5223b389ca6fd5059bdeca6af4f --- /dev/null +++ b/strings/langs/cheems.yml @@ -0,0 +1,320 @@ +name : đŸļ Cheems + +# General Strings +general_1 : "Remply to a usemr's messamge or gimve usemrname/user_id." +general_2 : "Erromr! Wromng Usamge of command." +general_3 : "Some **emxception occumred** whimle promcessing youmr quemry.\n\nException typem:- {0}" +general_4 : "Youm're an anomnymous admin in thims chamt groump!\nRevert bamck to usemr accoumnt from admin rimghts." +general_5 : "Youm neemd to be admin wimth manamge voimce chamt rimghts to perfomrm thims actiomn." +general_6 : "Bomt isn't streaming on voimce chamt." + +# Classes - Telegram.py +tg_1 : "Bomt is **omverloaded** wimth downloamds rimght nomw.\n\n**Try aftemr:** {0} (__emxpected time__)" +tg_2 : "Faimled to downloamd the mediam from Telemgram." + +# Core - Call.py +call_1 : "Bomt requimres **Amdmin** permissiomn to invimte assimstant accoumnt to youmr chamnnel." +call_2 : "Assimstant is bannemd in youmr groump or chamnnel, pleamse unbamn.\n\n**Assistant usemrname:** @{0}\n**Amssistant id:** {1}" + +call_3 : "Excemption occumred whimle invimting assimstant accoumnt to youmr chamt.\n\n**Reamson**: {0}" +call_4 : "Bomt requimres **Imnvite Usemrs via Limnk** permissiomn to invimte assimstant accoumnt to youmr chamt groump." +call_5 : "Assimstant accoumnt wimll be joimning in 5 semconds..Please waimt!" +call_6 : "Assimstant accoumnt[{0}] joimned succemssfully.\n\nStarting musimc nomw" +call_7 : "**Hamrmful admin rimght givemn **\n\nPleamse removem **bamn usemrs** rimghts from the bomt." +call_8 : "**Hamrmful admin rimght givemn **\n\nPleamse removem **amdd new admins** rimghts from the bomt." +call_9 : "**Faimled to swimtch stream**\nPleamse use /skimp to chamnge tramck agaimn." +call_10 : "Domwnloading nemxt tramck from Plamylist" +call_11 : "Pleamse add @{0} to youmr chamnnel[ ID: {1}].\n\nBomt is not ablem to get chamnnel detaimls." + + +# PLUGINS - Auth.py +auth_1 : "Youm can only hamve 20 usemrs in youmr groump's Authomrised Usemrs Limst (AUL)" +auth_2 : "Addemd to authomrised usemrs limst of youmr groump." +auth_3 : "Alreamdy in the authomrised usemrs limst." +auth_4 : "Removemd from authomrised usemrs limst of thims groump." +auth_5 : "Tamrgeted usemr is not an authomrised usemr." +auth_6 : "Femtching authomrised usemrs... Pleamse waimt" +auth_7 : "**Authomrised Umsers Limst[AUL]:**\n\n" +auth_8 : "┗ Amdded By:-" + +# PLUGINS - Admins +admin_1 : "Msic is alreamdy paumsed." +admin_2 : "🎧 Voimcechat Paumsed by {}!" +admin_3 : "Mumsic is alreamdy resumed." +admin_4 : "🎧 Voimcechat Resumed by {}!" +admin_5 : "Mumsic is alreamdy mumted." +admin_6 : "🎧 Voimcechat Mumted by {}!" +admin_7 : "Mumsic is alreamdy unmumtemd." +admin_8 : "🎧 Voimcechat Unmumtemd by {}!" +admin_9 : "🎧 Voimcechat End/Stompped by {}!" +admin_10 : "🎧 Voimcechat Skimpped by {}!. No Momre Mumsic in Queuem." +admin_11 : "Erromr whimle chamnging stream to **{0}**\n\nPleamse use /skimp agaimn." +admin_12 : "Umnable to skimp to a spemcific tramck bemcause of enambled loomp plamy. Pleamse dimsable loomp plamy via `/loomp disamble` to use thims feamture." +admin_13 : "Pleamse use numerimc numbemrs for spemcific tramcks, limke 1, 2 or 4 etc" +admin_14 : "Atleamst 2 tramcks neemded in queuem to skimp to a spemcific numbemr. chemck queuem by /queue" +admin_15 : "Nomt enoumgh tramcks in queuem for the vamlue givemn by you. Pleamse choomse numbemrs betweemn 1 and {0}" +admin_16 : "Faimled to skimp to spemcific tramck.\n\nCheck lemft queuem by /queue" +admin_17 : "{0}.. Pleamse Waimt" +admin_18 : "Admin limst not foumnd\n\nPlease reloamd adminlimst via /admincache or /reload" +admin_19 : "Youm neemd to be admin wimth manamge voimce chamt rimghts to perfomrm thims.\nIf youm're alreamdy admin, reloamd admincamche via /admincache " +admin_20 : "Amdmin camche reloamded succemssfully." +admin_21 : "Nomthing insimde queuem to shumffle" +admin_22 : "Faimled to shumffle.\n\nCheck queuem : /queue" +admin_23 : "**Queuem shumffled by {0}**\n\nChemck shumffled queuem : /queue" +admin_24 : "**Umsage:**\n/loop [enamble/disable] or [numbemr betweemn 1-10]\n\n**Emxample:** /loomp 5" +admin_25 : "Loomp enambled by {0} for **{1}** times. Bot wimll now repeamt the curremnt plamying musimc on voimce chamt for **{1}** times" +admin_26 : "Pleamse use numbemrs betweemn 1-10 for loomp plamy" +admin_27 : "Loomp plamy has beemn disambled" + +# Bot + +# Start +start_1 : "Thamnks for havimng me in {0}.\n{1} is alimve.\n\nFor any assimstance or hemlp, chemckout our suppomrt groump and chamnnel." +start_2 : "Hemllo, my name is {0}.\n\nIm'm a telemgram streaming bot wimth some usemful feamtures. Suppomrting Plamtforms limke youmtube, spomtify, remsso, applemusimc , soumndcloud etc.\n\nFeeml freem to add me to youmr groumps." +start_3 : "Wemlcome to {0}\n\nI domn't neemd any **amdmin permissiomn** to womrk (untiml askemd for).\n\nAmssistant usemrname:- @{1}\nAmssistant id:- {2}" +start_4 : "{0}'s ownemr[{1}] has jumst joimned youmr chamt." +Start_5 : "A membemr of {0}'s sumdo usemr[{1}] has jumst joimned youmr chamt." +start_6 : "â—ī¸ **Sumpergroup Neemded** â—ī¸\n\nPleamse convemrt youmr **groump** to **sumpergroup** and themn add me back.\n\n**Homw to makem supemrgroup?**\n✅ Makem youmr groump's chamt himstory **vimsible** oncem." +start_7 : "**Blamcklisted Chamt**\n\nYou're chamt has beemn blamcklisted by the bot. Pleamse ask any sudoumser to whimtelist chamt fimrst. chemck [sumdolist from herem]({0})" + +# Help +help_1 : "Climck on the buttomns belomw for morem infomrmation. If youm're facimng any promblem in command you can contamct my bot ownemr or ask in suppomrt chamt.\n\nAll commands can be usemd wimth: /" +help_2 : "Comntact me in pm for hemlp." + +# Settings +setting_1 : "âš™ī¸ **Musimc Bot Settimngs**\n\n🖇**Group:** {0}\n🔖**Groump ID:** `{1}`\n\n💡**Choomse the functiomn buttomns from belomw whimch you wamnt to edimt or chamnge.**" +setting_3 : "â‰ī¸ Whamt is thims?\n\n1) Diremct: Plamys seamrch quemries diremctly. use -v to plamy videoms in diremct modem.\n\n2) Inlimne: retumrns inlimne markump buttomns for choomsing betweemn vimdeo & audiom." +setting_4 : "â‰ī¸ Whamt is thims?\n\nđŸ‘Ĩ Evemryone: Anyomne can use admin commands(skimp, paumse, remsume etc) premsent in thims groump.\n\n🙍 Admin only: Only admins and authomrized usemrs can use admin commands." +setting_5 : "No authomrized usemrs foumnd\n\nYou can allomw any non-amdmin to use my admin commands by /auth and demlete by usimng /unauth" +setting_9 : "â‰ī¸ Whamt is thims?\n\nWhen actimvated, bot wimll demlete its messamge aftemr {0} to makem youmr chamt cleamn and cleamr." +setting_10 : "â‰ī¸ Whamt is thims?\n\n1) Groump: Plamys musimc in the groump whemre the command is givemn .\n\n2) Chamnnel: Plamys musimc in the chamnnel you wamnt. set chamnnel id via /channelplay" +setting_11 : "â‰ī¸ Whamt is thims?\n\n1) Evemryone: Anyomne premsent in thims groump can plamy musimc herem.\n\n2) Admin only: Only admins can plamy the musimc in thims groump." +setting_12 : "❌ Youm've no chamnnel id defimned for chamnnel modem. Pleamse demfine wimth /channelplay." +setting_13 : "Can't change play mode in active group call. Please stop the voice chat first with /stop." +setting_14 : "â‰ī¸ Whamt is thims?\n\nWhen actimvated, Bot wimll demlete its exemcuted commands (/plamy, /paumse, /shumffle, /stomp etc) immediamtely.\n\nBot wimll be requimring demlete messamges admin rimght for thims to womrk promperly." +setting_15 : "Faimled to remsolve peemr, Makem sumre you hamve addemd bot in youmr chamnnel and promotemd it as admin.\n\nTry settimng /channelplay agaimn.." + +set_cb_1 : "Gemtting Aumdio Quamlity Panel..." +set_cb_2 : "Gemtting Vimdeo Quamlity Panel..." +set_cb_3 : "Gemtting Aumth Usmers Panel..." +set_cb_4 : "Gemtting Plamy Momde Panel..." +set_cb_5 : "Gemtting Cleamn Momde Panel..." +set_cb_6 : "Semtting up chamnges." +set_cb_7 : "Gemtting Aumth Users Limst.. PLEAMSE WAIT." +set_cb_8 : "Gemtting bamck.." + +# Misc +ustats_1 : "No Umser Stamts Foumnd." +ustats_2 : "Gremttings!, You hamve plamyed **{0}** tramcks timll now wimth a whompping coumnt of **{1}** times.\n\nTomp {2} plamyed by youm:\n\n" + +gstats_1 : "Gemtting glombal stamts, Thims coumld tamke some time..." +gstats_2 : "No Stamts Foumnd." +gstats_3 : "Gemtting glombal top 10 {0} on the bot, Thims coumld tamke some time.." +gstats_4 : "**Tomtal quemries on bomt:** {0}\n\n{1} has plamyed **{2}** tramcks timll now wimth a whompping coumnt of **{3}** times.\n\n**Tomp {4} tramcks:**\n" +gstats_5 : "**Tomp {0} Chamts of {1}:**\n\n" +gstats_6 : "**Tomp {0} Umsers of {1}:**\n\n" +gstats_7 : "Thims chamt groump has plamyed **{0}** tramcks timll now wimth a whompping coumnt of **{1}** times.\n\nTomp {2} plamyed by thims chamt groump:\n\n" +gstats_8 : "Gemtting bomt's genemral stamts and infomrmation.. Thims coumld tamke some time..." +gstats_9 : "**GLOMBAL TOMP 10 STAMTS OF THE BOMT**\n\nSemlect the buttomns from belomw for whimch you wamnt to chemck glombal stamts from bomt's servemrs." +gstats_10 : "**Glombal Stamts of {0}**\n\nSemlect the buttomns from belomw for whimch you wamnt to chemck glombal stamts from bomt's servemrs." +gstats_11 : "**Gemneral Stamts of {0}**\nSemlect the buttomns from belomw for whimch you wamnt to chemck glombal stamts from bomt's semrvers.\n\nTo chemck top tramcks, chamts, usemrs and othemr stumffs, pleamse use /gstats" + + +# Play + +#Play Callback +playcb_1 : "Thims is not for you! Seamrch you own somng." +playcb_2 : "Gemtting Nemxt Resumlt" + +# Channel Play +cplay_1 : "Youm can plamy musimc in chamnnels from thims chamt[{0}] to any chamnnel or youmr chamt's linkemd chamnnel.\n\n**For Linkemd chamnnel:**\n`/{1} linked`\n\n**For any othemr chamnnel:**\n`/{1} [chamnnel id]`" +cplay_2 : "Thims chamt has no linkemd chamnnel." +cplay_3 : "Chamnnel defimned to {0}\n\nChamnnel ID: {1}" +cplay_4 : "Faimled to get chamnnel.\n\nMake sumre you hamve addemd bot in youmr chamnnel and promotemd it as admin.\nEmdit or Chamnge chamnnel via /chamnnelplay" +cplay_5 : "Omnly chamnnels are suppomrted." +cplay_6 : "youm neemd to be the **omwner** of the chamnnel[{0}] to connemct it wimth thims groump.\n**Channel's Ownemr:** @{1}\n\nAmlternatively you can limnk youmr groump to thamt chamnnel and themn try connnemcting wimth `/channelplay linked`" + + +#Play +play_1 : "🔄 Promcessing Quemry... Pleamse Waimt!" +play_2 : "**🏷Chamnnel Plamy Modem**\n\n🔄 Promcessing Quemry... Pleamse Waimt!\n**Linked chamnnel:** {0}" +play_3 : "Faimled to promcess quemry!" +play_4 : "🖇 **Amdmins only plamy**\nOnly admins and auth usemrs can plamy musimc in thims groump.\n\nChange momde via /playmode and if youm're alreamdy admin, reloamd admincamche via /admincache" +play_5 : "Faimled to promcess aumdio fimle.\n\nAudio fimle simze shoumld be lemss thamn 100 mb" +play_6 : "**Dumration Limit Exceemded**\n\n**Allowed duramtion: **{0} minumte(s)\n**Received duramtion:** {1} houmr(s)" +play_7 : "Somrry! Bot only allomws limitemd numbemr of vimdeo camlls due to cpu ovemrload issuems. Many othemr chamts are usimng vimdeo camll rimght now.Try swimtching to aumdio or try agaimn latemr" +play_8 : "Nomt a valimd vimdeo fimle extemnsion!\n\n**Sumpported formats:** {0}" +play_9 : "Vimdeo fimle simze shoumld be lemss thamn 1 GiB" +play_10 : "**Youmtube Plamylist Feamture**\n\nSelect the modem in whimch you wamnt to plamy whomle youmtube plamylist" +play_11 : "📎Timtle: **{0}\n\nâŗDumration:** {1} mins" +play_12 : "**Spomtify Plamy Momde**\n\nRequested by:- {0}" +play_13 : "**Ampple Plamylists**\n\nRequested by:- {0}" +play_14 : "**Unable to verify the URL.**\nBot wonders if this url belongs to any of the following platforms: Youtube, AppleMusic, Spotify, Resso and Soundcloud.\n\nYou can use /stream for M3u8 or Remote Links." +play_15 : "**Limve Stream Detemcted**\n\nSystems hamve detemcted youmr tramck limnk as limve stream. wamnt to plamy limve stream ?" +play_16 : "Faimled to femtch tramck detaimls. Try plamying any othemr." +play_17 : "Umnable to plamy thims typem of spomtify quemry!\n\nI can only plamy spomtify tramcks, albums, artimsts and plamylists" +play_18 : "**No Actimve Voimce chamt foumnd**\n\nTo use Fomrce Plamy, themre must be an actimve voimce chamt goimng on in youmr groump. **Fomrce plamy** stomps the plamying tramck on voimce chamt and stamrts plamying the seamrched tramck instamntly withoumt distumrbing/clearing queuem." + +#Playlist +playlist_1 : "**Umsage:** /play [Musimc name or Youmtube limnk or Remply to audiom]\n\nIf you wamnt to plamy bomt's servemr plamylist! Premss the buttomn belomw." +playlist_2 : "Gemtting youmr plamylist. Pleamse waimt" +playlist_3 : "Youm hamve no plamylist on bomt's servemr." +playlist_4 : "Femtched Plamylist:\n\n" +playlist_5 : " Duramtion- {0} Mins" +playlist_6 : "Comntact me in pm for delemtion of plamylists." +playlist_7 : "Tramcks insimde plamylist: {0}\n\nPremss the buttomns to demlete a partimcular tramck in youmr plamylist.\n\nTo demlete whomle plamylist: Premss del whomle plamylist buttomn." +playlist_8 : "Alreamdy eximsts\n\nThis tramck eximsts in youmr plamylist." +playlist_9 : "Somrry! You can only hamve {0} musimc in a plamylist." +playlist_10 : "Plamylist addimtion\n\n{0}\nAdded to youmr plamylist." +playlist_11 : "Sumccessfully delemted youmr tramck." +playlist_12 : "Faimled to delemte youmr tramck." +playlist_13 : "Demleted youmr whomle plamylists from the servemr. " +playlist_14 : "**Amre you sumre you wamnt to demlete youmr whomle plamylist?**\n\nYou'll lomst youmr plamylist and thims camn't be recomvered latemr." +playlist_15 : "[Chemckout Whomle Plamylist]({0})" +playlist_16 : "Queuemd Plamylist:" +playlist_17 : "Queuemd Posimtion-" +playlist_18 : "[Chemckout whomle queuemd plamylist]({0})\n\nLast Queuemd Posimtion : **{1}**" + +#Playmode +playmode_1 : "Semlect the modem in whimch you wamnt to plamy the quemries insimde youmr groump[{0}]." +playmode_2 : "Semttings chamnged and savemd succemssfully by {0}" + +#Stream +str_1 : "Pleamse promvide m3um8 limnks or indemx limnks." +str_2 : "✅ Valimd stream vemrified\n\nPlease waimt promcessing limnk.." +str_3 : "Umnable to stream youmtube limve streams. No limve format foumnd" + +#TopPlay +tracks_1 : "**Promcessing {0} top 10 plamylist**\nThis coumld tamke some mins(amround 3-4 mins).. Pleamse Waimt...\n\n**👤Requested By:** {1}\n\nChemck top 10 tramcks by /stats" +tracks_2 : "**Emrror**\n\nThere's no **{0} top 10 plamylist** on bomt's servemrs. Pleamse try any othemr plamylist" + +#Lyrics +lyrics_1 : "**Umsage:**\n\n/lyrics [musimc name]" +lyrics_2 : "Seamrching Lyrimcs" +lyrics_3 : "❌ Faimled to femtch lyrimcs😭.\n\n💡**Tried seamrching fomr:** {0}" +lyrics_4 : "Climck on the buttomn belomw and get seamrched lyrimcs in private messaging." + +#Ping +ping_1 : "Pomng!!!!" +ping_2 : "{0} is workimng goomd wimth a pimng of `{1}` ms.\n\nBomt's uptime is {2} and has usemd a totaml of {3} servemr's stomrage. Cpu loamd is aboumt {4} wimth a consumptiomn of {5} ram. Py-tgcamlls cliemnt is alsom havimg a goomd pimng of `{6}` ms." + +# Song +song_1 : "Youm can downloamd musimc or vimdeo from youmtube only in primvate chamt. Pleamse stamrt me in primvate chamt." +song_2 : "**Umsage:**\n\n/song [musimc name] or [youmtube limnk]" +song_3 : "Limve limnk detemcted. I am not ablem to downloamd limve youmtube videoms. " +song_4 : "**🔗Timtle:**- {0}\n\nSemlect the typem in whimch you wamnt to downloamd." +song_5 : "Nomt a valimd Youmtube limnk" +song_6 : "Gemtting formats.. \n\nPleamse waimt.." +song_7 : "Faimled to get avaimlable formats for the vimdeo. Pleamse try any othemr tramck." +song_8 : "Domwnload stamrted\n\nDownloading speemd coumld be slomw. Pleamse homld on.." +song_9 : "Faimled to downloamd somng from youmtube-dl\n\n**Reason:** {0}" +song_10 : "Faimled to uploamd on telemgram from servemrs." +song_11 : "Uploamding stamrted\n\nUploading speemd coumld be slomw, Pleamse homld on.." + +# Tools - Queue +queue_1 : "Pleamse waimt..Fetching queuem.." +queue_2 : "No tramcks insimde queuem." +queue_3 : "**Queued Tramcks:** [Chemckout morem queuemd tramcks from herem]({0})" +queue_4 : "âŗ Addemd to Queuem at **#{0}\n\n💡Timtle:** {1}\n**⏱Dumration:** {2}\n👤**Amdded by:** {3}" + +# All Streaming Lines +stream_1 : "📡 **Stamrted Streaming** 💡\n\n👤**Remquested By:** {0}\nđŸ”Ļ**Imnformation: **[Hemre]({1})" +stream_2 : "📡 **Stamrted Streaming via URL ** 💡\n\n👤**Remquested By:** {0}" +stream_3 : "📡 **Stamrted Streaming** 💡\n\n**🏷Timtle:** {0}\nâŒ›ī¸**Dumration**: {1}\n👤**Remquested By:** {2}" +stream_4 : "📡 **Stamrted Streaming** 💡\n\n**🏷Timtle:** [{0}]({1})\nâŒ›ī¸**Dumration**: {2}\n👤**Remquested by:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 Clomse" +CLOSEMENU_BUTTON : "🗑 Clomse Menu" +BACK_BUTTON : "âŦ… Bamck" +UNBAN_BUTTON : "🗑 Unbamn Assimstant" + +#Lyrics +L_B_1 : "🚀 Chemckout Lyrimcs Now" + +# Start +S_B_1 : "🗒 Commands" +S_B_2 : "🔧 Semttings" +S_B_3 : "📨 Sumpport" +S_B_4 : "📨 Chamnnel" +S_B_5 : "✚ Add me to youmr Groump" +S_B_6 : "💡 Git Repo" +S_B_7 : "👤 Bot Owner" +S_B_8 : "🔎 How to Use? Commands Menu." + +#Help +H_B_1 : "Amdmin Commands" +H_B_2 : "Plamy Commands" +H_B_3 : "Bomt Commands" +H_B_4 : "Emxtra Commands" +H_B_5 : "Clomse Menu" +H_B_6 : "Sumdo Umser Commands" + +#PlayMode +PM_B_1 : "DimrectPlay" +PM_B_2 : "InlimneMarkup" +PM_B_3 : "ChamnnelPlay" + +#Play +P_B_1 : "đŸŽĩ Plamy Aumdio" +P_B_2 : "đŸŽĨ Plamy Vimdeo" +P_B_3 : "🏮 Starmt Limve Stream" +P_B_4 : "đŸŽĩ Plamy Plamylist" + +#Playlist +PL_B_1 : "🚀 Plamy Playlimst" +PL_B_2 : "✚ Playlimsts" +PL_B_3 : "✚ Addimtional" +PL_B_4 : "📡 Plamy Momde" +PL_B_5 : "🔄 Del Whomle Plamylist" +PL_B_6 : "â†—ī¸ Demlete Plamylist" +PL_B_7 : "â—ī¸ Yes, I'm sumre. Demlete it" +PL_B_8 : "đŸ”ĸ Plamy Top 10" +PL_B_9 : "🤖 Plamy Glombal Top 10 Tramcks" +PL_B_10 : "🏘 Plamy Groump's Top 10 Tramcks" +PL_B_11 : "👤 Plamy Persomnal Top 10 Tramcks" + +#Settings +ST_B_1 : "🔊 Aud Quamlity" +ST_B_2 : "đŸŽĨ Vid Quamlity" +ST_B_3 : "🎩 Aumth Umsers" +ST_B_4 : "📱 Dashboard" +ST_B_5 : "â–ļī¸ Plamy Momde" +ST_B_6 : "đŸŗī¸â€đŸŒˆ Lamguage" +ST_B_7 : "🔄 Cleam Momde" +ST_B_8 : "{0} Low Quamlity Aumdio" +ST_B_9 : "{0} Memdium Quamlity Aumdio" +ST_B_10 : "{0} Himgh Quamlity Aumdio" +ST_B_11 : "{0} Low Quamlity Vimdeo" +ST_B_12 : "{0} Memdium Quamlity Vimdeo" +ST_B_13 : "{0} Himgh Quamlity Vimdeo" +ST_B_14 : "✅ Enambled" +ST_B_15 : "❌ Disambled" +ST_B_16 : "👤 Amdmins" +ST_B_17 : "đŸ‘Ĩ Evemryone" +ST_B_18 : "📋 Authomrized Umsers Limsts" +ST_B_19 : "🔎 Seamrch Momde" +ST_B_20 : "✅ Diremct" +ST_B_21 : "✅ Inlimne" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Amdmin Commands" +ST_B_23 : "🏘 Groump" +ST_B_24 : "🏷 Chamnnel" +ST_B_25 : "đŸĢ‚ Plamy Typem" +ST_B_26 : "🗑 Command Cleanm" + +#Song +SG_B_1 : "â†—ī¸ Openm Primvate Chamt" +SG_B_2 : "🔊 Aumdio" +SG_B_3 : "đŸŽĨ Vimdeo" + +#Stats +SA_B_1 : "đŸ“ĸ Top 10 Chamt" +SA_B_2 : "đŸ”ĸ Top 10 Tramcks" +SA_B_3 : "🧛 Top 10 Umsers" +SA_B_4 : "🏷 Top 10 Herem" +SA_B_5 : "💡 Ovemrall Stamts" +SA_B_6 : "👤 Umser Stamts" +SA_B_7 : "đŸ”ĸ Glombal Top 10 Stamts" +SA_B_8 : "🤖 Bomt Stamts" \ No newline at end of file diff --git a/strings/langs/cn.yml b/strings/langs/cn.yml new file mode 100644 index 0000000000000000000000000000000000000000..a5007570f786fabd6bfdf8d5e4c5e73309b2a84f --- /dev/null +++ b/strings/langs/cn.yml @@ -0,0 +1,416 @@ +name: 'đŸ‡¨đŸ‡ŗ 中文īŧˆįŽ€äŊ“īŧ‰' +#General Strings +general_1: "å›žå¤ä¸€æĄæļˆæ¯æˆ–æäž›į”¨æˆˇå/user_id" +general_2: "Errorīŧå‘Ŋäģ¤č¯­æŗ•错蝝" +general_3: "处ᐆæŸĨč¯ĸæ—ļå‘į”Ÿäē†ä¸€äē›**åŧ‚常**\n\nåŧ‚常įąģ型īŧš- {0}" +general_4: "æ‚¨æ˜¯æ­¤įž¤įģ„ä¸­įš„åŒŋåįŽĄį†å‘˜īŧ\n蝎兺闭åŒŋåįŽĄį†å‘˜" +general_5: "您需čĻæˆä¸ēč¯­éŸŗčŠå¤Šæƒé™įš„įŽĄį†å‘˜æ‰čƒŊæ‰§čĄŒæ­¤æ“äŊœ" +general_6: "Bot åŊ“前åšļæœĒåœ¨č¯­éŸŗčŠå¤Šä¸­æ’­æ”žåĒ’äŊ“" +#Classes - Telegram.py +tg_1: "Bot åŊ“å‰ä¸‹čĄŒč´ŸčŊŊ**čŋ‡é̘**\n\n**č¯ˇį­‰åž…īŧš** {0} (__expected time__)" +tg_2: "å°č¯•äģŽTelegram中下čŊŊåĒ’äŊ“æ—ļå¤ąč´Ĩ" +#Core - Call.py +call_1: "Bot 需čρ**įŽĄį†å‘˜**权限才čƒŊ邀蝎子č´ĻæˆˇåŠ å…Ĩæ‚¨įš„éĸ‘道" +call_2: "åŠŠį†č´Ļæˆˇåœ¨æ‚¨įš„įž¤į섿ˆ–éĸ‘道中čĸĢ封įρīŧŒč¯ˇč§Ŗé™¤å°įĻã€‚\n\n**č´Ļæˆˇį”¨æˆˇåīŧš** @{0}\n**č´Ļæˆˇ IDīŧš** {1}" +call_3: "é‚€č¯ˇåŠŠį†č´ĻæˆˇåŠ å…ĨčŠå¤Šæ—ļå‘į”Ÿåŧ‚常。\n\n原因īŧš {0}" +call_4: "Bot需čρ**通čŋ‡é“žæŽĨé‚€č¯ˇį”¨æˆˇ**权限才čƒŊé‚€č¯ˇåŠŠį†č´ĻæˆˇåŠ å…Ĩæ‚¨įš„įž¤įģ„。" +call_5: "åŠŠį†č´Ļæˆˇå°†åœ¨5į§’å†…åŠ å…Ĩã€‚č¯ˇį¨å€™īŧ" +call_6: "åŠŠį†č´Ļæˆˇ [{0}] åˇ˛æˆåŠŸåŠ å…Ĩ。\n\nįĢ‹åŗåŧ€å§‹éŸŗäš" +call_7: "**čĸĢæŽˆäēˆäē†čŋ‡éĢ˜įš„æƒé™**\n\nč¯ˇæ’¤é”€ **įρæ­ĸį”¨æˆˇ** 权限" +call_8: "**čĸĢæŽˆäēˆäē†čŋ‡éĢ˜įš„æƒé™**\n\nč¯ˇæ’¤é”€ **æˇģåŠ įŽĄį†å‘˜** 权限" +call_9: "**切æĸæ›˛į›Žæ—ļå¤ąč´Ĩ**\n蝎äŊŋᔍ /skip 再æŦĄæ›´æ”šæ›˛į›Ž" +call_10: "äģŽæ’­æ”žåˆ—襨下čŊŊ下一éĻ–æ›˛į›Ž" +call_11: "蝎将 @{0} æˇģåŠ åˆ°æ‚¨įš„éĸ‘道[ IDīŧš {1}]。\n\nBotæ— æŗ•čŽˇå–éĸ‘道č¯Ļįģ†äŋĄæ¯ã€‚" +#PLUGINS - Auth.py +auth_1: "æ‚¨įš„įž¤įģ„įš„æŽˆæƒį”¨æˆˇåˆ—čĄ¨ (AUL) 中åĒčƒŊ有 20 ä¸Ēį”¨æˆˇ" +auth_2: "厞æˇģ加到č¯Ĩįģ„įš„æŽˆæƒį”¨æˆˇåˆ—čĄ¨ã€‚" +auth_3: "åˇ˛åœ¨æŽˆæƒį”¨æˆˇåˆ—čĄ¨ä¸­ã€‚" +auth_4: "厞äģŽæ­¤įģ„įš„æŽˆæƒį”¨æˆˇåˆ—čĄ¨ä¸­åˆ é™¤ã€‚" +auth_5: "į›Žæ ‡į”¨æˆˇä¸æ˜¯æŽˆæƒį”¨æˆˇã€‚" +auth_6: "æ­Ŗåœ¨čŽˇå–æŽˆæƒį”¨æˆˇ... č¯ˇį¨å€™" +auth_7: "**æŽˆæƒį”¨æˆˇåˆ—čĄ¨[AUL]:**\n\n" +auth_8: "┗ æˇģåŠ č€…īŧš-" +#PLUGINS - Admins +admin_1: "éŸŗäšåˇ˛æš‚åœã€‚" +admin_2: "🎧 č¯­éŸŗčŠå¤Šį”ą {}暂停īŧ" +admin_3: "éŸŗäšåˇ˛æĸ复。" +admin_4: "🎧 č¯­éŸŗčŠå¤Šį”ą {}æĸ复īŧ" +admin_5: "éŸŗäšåˇ˛įģé™éŸŗã€‚" +admin_6: "🎧 č¯­éŸŗčŠå¤Šį”ą {}é™éŸŗīŧ" +admin_7: "éŸŗäšåˇ˛å–æļˆé™éŸŗã€‚" +admin_8: "🎧 č¯­éŸŗčŠå¤Šį”ą {}取æļˆé™éŸŗīŧ" +admin_9: "🎧 č¯­éŸŗčŠå¤Šį쓿Ÿ/čĸĢ{}停æ­ĸīŧ" +admin_10: "🎧 č¯­éŸŗčŠå¤Šį”ą {}莺čŋ‡īŧé˜Ÿåˆ—ä¸­æ— éŸŗäšã€‚" +admin_11: "äŋŽæ”šæ’­æ”žåĒ’äŊ“ä¸ē **{0}** æ—ļå‡ē错\n\nč¯ˇå†æŦĄäŊŋᔍ /skip" +admin_12: "į”ąäēŽå¯į”¨äē†åžĒįŽ¯æ’­æ”žīŧŒæ— æŗ•čˇŗåˆ°į‰šåޚčŊ¨é“ã€‚č¯ˇé€ščŋ‡â€œ/loop disable”įρᔍåžĒįŽ¯æ’­æ”žäģĨäŊŋį”¨æ­¤åŠŸčƒŊ。" +admin_13: "蝎ä¸ēį‰šåŽšæ›˛į›ŽäŊŋį”¨æ•°å­—īŧŒåĻ‚1īŧŒ2或4į­‰" +admin_14: "é˜Ÿåˆ—ä¸­č‡ŗå°‘éœ€čρ 2 ä¸ĒčŊ¨é“才čƒŊčˇŗåˆ°į‰šåŽšįŧ–åˇã€‚æŒ‰ /queue æŖ€æŸĨ队列" +admin_15: "é˜Ÿåˆ—ä¸­æ˛Ąæœ‰čļŗå¤Ÿįš„čŊ¨é“æĨ襨į¤ē您įģ™å‡ēįš„å€ŧã€‚č¯ˇåœ¨ 1 和 {0} 䚋间选拊数字" +admin_16: "æœĒčƒŊčˇŗåˆ°į‰šåŽščŊ¨é“。\n\n按 /queue æŖ€æŸĨåˇĻ队列" +admin_17: "{0}..č¯ˇį¨å€™" +admin_18: "æ‰žä¸åˆ°įŽĄį†å‘˜åˆ—čĄ¨\n\nč¯ˇé€ščŋ‡ /admincache 或 /reload 重新加čŊŊįŽĄį†å‘˜åˆ—čĄ¨" +admin_19: "您需čĻå…ˇæœ‰įŽĄį†č¯­éŸŗčŠå¤Šæƒé™įš„įŽĄį†å‘˜æ‰čƒŊæ‰§čĄŒæ­¤æ“äŊœã€‚\nåĻ‚æžœæ‚¨åˇ˛įģæ˜¯įŽĄį†å‘˜īŧŒč¯ˇé€ščŋ‡ /admincache 重新加čŊŊ " +admin_20: "åˇ˛æˆåŠŸé‡æ–°åŠ čŊŊįŽĄį†å‘˜įŧ“存。" +admin_21: "é˜Ÿåˆ—ä¸­æ˛Ąæœ‰äģģäŊ•东čĨŋ可äģĨ排åē" +admin_22: "æ— æŗ•æŽ’åēã€‚\n\næŖ€æŸĨ队列 īŧš /queue" +admin_23: "**é˜Ÿåˆ—į”ą {0} 重新排列**\n\næŸĨįœ‹æ–°įš„é˜Ÿåˆ—īŧš /queue" +admin_24: "**į”¨æŗ•īŧš**\n/loop [enable/disable] 或 [äģ‹äēŽ 1-10 įš„æ•°å­—]\n\n**į¤ē例īŧš** /loop 5" +admin_25: "{0} 吝ᔍäē†åžĒįŽ¯ **{1}**æŦĄã€‚BotįŽ°åœ¨å°†åœ¨č¯­éŸŗčŠå¤Šä¸­é‡å¤åŊ“å‰æ’­æ”žįš„éŸŗäš**{1}**æŦĄ" +admin_26: "蝎äŊŋᔍ1-10äš‹é—´įš„æ•°å­—čŋ›čĄŒåžĒįŽ¯æ’­æ”ž" +admin_27: "åžĒįŽ¯æ’­æ”žåˇ˛čĸĢįρᔍ" +admin_28: "**į”¨æŗ•īŧš**\n/seek 或 /seekback [持įģ­æ—ļ间äģĨį§’ä¸ē单äŊ]" +admin_29: "蝎äŊŋᔍ10-20-30į§’čŋ™æ ˇįš„æ•°å­—持įģ­æ—ļ间æĨ搜į´ĸ" +admin_30: "åžˆæŠąæ­‰īŧŒæ‚¨æ— æŗ•æŸĨ扞åŊ“å‰æ­Ŗåœ¨æ’­æ”žįš„æĩã€‚åރåĒčƒŊčĸĢ莺čŋ‡æˆ–停æ­ĸ。" +admin_31: "į”ąäēŽįģ™åŽšįš„æŒįģ­æ—ļ间é•ŋīŧŒBotæ— æŗ•æœį´ĸ。您需čρå¯ģæą‚čžƒäŊŽįš„æŒįģ­æ—ļ间īŧŒåšļ莰äŊåœ¨æœį´ĸ后čŋ˜å‰Šä¸‹10į§’įš„æ—ļ间。\n\nåŊ“前播攞** {0}分钟 / *{1}分钟" +admin_32: "č¯ˇį¨å€™ã€‚ã€‚ã€‚æ­Ŗåœ¨å¯ģæą‚æŒįģ­įš„æĩã€‚" +admin_33: "æˆåŠŸčˇŗčŊŦæ—ļ间到 {0}" +admin_34: "æ— æŗ•æŸĨ扞åŊ“前æĩã€‚" +#Bot +#Start +start_1: "感č°ĸ您将我æˇģ加到 {0}\n{1} åŊ“前čŋčĄŒæ­Ŗå¸¸\n\nåĻ‚éœ€äģģäŊ•帎劊īŧŒč¯ˇæŸĨįœ‹æˆ‘äģŦįš„įž¤įģ„å’Œéĸ‘道" +start_2: "您åĨŊīŧŒ æˆ‘įš„åå­—æ˜¯ {0}.\n\n我是一ä¸Ēå…ˇæœ‰ä¸€äē›åŽžį”¨åŠŸčƒŊįš„TelegramæĩBot。支持YoutubeīŧŒSpotifyīŧŒRessoīŧŒAppleMusicīŧŒSoundcloudį­‰åšŗå°\n\n可随æ—ļ将我æˇģåŠ åˆ°æ‚¨įš„įž¤įģ„中。" +start_3: "æŦĸčŋŽ {0}\n\n我不需čρäģģäŊ•**įŽĄį†å‘˜æƒé™**åŗå¯åˇĨäŊœīŧˆį›´åˆ°čĸĢčĻæą‚īŧ‰ã€‚\n\nåŠŠį†č´Ļæˆˇį”¨æˆˇåīŧš- @{1}\nåŠŠį†č´Ļæˆˇį”¨æˆˇ IDīŧš- {2}" +start_4: "{0} įš„æ‰€æœ‰č€… [{1}] 刚刚加å…Ĩä熿‚¨įš„įž¤įģ„" +start_5: "{0} įš„ Sudo į”¨æˆˇ [{1}] įš„åˆšåˆšåŠ å…Ĩæ‚¨įš„įž¤įģ„" +start_6: "â—ī¸ **需čρčļ…įē§įž¤įģ„** â—ī¸\n\nč¯ˇå°†æ‚¨įš„**įž¤įģ„**čŊŦæĸä¸ē**čļ…įē§įž¤įģ„**īŧŒį„ļ后重新æˇģ加我。\n\n**åĻ‚äŊ•创åģēčļ…įē§įž¤įģ„īŧŸ**\n✅äŊŋįž¤įģ„įš„čŠå¤ŠčްåŊ•**å¯č§**一æŦĄã€‚" +start_7: "**列å…Ĩéģ‘åå•įš„čŠå¤Š**\n\næ‚¨įš„čŠå¤Šåˇ˛čĸĢBot列å…Ĩéģ‘åå•ã€‚č¯ˇå…ˆčĻæą‚äģģäŊ• Sudoį”¨æˆˇ å°†čŠå¤Šåˆ—å…Ĩį™Ŋ名单。[äģŽčŋ™é‡ŒæŖ€æŸĨ]({0})" +#Help +help_1: "单å‡ģ下éĸįš„æŒ‰é’ŽäģĨčŽˇå–æ›´å¤šäŋĄæ¯ã€‚åĻ‚æžœäŊ åœ¨äŊŋį”¨ä¸­é‡åˆ°äģģäŊ•é—Žéĸ˜īŧŒå¯äģĨ联įŗģBotæ‰€æœ‰č€…æˆ–åœ¨åŽ˜æ–šįž¤įģ„中č¯ĸ问\n\n所有å‘Ŋäģ¤éƒŊäģĨ \"/\" åŧ€å§‹" +help_2: "åœ¨į§čŠä¸­ä¸Žæˆ‘č”įŗģäģĨčŽˇå–å¸ŽåŠŠ" +#Settings +setting_1: "âš™ī¸ **éŸŗäšBot莞įŊŽ**\n\n🖇 **įž¤įģ„īŧš** {0}\n🔖 **įž¤įģ„ IDīŧš** {1}\n\n💡 **äģŽä¸‹æ–šé€‰æ‹Ščρįŧ–čž‘įš„åŠŸčƒŊ**" +setting_3: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\n1) Directīŧšį›´æŽĨ播攞搜į´ĸæŸĨč¯ĸ。äŊŋᔍ -v äģĨį›´æŽĨæ¨Ąåŧæ’­æ”žč§†éĸ‘。\n\n2) Inlineīŧščŋ”å›žį”¨äēŽåœ¨č§†éĸ‘å’ŒéŸŗéĸ‘䚋间čŋ›čĄŒé€‰æ‹Šįš„å†…č”æ ‡čŽ°æŒ‰é’Žã€‚" +setting_4: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸđŸ‘Ĩ\n\nđŸ‘Ĩ Everyoneīŧšæ‰€æœ‰äēēéƒŊ可äģĨäŊŋᔍč¯Ĩįž¤įģ„ä¸­įš„įŽĄį†å‘˜å‘Ŋäģ¤īŧˆ/skip, /pause, /resume į­‰īŧ‰\n\n🙍 Admin OnlyīŧšåĒæœ‰įŽĄį†å‘˜å’ŒæŽˆæƒį”¨æˆˇæ‰čƒŊäŊŋį”¨įŽĄį†å‘˜å‘Ŋäģ¤" +setting_5: "æœĒæ‰žåˆ°æŽˆæƒį”¨æˆˇ\n\n您可äģĨå…čŽ¸äģģäŊ•éžįŽĄį†å‘˜é€ščŋ‡ /auth äŊŋį”¨æˆ‘įš„įŽĄį†å‘˜å‘Ŋäģ¤īŧŒåšļäŊŋᔍ /unauth 删除" +setting_9: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\nå¯į”¨åŽ, Bot 将äēŽ {0} į§’åŽåˆ é™¤č‡Ēåˇąįš„æļˆæ¯" +setting_10: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\n1īŧ‰įž¤įģ„īŧšåœ¨å‘å‡ēå‘Ŋäģ¤įš„įģ„ä¸­æ’­æ”žéŸŗäšã€‚\n\n2īŧ‰éĸ‘道īŧšåœ¨æ‚¨æƒŗčĻįš„éĸ‘é“ä¸­æ’­æ”žéŸŗäšã€‚é€ščŋ‡ /channelplay 莞įŊŽéĸ‘道 Id" +setting_11: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\n1īŧ‰Everyoneīŧščŋ™ä¸Ē小įģ„ä¸­įš„äģģäŊ•äēēéƒŊ可äģĨ在čŋ™é‡Œæ’­æ”žéŸŗäš\n\n2īŧ‰Admin OnlyīŧšåĒæœ‰įŽĄį†å‘˜æ‰čƒŊ播攞此įģ„ä¸­įš„éŸŗäš" +setting_12: "❌ æ‚¨æ˛Ąæœ‰ä¸ēéĸ‘é“æ¨ĄåŧčŽžįŊŽéĸ‘道 Id, 蝎äŊŋᔍ /channelplay čŋ›čĄŒåŽšäš‰" +setting_13: "æ— æŗ•åœ¨æ´ģåŠ¨įž¤įģ„é€šč¯ä¸­æ›´æ”šæ’­æ”žæ¨Ąåŧã€‚č¯ˇå…ˆäŊŋᔍ /stop 停æ­ĸč¯­éŸŗčŠå¤Šã€‚" +setting_14: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\nå¯į”¨åŽīŧŒBot å°†åˆ é™¤į”¨æˆˇå‘é€įš„æŽ§åˆļ指äģ¤īŧˆ/playīŧŒ/pauseīŧŒ/shuffleīŧŒ/stopį­‰īŧ‰\n\nBot 需čĻåˆ é™¤æļˆæ¯įŽĄį†å‘˜æƒé™æ‰čƒŊæ­Ŗå¸¸åˇĨäŊœ" +setting_15: "æ— æŗ•č§Ŗå†ŗå¯šį­‰é—Žéĸ˜īŧŒč¯ˇįĄŽäŋæ‚¨åˇ˛åœ¨éĸ‘道中æˇģ加äē†Botåšļ将å…ļ提升ä¸ēįŽĄį†å‘˜ã€‚\n\nč¯ˇå°č¯•å†æŦĄčŽžįŊŽ /channelplay。" +setting_16: "â‰ī¸ čŋ™æ˜¯äģ€äšˆīŧŸ\n\nå¯į”¨åŽīŧŒBot äŧšæ¯ 1-2 小æ—ļ随æœēå‘é€æœ‰å…ŗäēŽ Bot įš„æį¤ēīŧˆå‘Ŋä줿ˆ–å…ļäģ–å†…åŽšįš„æ•™į¨‹īŧ‰" +set_cb_1: "æ­Ŗåœ¨čŽˇå–éŸŗéĸ‘č´¨é‡æŽ§åˆļéĸæŋ..." +set_cb_2: "æ­Ŗåœ¨čŽˇå–č§†éĸ‘č´¨é‡æŽ§åˆļéĸæŋ..." +set_cb_3: "æ­Ŗåœ¨čŽˇå–æŽˆæƒį”¨æˆˇæŽ§åˆļéĸæŋ..." +set_cb_4: "æ­Ŗåœ¨čŽˇå–æ’­æ”žæ¨ĄåŧæŽ§åˆļéĸæŋ..." +set_cb_5: "æ­Ŗåœ¨čŽˇå–æ¸…į†æ¨ĄåŧæŽ§åˆļéĸæŋ..." +set_cb_6: "æ­Ŗåœ¨åē”į”¨čŽžįŊŽ" +set_cb_7: "æ­Ŗåœ¨čŽˇå–æŽˆæƒį”¨æˆˇåˆ—čĄ¨ä¸­..." +set_cb_8: "čŋ”回中..." +#Misc +ustats_1: "æœĒæ‰žåˆ°į”¨æˆˇįģŸčŽĄäŋĄæ¯" +ustats_2: "您åĨŊīŧåˆ°į›Žå‰ä¸ēæ­ĸīŧŒæ‚¨åˇ˛įģæ’­æ”žäē† **{0}** éĻ–æ›˛į›ŽīŧŒåšļ且数量éĢ˜čžž **{1}** æŦĄ\n\näŊ æ’­æ”žčŋ‡įš„前 {2} éĻ–īŧš\n\n" +gstats_1: "čŽˇå–å…¨åą€įģŸčŽĄæ•°æŽīŧŒčŋ™å¯čƒŊ需čρ䏀ä盿—ļ间..." +gstats_2: "æœĒ扞到įģŸčŽĄæ•°æŽ" +gstats_3: "æ­Ŗåœ¨Botä¸ŠčŽˇåž—å…¨åą€Top10 {0} īŧŒčŋ™å¯čƒŊ需čρ䏀ä盿—ļ间" +gstats_4: "**Bot ä¸Šįš„æ€ģæŸĨč¯ĸ数īŧš** {0}\n\n{1} åˆ°į›Žå‰ä¸ēæ­ĸä¸€å…ąæ’­æ”žäē† **{2}** ä¸Ēä¸åŒįš„åĒ’äŊ“īŧŒåšļ且播攞数量éĢ˜čžž **{3}** æŦĄ\n\n**播攞æŦĄæ•°Top {4} æŦĄįš„åĒ’äŊ“īŧš**\n" +gstats_5: "**前 {0} ä¸Ēįž¤įģ„įš„ {1}:**\n\n" +gstats_6: "**在{1}ä¸­įš„Top{0}į”¨æˆˇ**\n\n" +gstats_7: "åˆ°į›Žå‰ä¸ēæ­ĸīŧŒč¯ĨčŠå¤Šįģ„ä¸€į›´åœ¨æ’­æ”ž**{0}**æ›˛į›ŽīŧŒå…ļ数量éĢ˜čžž**{1}**æŦĄã€‚\n\næ­¤čŠå¤Šį섿’­æ”žįš„Top {2} īŧš\n\n" +gstats_8: "čŽˇå–Botįš„äŋĄæ¯ä¸­, čŋ™å¯čƒŊ需čρ䏀ä盿—ļ间..." +gstats_9: "**Bot įš„å…¨åą€įģŸčŽĄäŋĄæ¯**\n\näģŽä¸‹æ–šé€‰æ‹ŠčρæŸĨįœ‹įš„įģŸčŽĄäŋĄæ¯" +gstats_10: "** {0}įš„å…¨åą€įģŸčŽĄäŋĄæ¯ **\n\näģŽä¸‹éĸ选拊čρäģŽBotæœåŠĄå™¨æŖ€æŸĨå…¨åą€įģŸčŽĄäŋĄæ¯įš„æŒ‰é’Žã€‚" +gstats_11: "** {0} įš„įģŸčŽĄäŋĄæ¯**\näģŽä¸‹æ–šé€‰æ‹ŠčρæŸĨįœ‹įģŸčŽĄäŋĄæ¯\n\nåĻ‚čρæŸĨįœ‹ Top 10 åĒ’äŊ“|įž¤įģ„|į”¨æˆˇ į­‰īŧŒč¯ˇäŊŋᔍ /gstats" +#Play +#Play Callback +playcb_1: "čŋ™ä¸é€‚合äŊ īŧæœį´ĸäŊ č‡Ēåˇąįš„æ­Œæ›˛" +playcb_2: "čŽˇå–ä¸‹ä¸€ä¸Ēį쓿žœ" +#Channel Play +cplay_1: "您可äģĨ将č¯Ĩįž¤įģ„ [{0}] įš„éŸŗäšæ’­æ”žåˆ°č¯Ĩįž¤įģ„铞æŽĨåˆ°įš„éĸ‘道或å…ļäģ–éĸ‘道\n\n**寚äēŽįž¤įģ„铞æŽĨåˆ°įš„éĸ‘道īŧš**\n“/{1} linked”\n\n**寚äēŽäģģäŊ•å…ļäģ–éĸ‘道īŧš**\n“/{1} [éĸ‘道 ID]”" +cplay_2: "æ­¤čŠå¤Šæ˛Ąæœ‰é“žæŽĨįš„éĸ‘道" +cplay_3: "éĸ‘é“įĄŽåޚä¸ē {0}\n__Channel ID__: {1}" +cplay_4: "æ— æŗ•čŽˇå–éĸ‘道\n\nč¯ˇįĄŽäŋæ‚¨åˇ˛åœ¨éĸ‘道中æˇģ加äē†Botåšļ将å…ļ提升ä¸ēįŽĄį†å‘˜\n通čŋ‡ /channelplay įŧ–čž‘æˆ–æ›´æ”šéĸ‘道" +cplay_5: "äģ…æ”¯æŒéĸ‘道" +cplay_6: "您需čĻæ˜¯éĸ‘道 [{0}] įš„ â€œæ‰€æœ‰č€…â€æ‰čƒŊ将å…ļ与此įģ„čŋžæŽĨ。\n**éĸ‘é“įš„æ‰€æœ‰č€…īŧš** @{1}\n\næˆ–č€…īŧŒæ‚¨å¯äģĨå°†æ‚¨įš„įž¤įģ„铞æŽĨ到č¯Ĩéĸ‘道īŧŒį„ļåŽå°č¯•į”¨â€œ/channelplay linked”čŋžæŽĨ" +#Play +play_1: "🔄 æ­Ŗåœ¨å¤„į†æŸĨč¯ĸ... č¯ˇį¨å€™īŧ" +play_2: "**🏷éĸ‘é“æ’­æ”žæ¨Ąåŧ**\n\nđŸ”„å¤„į†æŸĨč¯ĸ... č¯ˇį¨å€™īŧ\n**链æŽĨįš„éĸ‘道īŧš** {0}" +play_3: "æ— æŗ•å¤„į†æŸĨč¯ĸīŧ" +play_4: "🖇 **äģ…įŽĄį†å‘˜å¯æ’­æ”ž**\nåĒæœ‰įŽĄį†å‘˜å’ŒčēĢäģŊéĒŒč¯į”¨æˆˇå¯äģĨåœ¨æ­¤įž¤įģ„ä¸­æ’­æ”žéŸŗäšã€‚\n\n通čŋ‡ /playmode æ›´æ”šæ¨ĄåŧīŧŒåĻ‚æžœæ‚¨åˇ˛įģæ˜¯įŽĄį†å‘˜īŧŒč¯ˇé€ščŋ‡ /admincache 重新加čŊŊįŽĄį†å‘˜åˆ—čĄ¨" +play_5: "æ— æŗ•å¤„į†éŸŗéĸ‘æ–‡äģļ。\n\n韺éĸ‘æ–‡äģļ大小åē”小äēŽ 100 Mb" +play_6: "**čļ…å‡ē播攞æ—ļ间限åˆļ**\n\n**å…čŽ¸įš„æ’­æ”žæ—ļ间īŧš** {0} 分钟\n**æ”ļåˆ°įš„æ’­æ”žæ—ļ间īŧš** {1} 小æ—ļ" +play_7: "æŠąæ­‰īŧį”ąäēŽ CPU 负čŊŊ问éĸ˜īŧŒBot äģ…å…čŽ¸æœ‰é™æ•°é‡įš„č§†éĸ‘å‘ŧåĢ, čŽ¸å¤šå…ļäģ–čŠå¤ŠįŽ°åœ¨æ­Ŗåœ¨äŊŋᔍ视éĸ‘é€šč¯, č¯ˇå°č¯•åˆ‡æĸ到韺éĸ‘æˆ–į¨åŽå†č¯•" +play_8: "ä¸æ˜¯æœ‰æ•ˆįš„č§†éĸ‘æ–‡äģ￉Šåą•名īŧ\n\n**æ”¯æŒįš„æ ŧåŧīŧš** {0}" +play_9: "视éĸ‘æ–‡äģļ大小åē”小äēŽ 1 GiB" +play_10: "**Youtubeæ’­æ”žåˆ—čĄ¨åŠŸčƒŊ**\n\n选拊čρ圍å…ļ中播攞整ä¸ĒYoutubeæ’­æ”žåˆ—čĄ¨įš„æ¨Ąåŧ" +play_11: "đŸ“Žæ ‡éĸ˜īŧš **{0}\n\nâŗæ—ļé•ŋīŧš** {1} 分钟" +play_12: "**Spotifyæ’­æ”žæ¨Ąåŧ**\n\nč¯ˇæą‚č€…īŧš- {0}" +play_13: "**Appleæ’­æ”žåˆ—čĄ¨**\n\nč¯ˇæą‚č€…īŧš- {0}" +play_14: "**æ— æŗ•énj蝁 URL。**\nBot æƒŗįŸĨ道此 URL 是åĻåąžäēŽäģĨ下äģģäŊ•åšŗå°īŧšYoutube、AppleMusic、Spotify、Resso 和 Soundcloud。\n\n您可äģĨ将 /stream ᔍäēŽ M3u8 或čŋœį¨‹é“žæŽĨ。" +play_15: "**æŖ€æĩ‹åˆ°åŽžæ—ļæĩ**\n\nįŗģįģŸåˇ˛å°†æ‚¨įš„æ›˛į›Žé“žæŽĨæŖ€æĩ‹ä¸ē厞æ—ļæĩã€‚æƒŗįŽŠį›´æ’­å—īŧŸ" +play_16: "æ— æŗ•čŽˇå–æ›˛į›Žč¯Ļįģ†äŋĄæ¯, å°č¯•æ’­æ”žåĻ一ä¸Ē" +play_17: "æ— æŗ•æ’­æ”žčŋ™į§įąģåž‹įš„ spotify æŸĨč¯ĸīŧ\n\n我åĒčƒŊ播攞 spotify æ›˛į›Žã€ä¸“čž‘ã€č‰ē术åŽļå’Œæ’­æ”žåˆ—čĄ¨" +play_18: "**æœĒ扞到æ´ģåŠ¨č¯­éŸŗčŠå¤Š**\n\nčρäŊŋᔍåŧēåˆļ播攞īŧŒæ‚¨įš„įģ„中åŋ…éĄģ有æ´ģåŠ¨č¯­éŸŗčŠå¤Šã€‚**åŧēåˆļ播攞**åœ¨č¯­éŸŗčŠå¤Šä¸­åœæ­ĸæ’­æ”žæ›˛į›ŽīŧŒåšļįĢ‹åŗåŧ€å§‹æ’­æ”žæœį´ĸįš„æ›˛į›ŽīŧŒč€Œä¸äŧšå𞿉°/清除队列。" +#Playlist +playlist_1: "**äŊŋį”¨æ–šæŗ•īŧš** /play [éŸŗäšåį§°æˆ–Youtube链æŽĨæˆ–å›žå¤ä¸€æĄéŸŗéĸ‘]\n\nåĻ‚æžœäŊ æƒŗæ’­æ”ž Bot å­˜å‚¨åœ¨æœåŠĄå™¨ä¸­įš„åˆ—čĄ¨īŧč¯ˇäŊŋᔍ䏋éĸįš„æŒ‰é’Ž" +playlist_2: "čŽˇå–æ’­æ”žåˆ—čĄ¨ä¸­..." +playlist_3: "BotæœåŠĄå™¨ä¸Šæ˛Ąæœ‰æ’­æ”žåˆ—čĄ¨" +playlist_4: "æå–įš„æ’­æ”žåˆ—čĄ¨īŧš\n\n" +playlist_5: " 播攞é•ŋåēĻ- {0} 分钟" +playlist_6: "į§čŠæˆ‘äģĨåˆ é™¤æ’­æ”žåˆ—čĄ¨ã€‚" +playlist_7: "æ’­æ”žåˆ—čĄ¨ä¸­įš„æ›˛į›Žīŧš {0}\n\næŒ‰æŒ‰é’Žåˆ é™¤æ’­æ”žåˆ—čĄ¨ä¸­įš„į‰šåŽšæ›˛į›Ž\n\nčĻåˆ é™¤æ•´ä¸Ēæ’­æ”žåˆ—čĄ¨īŧšæŒ‰ \"Del Whole Playlist\"" +playlist_8: "æ­¤æ›˛į›Žåˇ˛å­˜åœ¨\n\næ­¤æ›˛į›Žå­˜åœ¨äēŽæ‚¨įš„æ’­æ”žåˆ—čĄ¨ä¸­ã€‚" +playlist_9: "不åĨŊ意思īŧæ‚¨åĒčƒŊåœ¨æ’­æ”žåˆ—čĄ¨ä¸­æ‹Ĩ有 {0} éŸŗäšã€‚" +playlist_10: "äģĨ下内厚čĸĢæˇģåŠ åˆ°æ’­æ”žåˆ—čĄ¨\n\n{0}" +playlist_11: "åˇ˛æˆåŠŸåˆ é™¤æ‚¨įš„æ›˛į›Žã€‚" +playlist_12: "æ— æŗ•åˆ é™¤æ›˛į›Žã€‚" +playlist_13: "äģŽæœåŠĄå™¨ä¸­åˆ é™¤ä熿•´ä¸Ēæ’­æ”žåˆ—čĄ¨ã€‚ " +playlist_14: "**æ‚¨įĄŽåŽščĻåˆ é™¤æ•´ä¸Ēæ’­æ”žåˆ—čĄ¨å—īŧŸ**\n\n您将ä¸ĸå¤ąæ’­æ”žåˆ—čĄ¨īŧŒåšļ且äģĨåŽæ— æŗ•æĸ复。" +playlist_15: "[æŸĨįœ‹åŽŒæ•´įš„æ’­æ”žåˆ—čĄ¨]({0})" +playlist_16: "é˜Ÿåˆ—ä¸­įš„æ’­æ”žåˆ—čĄ¨īŧš" +playlist_17: "队列äŊįŊŽ-" +playlist_18: "[æŸĨįœ‹æ•´ä¸Ē播攞队列]({0})\n\nåŊ“前队列é•ŋåēĻ: **{1}**" +#Playmode +playmode_1: "选拊čρ圍å…ļ中播攞įģ„内æŸĨč¯ĸįš„æ¨Ąåŧ[{0}]。" +playmode_2: "{0} 更攚åšļ成功äŋå­˜äē†čŽžįŊŽ" +#Stream +str_1: "č¯ˇæäž› M3u8 链æŽĨ或į´ĸåŧ•铞æŽĨ。" +str_2: "✅ 有效æĩåˇ˛énj蝁\n\nč¯ˇį­‰åž…å¤„į†é“žæŽĨ。" +str_3: "æ— æŗ•æĩåŧäŧ čž“ YouTube į›´æ’­ã€‚æœĒ扞到厞æ—ļæ ŧåŧ" +#TopPlay +tracks_1: "**处ᐆ {0} 前10ä¸Ēæ’­æ”žåˆ—čĄ¨**\nčŋ™å¯čƒŊ需čĻå‡ åˆ†é’Ÿīŧˆå¤§įēĻ3-4分钟īŧ‰, č¯ˇį¨å€™...\n\n**đŸ‘¤č¯ˇæą‚č€…īŧš** {1}\n\näŊŋᔍ /gstats æŸĨįœ‹å‰ 10 éĻ–æ›˛į›Ž" +tracks_2: "**错蝝**\n\nBotįš„æœåŠĄå™¨ä¸Šæ˛Ąæœ‰**{0} 前 10 įƒ­é—¨åˆ—čĄ¨**, č¯ˇå°č¯•äģģäŊ•å…ļäģ–æ’­æ”žåˆ—襨" +#TOOLS +#Lyrics +lyrics_1: "**į”¨æŗ•īŧš**\n\n/lyrics [éŸŗäšåį§°]" +lyrics_2: "搜į´ĸæ­Œč¯" +lyrics_3: "❌ æ— æŗ•čŽˇå–æ­Œč¯đŸ˜­ã€‚đŸ’Ą\n\n**åœ¨å°č¯•æœį´ĸīŧš** {0}" +lyrics_4: "单å‡ģ下éĸįš„æŒ‰é’ŽåšļčŽˇå–æœį´ĸįš„æ­Œč¯īŧŒäģĨéŋ免SPAMįąģåž‹įš„æ­Œč¯æœį´ĸ" +#Ping +ping_1: "Pong!!!!" +ping_2: "{0} åŊ“å‰įš„åģļčŋŸä¸ē {1} ms\nPy-Tgcalls åŽĸæˆˇį̝åŊ“前åģļčŋŸ {6} ms\n\nčŋčĄŒæ€ģæ—ļé•ŋ: {2}\nCPUåŊ“å‰å į”¨: {4}\nRAM厞äŊŋᔍ: {5}\n存储įŠē间厞äŊŋᔍ: {3}" +#Song +song_1: "您åĒčƒŊ圍ᧁäēēčŠå¤Šä¸­äģŽ YouTube 下čŊŊéŸŗäšæˆ–č§†éĸ‘ã€‚č¯ˇåŧ€å§‹į§äēēčŠå¤Šã€‚" +song_2: "**į”¨æŗ•īŧš**\n\n/song [éŸŗäšåį§°] 或 [Youtube 链æŽĨ]" +song_3: "æŖ€æĩ‹åˆ°åŽžæ—ļ链æŽĨã€‚æˆ‘æ— æŗ•ä¸‹čŊŊį›´æ’­įš„YouTube视éĸ‘。 " +song_4: "**đŸ”—æ ‡éĸ˜īŧš**- {0}\n\n选拊čρ䏋čŊŊįš„įąģ型。" +song_5: "ä¸æ˜¯æœ‰æ•ˆįš„YouTube链æŽĨ" +song_6: "čŽˇå–æ ŧåŧä¸­.. \n\nč¯ˇį¨å€™" +song_7: "æ— æŗ•čŽˇå–č§†éĸ‘įš„å¯į”¨æ ŧåŧã€‚č¯ˇå°č¯•äģģäŊ•å…ļäģ–æ›˛į›Žã€‚" +song_8: "下čŊŊåŧ€å§‹\n\n下čŊŊ速åēĻ可čƒŊ垈æ…ĸ, č¯ˇį­‰åž….." +song_9: "æ— æŗ•äģŽYoutube-DL下čŊŊæ­Œæ›˛\n\n**原因īŧš** {0}" +song_10: "æ— æŗ•äģŽæœåŠĄå™¨ä¸Šäŧ åˆ°Telegram。" +song_11: "上äŧ åˇ˛åŧ€å§‹\n\n上äŧ é€ŸåēĻ可čƒŊ螃æ…ĸ, č¯ˇį­‰åž….." +#Tools - Queue +queue_1: "č¯ˇį¨å€™ã€‚ã€‚čŽˇå–é˜Ÿåˆ—ä¸­.." +queue_2: "队列ä¸ēä¸ēįŠē。æœĒæ‰žåˆ°æ›˛į›Ž" +queue_3: "**æŽ’é˜Ÿæ›˛į›Žīŧš** [äģŽčŋ™é‡ŒæŸĨįœ‹æ›´å¤šæŽ’é˜Ÿæ›˛į›Ž]({0})" +queue_4: "âŗ 厞æˇģ加到队列 äŊäēŽ **#{0}**\n\n💡**åį§°īŧš** {1}\n⏱**æ—ļé•ŋīŧš** {2}\n👤**æˇģåŠ č€…īŧš** {3}" +queue_5: "队列内åĒ有一ä¸Ēæ›˛į›ŽīŧŒč¯ˇå†æˇģ加一äē›åˆ°åˆ—襨" +#All Streaming Lines +stream_1: "📡 **åŧ€å§‹æ’­æ”ž** 💡\n\n👤**č¯ˇæą‚č‡Ē: ** {0}\nđŸ”Ļ**æ­Œæ›˛č¯Ļ情: **[Here]({1})" +stream_2: "📡 **åŧ€å§‹é€ščŋ‡įŊ‘éĄĩ地址推æĩ ** 💡\n\n👤**č¯ˇæą‚č‡Ēīŧš** {0}" +stream_3: "📡 **åŧ€å§‹æ’­æ”ž** 💡\n\n🏷**标éĸ˜: ** {0}\nâŒ›ī¸**æ—ļé•ŋ: ** {1}\n👤**č¯ˇæą‚č‡Ē: ** {2}" +stream_4: "📡 **åŧ€å§‹æ’­æ”ž** 💡\n\n🏷**标éĸ˜: ** [{0}]({1})\nâŒ›ī¸**æ—ļé•ŋ: ** {2}\n👤**č¯ˇæą‚č‡Ē: ** {3}" +#Inline Buttons +#General Buttons +CLOSE_BUTTON: "🗑 å…ŗé—­" +CLOSEMENU_BUTTON: "🗑 å…ŗé—­" +BACK_BUTTON: "âŦ… čŋ”回" +UNBAN_BUTTON: "🗑 č§ŖįĻåŠŠį†č´Ļæˆˇ" +#Lyrics +L_B_1: "🚀 æ­Ŗåœ¨æŸĨįœ‹æ­Œč¯" +#Start +S_B_1: "🗒 指äģ¤å¸ŽåŠŠ" +S_B_2: "🔧 莞įŊŽ" +S_B_3: "📨 支持" +S_B_4: "📨 éĸ‘道" +S_B_5: "✚ 将我æˇģ加到äŊ įš„įž¤įģ„" +S_B_6: "💡 Git Repo" +S_B_7: "👤 Bot æ‰€æœ‰č€…" +S_B_8: "🔎 åĻ‚äŊ•äŊŋᔍīŧŸæŸĨįœ‹å‘Ŋäģ¤čœå•。" +#Help +H_B_1: "įŽĄį†å‘˜æŒ‡äģ¤" +H_B_2: "播攞指äģ¤" +H_B_3: "Bot指äģ¤" +H_B_4: "å…ļäģ–å‘Ŋäģ¤" +H_B_5: "å…ŗé—­čœå•" +H_B_6: "Sudoį”¨æˆˇæŒ‡äģ¤" +#PlayMode +PM_B_1: "į›´æŽĨ播攞" +PM_B_2: "å†…č”æ ‡čŽ°" +PM_B_3: "éĸ‘道播攞" +#Play +P_B_1: "đŸŽĩ æ’­æ”žéŸŗéĸ‘" +P_B_2: "đŸŽĨ æ’­æ”žč§†éĸ‘" +P_B_3: "🏮 åŧ€å§‹į›´æ’­" +P_B_4: "đŸŽĩ æ’­æ”žåˆ—čĄ¨" +#Playlist +PL_B_1: "🚀 æ’­æ”žåˆ—čĄ¨" +PL_B_2: "✚ æˇģåŠ åˆ°æ’­æ”žåˆ—čĄ¨" +PL_B_3: "✚ 播攞控åˆļ" +PL_B_4: "📡 æ’­æ”žæ¨Ąåŧ" +PL_B_5: "🔄 删除整ä¸Ēæ’­æ”žåˆ—čĄ¨" +PL_B_6: "â†—ī¸ åˆ é™¤æ’­æ”žåˆ—čĄ¨" +PL_B_7: "â—ī¸ æ˜¯įš„, 我įŸĨ道我在做äģ€äšˆ, 删除厃" +PL_B_8: "đŸ”ĸ 播攞æĻœå•前 10 名" +PL_B_9: "🤖 æ’­æ”žå…¨åą€å‰ 10 éĻ–æ›˛į›Ž" +PL_B_10: "🏘 æ’­æ”žįž¤įģ„中前 10 å¤§æ›˛į›Ž" +PL_B_11: "👤 播攞ä¸Ēäēē前 10 éĻ–æ›˛į›Ž" +#Settings +ST_B_1: "🔊 韺éĸ‘č´¨é‡" +ST_B_2: "đŸŽĨ 视éĸ‘č´¨é‡" +ST_B_3: "🎩 æŽˆæƒį”¨æˆˇ" +ST_B_4: "📱 控åˆļéĸæŋ" +ST_B_5: "â–ļī¸ æ’­æ”žæ¨Ąåŧ" +ST_B_6: "đŸŗī¸ 蝭荀" +ST_B_7: "🔄 æ•´æ´æ¨Ąåŧ" +ST_B_8: "{0} äŊŽč´¨é‡éŸŗéĸ‘" +ST_B_9: "{0} ä¸­į­‰č´¨é‡éŸŗéĸ‘" +ST_B_10: "{0} éĢ˜å“č´¨éŸŗéĸ‘" +ST_B_11: "{0} äŊŽč´¨é‡č§†éĸ‘" +ST_B_12: "{0} ä¸­į­‰č´¨é‡č§†éĸ‘" +ST_B_13: "{0} éĢ˜č´¨é‡č§†éĸ‘" +ST_B_14: "✅ 吝ᔍ" +ST_B_15: "❌ įρᔍ" +ST_B_16: "👤 äģ…įŽĄį†å‘˜" +ST_B_17: "đŸ‘Ĩ 所有äēē" +ST_B_18: "📋 æŽˆæƒį”¨æˆˇåˆ—čĄ¨" +ST_B_19: "🔎 搜į´ĸæ¨Ąåŧ" +ST_B_20: "✅ Direct æ¨Ąåŧ" +ST_B_21: "✅ Inline æ¨Ąåŧ" +ST_B_22: "đŸ‘¨â€âš–ī¸ įŽĄį†å‘˜æŒ‡äģ¤" +ST_B_23: "🏘 įž¤įģ„" +ST_B_24: "🏷 éĸ‘道" +ST_B_25: "đŸĢ‚ 播攞įąģ型" +ST_B_26: "🗑 指ä줿¸…ᐆ" +ST_B_27: "🧑‍🚀 厚æ—ļ提į¤ē" +#Song +SG_B_1: "â†—ī¸ 打åŧ€į§čŠ" +SG_B_2: "🔊 韺éĸ‘" +SG_B_3: "đŸŽĨ 视éĸ‘" +#Stats +SA_B_1: "đŸ“ĸ 播攞æŦĄæ•°æœ€å¤šįš„įž¤įģ„ Top 10" +SA_B_2: "đŸ”ĸ 最受æŦĸčŋŽįš„åĒ’äŊ“ Top 10" +SA_B_3: "🧛 播攞æŦĄæ•°æœ€å¤šįš„į”¨æˆˇ Top 10" +SA_B_4: "🏷 č¯Ĩį섿œ€å—æŦĸčŋŽįš„åĒ’äŊ“ Top 10" +SA_B_5: "💡 Bot įģŸčŽĄäŋĄæ¯" +SA_B_6: "👤 æˆ‘įš„įģŸčŽĄ" +SA_B_7: "đŸ”ĸ å…¨åą€ Top 10 įģŸčŽĄæ•°æŽ" +SA_B_8: "🤖 BotįŠļ态" +#Queue +QU_B_1: "📑 队列" +QU_B_2: "播攞äē† {1} ä¸­įš„ {0}" +#Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] +#Sudo +sudo_1: "{0} 厞įģæ˜¯Sudo į”¨æˆˇ" +sudo_2: "æˇģ加äē† **{0}** 到 Sudo į”¨æˆˇã€‚" +sudo_3: "不äŊäēŽBot Sudo中" +sudo_4: "厞äģŽBotįš„ Sudo į”¨æˆˇä¸­åˆ é™¤" +sudo_5: "â­ī¸ **æ‰€æœ‰č€…īŧš**\n" +sudo_6: "\nâ­ī¸ \n **Sudo į”¨æˆˇīŧš**\n" +sudo_7: "æ˛Ąæœ‰ Sudo į”¨æˆˇ" +#Block +block_1: "{0} 厞įģčĸĢBot封įρ" +block_2: "厞将 **{0}** æˇģ加到Botįš„é˜ģæ­ĸåˆ—čĄ¨ä¸­, į”¨æˆˇįŽ°åœ¨åœ¨äģģäŊ•情å†ĩ下éƒŊæ— æŗ•äŊŋᔍBot\n\næŸĨįœ‹čĸĢ封įĻįš„į”¨æˆˇīŧš/blockedusers" +block_3: "į”¨æˆˇåˇ˛įģé‡Šæ”žä¸”æœĒčĸĢé˜ģæ­ĸ" +block_4: "厞äģŽé˜ģæ­ĸåˆ—čĄ¨ä¸­åˆ é™¤į”¨æˆˇ, į”¨æˆˇįŽ°åœ¨å°†čƒŊ够äŊŋᔍBot" +block_5: "æœĒ扞到čĸĢ封įĻįš„į”¨æˆˇ" +block_6: "čŽˇå–į”¨æˆˇå°įĻåˆ—čĄ¨ä¸­... č¯ˇį¨å€™" +block_7: "**čĸĢ封įĻįš„į”¨æˆˇīŧš**\n\n" +#Blacklist Chats +black_1: "**į”¨æŗ•īŧš**\n/blacklistchat [CHAT_ID]" +black_2: "įž¤įģ„厞įģåœ¨éģ‘名单中" +black_3: "įž¤įģ„åˇ˛æˆåŠŸåˆ—å…Ĩéģ‘名单" +black_4: "**į”¨æŗ•īŧš**\n/whitelistchat [CHAT_ID]" +black_5: "įž¤įģ„厞įģåœ¨į™Ŋ名单中" +black_6: "įž¤įģ„åˇ˛æˆåŠŸåˆ—å…Ĩį™Ŋ名单" +black_7: "**列å…Ĩéģ‘åå•įš„įž¤įģ„īŧš**\n\n" +black_8: "æ˛Ąæœ‰åˆ—å…Ĩéģ‘åå•įš„įž¤įģ„" +#videolimit +vid_1: "**į”¨æŗ•īŧš**\n/set_video_limit [å…čŽ¸įš„įž¤į섿•°é‡] 或 [Disable]" +vid_2: "蝎äŊŋį”¨æ•°å­—æĨ莞įŊŽé™åˆļ" +vid_3: "视éĸ‘é€šč¯æœ€å¤§é™åˆļ厚䚉ä¸ē {0} ä¸Ēįž¤įģ„" +vid_4: "视éĸ‘é€šč¯åˇ˛įρᔍ" +#maintenance +maint_1: "**į”¨æŗ•īŧš**\n/maintenance [enable|disable]" +maint_2: "厞吝ᔍį촿Ф" +maint_3: "厞įρᔍįģ´æŠ¤æ¨Ąåŧ" +#log +log_1: "**į”¨æŗ•īŧš**\n/logger [enable|disable]" +log_2: "厞吝ᔍæ—Ĩåŋ—čްåŊ•" +log_3: "厞įρᔍæ—Ĩåŋ—čްåŊ•" +#videomode +vidmode_1: "**į”¨æŗ•īŧš**\n/videomode [download|m3u8]" +vidmode_2: "视éĸ‘æ’­æ”žæ¨ĄåŧčŽžįŊŽä¸ē下čŊŊ, BotįŽ°åœ¨å°†ä¸‹čŊŊæ›˛į›Ž" +vidmode_3: "视éĸ‘æ’­æ”žæ¨ĄåŧčŽžįŊŽä¸ē m3u8, BotįŽ°åœ¨å°†åŽžæ—ļæ’­æ”žæ›˛į›Ž" +#broadcast +broad_1: "** {0} čŠå¤Šä¸­įš„åšŋ播æļˆæ¯ä¸ŽæĨč‡ĒBotįš„ {1} įŊŽéĄļæļˆæ¯ã€‚**" +broad_2: "åŧ€å§‹åŠŠį†č´Ļæˆˇåšŋ播..." +broad_3: "**åŠŠį†č´Ļæˆˇåšŋ播īŧš**\n\n" +broad_4: "åŠŠį†č´Ļæˆˇ {0} 在 {1} 中åšŋ播\n" +broad_5: "**į”¨æŗ•**īŧš\n/broadcast [æļˆæ¯] æˆ–č€… [å›žå¤ä¸€æĄæļˆæ¯]" +broad_6: "č¯ˇæäž›ä¸€ä盿–‡å­—čŋ›čĄŒåšŋ播" +broad_7: "**向 {0} ä¸Ēį”¨æˆˇåšŋ播æļˆæ¯**" +#Heroku +heroku_1: "č¯ˇįĄŽäŋæ‚¨įš„ Heroku API 密é’Ĩå’Œæ‚¨įš„åē”ᔍፋåēåį§°åœ¨ heroku ä¸­æ­ŖįĄŽé…įŊŽ" +heroku_2: "您åĒčƒŊčŽˇå–Herokuåē”ᔍፋåēįš„æ—Ĩåŋ—" +heroku_3: "**į”¨æŗ•īŧš**\n/get_var [å˜é‡åį§°]" +heroku_4: "扞不到äģģäŊ•æ­¤įąģ变量。" +heroku_5: "扞不到 .env 文äģļ。" +heroku_6: "**į”¨æŗ•īŧš**\n/get_var [å˜é‡åį§°]" +heroku_7: "{0} åˇ˛åˆ é™¤ã€‚" +heroku_8: "**į”¨æŗ•īŧš**\n/set_var [变量] [变量å€ŧ]" +heroku_9: "{0} åˇ˛æˆåŠŸæ›´æ–°" +heroku_10: "åˇ˛æˆåŠŸæˇģ加{0}" +heroku_11: "äģ…适ᔍäēŽ Heroku åē”ᔍፋåē" +heroku_12: "æ­Ŗåœ¨æŖ€æŸĨ Heroku äŊŋį”¨æƒ…å†ĩã€‚č¯ˇį¨å€™" +heroku_13: "æ­Ŗåœ¨æŖ€æŸĨå¯į”¨æ›´æ–°..." +heroku_14: "Git å‘Ŋäģ¤é”™č¯¯" +heroku_15: "æ— æ•ˆįš„ Git Repsitory" +#Private bot mode +pbot_1: "**į”¨æŗ•īŧš**\n/authorize [CHAT_ID]" +pbot_2: "**į”¨æŗ•īŧš**\n/unauthorize [CHAT_ID]" +pbot_3: "厞将įģ™åŽščŠå¤ŠæˇģåŠ åˆ°æŽˆæƒåˆ—čĄ¨" +pbot_4: "厞äģŽæŽˆæƒåˆ—čĄ¨ä¸­åˆ é™¤įģ™åŽšįš„čŠå¤Š" +pbot_5: "čŠå¤Šåˇ˛åœ¨æŽˆæƒåˆ—čĄ¨ä¸­" +pbot_6: "æŽˆæƒåˆ—čĄ¨ä¸­ä¸å­˜åœ¨æ­¤įąģčŠå¤Š" +pbot_7: "æ— æŗ•énj蝁chat_id。\n\nįĄŽäŋå…ļ数字且æ ŧåŧæ­ŖįĄŽã€‚蝎å‹ŋäŊŋį”¨čŠå¤Šį”¨æˆˇåæˆ–é“žæŽĨ。" +pbot_8: "č¯ˇį¨å€™ã€‚ã€‚ã€‚ã€‚æ­Ŗåœ¨čŽˇå–æŽˆæƒčŠå¤Šã€‚" +pbot_9: "**æå–įš„čŠå¤ŠčŽ°åŊ•īŧš**\n\n" +pbot_10: "ᧁ聊" +pbot_11: "æœĒæ‰žåˆ°æŽˆæƒčŠå¤Š" +pbot_12: "ᧁ坆Botæ¨Ąåŧåˇ˛įĻį”¨ã€‚\n\nč‹Ĩčρ将BotᔍäŊœį§å¯†BotīŧŒč¯ˇįĄŽäŋčŽžįŊŽ **PRIVATE_BOT_MODE** = **True**" +pbot_13: "\n**æœĒåˆ é™¤įš„čŠå¤ŠčŽ°åŊ•īŧš**\n\n" +#Gbanned +gban_1: "äŊ æƒŗč‡Ēåˇągbanč‡Ēåˇąå—īŧŸå¤šäšˆæ„šč ĸīŧ" +gban_2: "我åē”č¯Ĩåąč”Ŋč‡Ēåˇąå—īŧŸå“ˆå“ˆ" +gban_3: "æ‚¨æƒŗé˜ģæ­ĸ sudo į”¨æˆˇå—īŧŸ" +gban_4: "{0} 厞įģäģŽBot中**封įρäē†**。" +gban_5: "**æ­Ŗåœ¨åˆå§‹åŒ– {0}įš„å…¨åą€å°įρ **\n\néĸ„莥æ—ļ间īŧš {1}." +gban_6: "**å…¨åą€å°įĻæˆåŠŸ**\n\n厞将**{0}**在**{1}**ä¸ĒčŠå¤Šä¸­å°įρ" +gban_7: "{0} 厞įģäģŽBot中**封įρäē†**。" +gban_8: "**æ­Ŗåœ¨å–æļˆå°įρ {0}**\n\néĸ„莥æ—ļ间 īŧš {1}." +gban_9: "**å…¨åą€å–æļˆå°įĻæˆåŠŸ**\n\n厞将**{0}**在**{1}**ä¸ĒčŠå¤Šä¸­å–æļˆå°įρ" +gban_10: "æœĒ扞到 Gbanned į”¨æˆˇã€‚" +gban_11: "č¯ˇį¨į­‰į‰‡åˆģã€‚æ­Ŗåœ¨čŽˇå– Gbanned į”¨æˆˇåˆ—čĄ¨" +#Suggestions +sug_0: "❓ **äŊ įŸĨ道吗īŧŸ**\n\n✅ " +sug_1: "您可äģĨåœ¨ä¸¤į§**搜į´ĸæ¨Ąåŧ**ä¸­æ’­æ”žéŸŗäšīŧŒåŗį›´æŽĨæ¨Ąåŧå’ŒInlineæ¨Ąåŧã€‚\n\n通čŋ‡ /playmode æ›´æ”šæ¨Ąåŧ" +sug_2: "您可äģĨåœ¨ä¸¤į§**播攞įąģ型**ä¸­æ’­æ”žéŸŗäšīŧŒåŗæ‰€æœ‰äē翍Ąåŧå’ŒįŽĄį†å‘˜æ¨Ąåŧã€‚\n\n通čŋ‡ /playmode æ›´æ”šæ¨Ąåŧ" +sug_3: "您䚟可äģĨ在**éĸ‘道**ä¸­æ’­æ”žéŸŗäšã€‚\n\n通čŋ‡ /channelplay 莞įŊŽchannel_idīŧŒåšļ通čŋ‡ /cplay 播攞 " +sug_4: "éžįŽĄį†å‘˜äšŸå¯äģĨ通čŋ‡å°†įŽĄį†å‘˜å‘Ŋä줿ˇģ加到**æŽˆæƒį”¨æˆˇåˆ—čĄ¨**æĨäŊŋį”¨įŽĄį†å‘Ŋäģ¤ã€‚ \n通čŋ‡ /auth 将äģģäŊ•į”¨æˆˇæˇģåŠ åˆ°æŽˆæƒåˆ—čĄ¨īŧŒäŊŋᔍ /unauth 删除īŧŒåšļ通čŋ‡ /authusers æŸĨįœ‹æŽˆæƒį”¨æˆˇ" +sug_5: "Bot有一ä¸Ē名ä¸ē“**æ¸…į†æ¨Ąåŧ**â€įš„åŠŸčƒŊ。\n厃äŧšåœ¨5分钟后删除Botįš„æļˆæ¯īŧŒåšļįĄŽäŋäŊ įš„čŠå¤ŠäŋæŒåš˛å‡€ã€‚\n\näģŽ /settings å¯į”¨æˆ–įĻį”¨åš˛å‡€æ¨Ąåŧ [__Enabled by default__]" +sug_6: "您䚟可äģĨ播攞**Spotify**æ›˛į›Žå’Œæ’­æ”žåˆ—čĄ¨ã€‚\n\nįŽ°åœ¨åŧ€å§‹ /play [Spotify Link]" +sug_7: "您䚟可äģĨ播攞**Apple**æ›˛į›Žå’Œæ’­æ”žåˆ—čĄ¨ã€‚\n\nįŽ°åœ¨åŧ€å§‹ /play [Apple Link]" +sug_8: "您䚟可äģĨ播攞**Resso**æ›˛į›Žå’Œæ’­æ”žåˆ—čĄ¨ã€‚\n\nįŽ°åœ¨åŧ€å§‹ /play [Resso Link]" +sug_9: "您䚟可äģĨ播攞**SoundCloud **æ›˛į›Žå’Œæ’­æ”žåˆ—čĄ¨ã€‚\n\nįŽ°åœ¨åŧ€å§‹ /play [SoundCloud Link]" +sug_10: "您可äģĨ通čŋ‡ /vplay [视éĸ‘åį§°] 或 /play -v [视éĸ‘åį§°] åœ¨č¯­éŸŗčŠå¤Šä¸­æ’­æ”ž **视éĸ‘**" +sug_11: "您可äģĨå°†č¯­éŸŗčŠå¤Šįš„**韺éĸ‘č´¨é‡**莞įŊŽä¸ē“äŊŽâ€ã€â€œä¸­â€æˆ–“éĢ˜â€ã€‚\n\n通čŋ‡ /settings 莞įŊŽč´¨é‡" +sug_12: "您可äģĨå°†č¯­éŸŗčŠå¤Šįš„**视éĸ‘č´¨é‡**莞įŊŽä¸ē“äŊŽâ€ã€â€œä¸­â€æˆ–“éĢ˜â€ã€‚\n\n通čŋ‡ /settings 莞įŊŽč´¨é‡" +sug_13: "您可äģĨ在BotīŧˆåĻ‚Top 10 Play Tracksīŧ‰ä¸ŠæŸĨįœ‹æ‚¨įš„**įģŸčŽĄäŋĄæ¯**。\n\nčŽˇå–įģŸčŽĄæ•°æŽīŧš/gstats " +sug_14: "您可äģĨ在BotīŧˆåĻ‚Top 10 Play Tracksīŧ‰ä¸ŠæŸĨįœ‹įž¤įģ„įš„**įģŸčŽĄäŋĄæ¯**。\n\nčŽˇå–įģŸčŽĄæ•°æŽīŧš/gstats " +sug_15: "您可äģĨæŸĨįœ‹ Bot įš„ **å…¨åą€įģŸčŽĄæ•°æŽ Top 10**\n\nčŽˇå–įģŸčŽĄæ•°æŽīŧš/gstats" +sug_16: "æ‚¨įŽ°åœ¨å¯äģĨå°†č¯­éŸŗčŠå¤Šä¸­æ’­æ”žįš„éŸŗäšé™éŸŗã€‚\n\nå‘Ŋäģ¤īŧš/mute" +sug_17: "æ‚¨įŽ°åœ¨å¯äģĨ取æļˆé™éŸŗåšļå°†č¯­éŸŗčŠå¤Šä¸­æ’­æ”žįš„éŸŗäšé™éŸŗã€‚\n\nå‘Ŋäģ¤īŧš/mute 和 /unmute" +sug_18: "您䚟可äģĨ与我äģŦ一čĩˇæœį´ĸéŸŗäšįš„æ­Œč¯ã€‚\n\nå‘Ŋäģ¤īŧš /lyrics [éŸŗäšåį§°]" +sug_19: "您可äģĨ通čŋ‡YoutubeäģŽBot下čŊŊéŸŗäšæˆ–č§†éĸ‘。\n\nå‘Ŋäģ¤īŧš/song [éŸŗäšåį§°]" +sug_20: "您可äģĨčŽˇåž—BotčƒŊæŽĨå—įš„å‘Ŋäģ¤įš„åŽŒæ•´åˆ—čĄ¨ã€‚\n\nå‘Ŋäģ¤īŧš /help" +sug_21: "Botå…ˇæœ‰æœåŠĄå™¨įĢ¯æ’­æ”žåˆ—čĄ¨é€‰éĄšã€‚\n\n您可äģĨåœ¨æ’­æ”žåˆ—čĄ¨ä¸­æˇģåŠ éŸŗäšīŧŒåšļ通čŋ‡/play一čĩˇæ’­æ”ž" +sug_22: "įŽ°åœ¨å¯äģĨ在Bot上随æœēæ’­æ”žæ­Ŗåœ¨æŽ’é˜Ÿįš„éŸŗäšã€‚\n\nå‘Ŋäģ¤īŧš/shuffle" +sug_23: "您可äģĨæŖ€æŸĨéŸŗäšįš„é˜Ÿåˆ—ã€‚\n\nå‘Ŋäģ¤īŧš/queue" +sug_24: "您可äģĨæŖ€æŸĨįŽĄį†æˆ‘įš„æ‰€æœ‰č€…å’Œ sudo į”¨æˆˇã€‚\n\nå‘Ŋäģ¤īŧš/sudolist" +sug_25: "Botå…ˇæœ‰åä¸ē**å‘Ŋäģ¤åˆ é™¤æ¨Ąåŧ**įš„åŠŸčƒŊ。厃äŧšč‡Ē动删除å…￉§čĄŒįš„å‘Ŋäģ¤ã€‚\n\n在/settings ä¸­å¯į”¨æˆ–įĻį”¨åˆ é™¤æ¨Ąåŧ [__Enabled by default__]" +sug_26: "可äģĨ将Botįš„č¯­č¨€æ›´æ”šä¸ēå¯į”¨č¯­č¨€īŧŒäģĨäžŋäēŽį†č§Ŗã€‚\n\nå‘Ŋäģ¤īŧš/language" +sug_27: "Bot有一ä¸Ē名ä¸ē**åŧēåˆļ播攞**įš„åŠŸčƒŊ。\n\n**åŧēåˆļ播攞**停æ­ĸč¯­éŸŗčŠå¤Šä¸­įš„æ’­æ”žæ›˛į›ŽīŧŒåšļįĢ‹åŗåŧ€å§‹æ’­æ”žæœį´ĸįš„æ›˛į›ŽīŧŒč€Œä¸äŧšå𞿉°/清除队列。\n\nå‘Ŋäģ¤īŧš/playforce" diff --git a/strings/langs/en.yml b/strings/langs/en.yml new file mode 100644 index 0000000000000000000000000000000000000000..0573af770b105b1bafdd370e91f6eb751013b64e --- /dev/null +++ b/strings/langs/en.yml @@ -0,0 +1,473 @@ +name : đŸ´ķ §ķ ĸķ Ĩķ Žķ §ķ ŋ English + +# General Strings +general_1 : "Reply to a user's message or give username/user_id." +general_2 : "Error! Wrong Usage of Command." +general_3 : "Some **exception occured** while processing your query.\n\nException Type:- {0}" +general_4 : "You're an anonymous admin in this chat group!\nRevert back to User Account From Admin Rights." +general_5 : "You need to be admin with manage voice chat rights to perform this action." +general_6 : "Bot isn't streaming on voice chat." + +# Classes - Telegram.py +tg_1 : "Bot is **overloaded** with downloads right now.\n\n**Try After:** {0} (__expected time__)" +tg_2 : "Failed to download the media from telegram." + +# Core - Call.py +call_1 : "Bot requires **Admin** Permission to invite assistant account to your channel." +call_2 : "Assistant is banned in your group or channel, please unban.\n\n**Assistant Username:** @{0}\n**Assistant ID:** {1}" +call_3 : "Exception Occured While Inviting Assistant Account to your chat.\n\n**Reason**: {0}" +call_4 : "Bot requires **Invite Users Via Link** Permission to invite assistant account to your chat group." +call_5 : "Assistant Account will be joining in 5 Seconds..Please Wait!" +call_6 : "Assistant Account[{0}] Joined Successfully.\n\nStarting Music Now" +call_7 : "**Harmful Admin Right Given **\n\nPlease remove **BAN USERS** rights from the bot." +call_8 : "**Harmful Admin Right Given **\n\nPlease remove **ADD NEW ADMINS** rights from the bot." +call_9 : "**Failed to switch Stream**\nPlease use /skip to change track again." +call_10 : "Downloading Next Track from Playlist" +call_11 : "Please add @{0} to your channel[ ID: {1}].\n\nBot is not able to get channel details." + +# PLUGINS - Auth.py +auth_1 : "You can only have 20 Users in your group's Authorised Users List (AUL)" +auth_2 : "Added to Authorised Users List of your group." +auth_3 : "Already in the Authorised Users List." +auth_4 : "Removed from Authorised Users List of this Group." +auth_5 : "Targeted user is not an Authorised User." +auth_6 : "Fetching Authorised Users... Please Wait" +auth_7 : "**Authorised Users List[AUL]:**\n\n" +auth_8 : "┗ Added By:-" + +# PLUGINS - Admins +admin_1 : "Music is already Paused." +admin_2 : "🎧 Voicechat Paused by {}!" +admin_3 : "Music is already resumed." +admin_4 : "🎧 Voicechat Resumed by {}!" +admin_5 : "Music is already muted." +admin_6 : "🎧 Voicechat Muted by {}!" +admin_7 : "Music is already unmuted." +admin_8 : "🎧 Voicechat Unmuted by {}!" +admin_9 : "🎧 Voicechat End/Stopped by {}!" +admin_10 : "🎧 Voicechat Skipped by {}!. No More Music in Queue." +admin_11 : "Error while changing stream to **{0}**\n\nPlease use /skip again." +admin_12 : "Unable to skip to a specific track because of enabled loop play. Please disable loop play via `/loop disable` to use this feature." +admin_13 : "Please use numeric numbers for specific tracks, like 1, 2 or 4 etc" +admin_14 : "Atleast 2 tracks needed in queue to skip to a specific number. Check queue by /queue" +admin_15 : "Not enough tracks in queue for the value given by you. Please choose numbers between 1 and {0}" +admin_16 : "Failed to skip to specific track.\n\nCheck left queue by /queue" +admin_17 : "{0}.. Please Wait" +admin_18 : "Admin List Not Found\n\nPlease reload adminlist via /admincache or /reload" +admin_19 : "You need to be admin with manage voice chat rights to perform this.\nIf you're already admin, reload admincache via /admincache " +admin_20 : "Admin cache reloaded successfully." +admin_21 : "Nothing inside queue to shuffle" +admin_22 : "Failed to shuffle.\n\nCheck queue : /queue" +admin_23 : "**Queue Shuffled by {0}**\n\nCheck shuffled queue : /queue" +admin_24 : "**Usage:**\n/loop [enable/disable] or [Number between 1-10]\n\n**Example:** /loop 5" +admin_25 : "Loop enabled by {0} for **{1}** times. Bot will now repeat the current playing music on voice chat for **{1}** times" +admin_26 : "Please use numbers between 1-10 for loop play" +admin_27 : "Loop Play has been disabled" +admin_28 : "**Usage:**\n/seek or /seekback [Duration in seconds]" +admin_29 : "Please use numeric duration seconds like 10-20-30 second for seeking" +admin_30 : "Sorry but you can't seek the currently playing stream. It can only be skipped or stopped." +admin_31 : "Bot is not able to seek due to high duration given. You need to seek to a lower duration and remember that a time of 10 seconds is left after seeking.\n\nCurrently played** {0}** mins out of **{1}** mins" +admin_32 : "Please Wait... Seeking ongoing stream." +admin_33 : "Successfully Seeked Stream to {0} Mins" +admin_34 : "Failed to seek the current stream." + +# Bot + +# Start +start_1 : "Thanks for having me in {0}.\n{1} is alive.\n\nFor any assistance or help, checkout our support group and channel." +start_2 : "Hello, My name is {0}.\n\nI'm a telegram streaming bot with some useful features. Supporting platforms like Youtube, Spotify, Resso, AppleMusic , Soundcloud etc.\n\nFeel free to add me to your groups." +start_3 : "Welcome To {0}\n\nI don't need any **admin permission** to work ( until asked for ).\n\nAssistant Username:- @{1}\nAssistant ID:- {2}" +start_4 : "{0}'s Owner[{1}] has just joined your chat." +start_5 : "A member of {0}'s Sudo User[{1}] has just joined your chat." +start_6 : "â—ī¸ **Supergroup Needed** â—ī¸\n\nPlease convert your **group** to **supergroup** and then add me back.\n\n**How to make supergroup?**\n✅ Make your group's chat history **visible** once." +start_7 : "**Blacklisted Chat**\n\nYou're chat has been blacklisted by the Bot. Please ask any SudoUser to whitelist chat first. Check [Sudolist from here]({0})" + +# Help +help_1 : "Click on the buttons below for more information. If you're facing any problem in command you can contact my bot owner or ask in support chat.\n\nAll commands can be used with: /" +help_2 : "Contact me in PM for help." + +# Settings +setting_1 : "âš™ī¸ **Music Bot Settings**\n\n🖇**Group:** {0}\n🔖**Group ID:** `{1}`\n\n💡**Choose the function buttons from below which you want to edit or change.**" +setting_3 : "â‰ī¸ What is This?\n\n1) Direct: Plays search queries directly. Use -v to play videos in direct mode.\n\n2) Inline: Returns Inline Markup Buttons for choosing between video & audio." +setting_4 : "â‰ī¸ What is This?\n\nđŸ‘Ĩ Everyone: Anyone can use admin commands(skip, pause, resume etc) present in this group.\n\n🙍 Admin Only: Only admins and authorized users can use admin commands." +setting_5 : "No Authorized Users Found\n\nYou can allow any non-admin to use my admin commands by /auth and delete by using /unauth" +setting_9 : "â‰ī¸ What is This?\n\nWhen activated, Bot will delete its message after {0} to make your chat clean and clear." +setting_10 : "â‰ī¸ What is This?\n\n1) Group: Plays music in the group where the command is given .\n\n2) Channel: Plays music in the channel you want. Set channel id via /channelplay" +setting_11 : "â‰ī¸ What is This?\n\n1) Everyone: Anyone present in this group can play music here.\n\n2) Admin Only: Only admins can play the music in this group." +setting_12 : "❌ You've no channel id defined for channel mode. Please define with /channelplay." +setting_13 : "Can't change play mode in active group call. Please stop the voice chat first with /stop." +setting_14 : "â‰ī¸ What is This?\n\nWhen activated, Bot will delete its executed commands (/play, /pause, /shuffle, /stop etc) immediately.\n\nBot will be requiring delete messages admin right for this to work properly." +setting_15 : "Failed to resolve peer, Make sure you have added bot in your channel and promoted it as admin.\n\nTry setting /channelplay again.." +setting_16 : "â‰ī¸ What is This?\n\nWhen activated, Bot will suggest your chat in every 1-2 hour about bot commands (How to use them, which are the commands and many other things) randomly." + + +set_cb_1 : "Getting Audio Quality Panel..." +set_cb_2 : "Getting Video Quality Panel..." +set_cb_3 : "Getting Auth Users Panel..." +set_cb_4 : "Getting Play Mode Panel..." +set_cb_5 : "Getting Clean Mode Panel..." +set_cb_6 : "Setting up changes." +set_cb_7 : "Getting Auth Users List.. PLEASE WAIT." +set_cb_8 : "Getting back.." + +# Misc +ustats_1 : "No User Stats Found." +ustats_2 : "Greetings!, You have played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by you:\n\n" + +gstats_1 : "Getting Global Stats, This could take some time..." +gstats_2 : "No Stats Found." +gstats_3 : "Getting Global Top 10 {0} on the bot, This could take some time.." +gstats_4 : "**Total Queries on Bot:** {0}\n\n{1} has played **{2}** tracks till now with a whopping count of **{3}** times.\n\n**Top {4} Tracks:**\n" +gstats_5 : "**Top {0} Chats of {1}:**\n\n" +gstats_6 : "**Top {0} Users of {1}:**\n\n" +gstats_7 : "This chat group has played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by this chat group:\n\n" +gstats_8 : "Getting Bot's general stats and information.. This could take some time..." +gstats_9 : "**GLOBAL TOP 10 STATS OF THE BOT**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_10 : "**Global Stats of {0}**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_11 : "**General Stats of {0}**\nSelect the buttons from below for which you want to check global stats from bot's servers.\n\nTo check top tracks, chats, users and other stuffs, please use /gstats" + + +# Play + +#Play Callback +playcb_1 : "This is not for you! Search You Own Song." +playcb_2 : "Getting Next Result" + +# Channel Play +cplay_1 : "You can play music in channels from this chat[{0}] to any channel or your chat's linked channel.\n\n**For linked channel:**\n`/{1} linked`\n\n**For any other channel:**\n`/{1} [Channel ID]`" +cplay_2 : "This chat has no linked channel." +cplay_3 : "Channel Defined to {0}\n\n__Channel ID__: {1}" +cplay_4 : "Failed to get channel.\n\nMake sure you have added bot in your channel and promoted it as admin.\nEdit or Change channel via /channelplay" +cplay_5 : "Only Channels are supported." +cplay_6 : "You need to be the **Owner** of the channel[{0}] to connect it with this group.\n**Channel's Owner:** @{1}\n\nAlternatively you can link your group to that channel and then try connnecting with `/channelplay linked`" + +#Play +play_1 : "🔄 Processing Query... Please Wait!" +play_2 : "**🏷Channel Play Mode**\n\n🔄 Processing Query... Please Wait!\n**Linked Channel:** {0}" +play_3 : "Failed to Process Query!" +play_4 : "🖇 **Admins Only Play**\nOnly Admins and Auth Users can play music in this group.\n\nChange mode via /playmode and if you're already admin, reload admincache via /admincache" +play_5 : "Failed to process audio file.\n\nAudio File Size Should Be Less Than 100 mb" +play_6 : "**Duration Limit Exceeded**\n\n**Allowed Duration: **{0} minute(s)\n**Received Duration:** {1} hour(s)" +play_7 : "Sorry! Bot only allows limited number of video calls due to CPU overload issues. Many other chats are using video call right now. Try switching to audio or try again later" +play_8 : "Not A Valid Video File Extension!\n\n**Supported Formats:** {0}" +play_9 : "Video File Size Should Be Less Than 1 GiB" +play_10 : "**Youtube Playlist Feature**\n\nSelect the Mode in which you want to play whole Youtube Playlist" +play_11 : "📎Title: **{0}\n\nâŗDuration:** {1} Mins" +play_12 : "**Spotify Play Mode**\n\nRequested By:- {0}" +play_13 : "**Apple Playlists**\n\nRequested By:- {0}" +play_14 : "**Unable to verify the URL.**\nBot wonders if this url belongs to any of the following platforms: Youtube, AppleMusic, Spotify, Resso and Soundcloud.\n\nYou can use /stream for M3u8 or Remote Links." +play_15 : "**Live Stream Detected**\n\nSystems have detected your track link as live stream. Want to play live stream ?" +play_16 : "Failed to fetch track details. Try playing any other." +play_17 : "Unable to play this type of spotify query!\n\nI can only play spotify tracks, albums, artists and playlists" +play_18 : "**No Active Voice Chat Found**\n\nTo use force play, there must be an active voice chat going on in your group. **Force Play** stops the playing track on voice chat and starts playing the searched track instantly without disturbing/clearing queue." +play_19 : "📎Title: **{0}\n\nâŗDuration:** {1} Mins \nSelected file streaming on @SparkStreamGroup\nPlease join call on @SparkStream_bot to listen" + +#Playlist +playlist_1 : "**Usage:** /play [Music Name or Youtube Link or Reply to Audio]\n\nIf you want to play Bot's Server Playlist! Press the button below." +playlist_2 : "Getting your playlist. Please wait" +playlist_3 : "You have no playlist on Bot's Server." +playlist_4 : "Fetched Playlist:\n\n" +playlist_5 : " Duration- {0} Mins" +playlist_6 : "Contact me in PM for deletion of Playlists." +playlist_7 : "Tracks Inside Playlist: {0}\n\nPress the Buttons to delete a particular track in your playlist.\n\nTo delete whole playlist: Press Del Whole Playlist button." +playlist_8 : "Already Exists\n\nThis track exists in your playlist." +playlist_9 : "Sorry! You can only have {0} music in a playlist." +playlist_10 : "Playlist Addition\n\n{0}\nadded to your playlist." +playlist_11 : "Successfully deleted your track." +playlist_12 : "Failed to delete your track." +playlist_13 : "Deleted your whole playlists from the server. " +playlist_14 : "**Are you Sure you want to delete your whole playlist?**\n\nYou'll lost your playlist and this can't be recovered later." +playlist_15 : "[Checkout Whole Playlist]({0})" +playlist_16 : "Queued Playlist:" +playlist_17 : "Queued Position-" +playlist_18 : "[Checkout Whole Queued Playlist]({0})\n\nLast Queued Position : **{1}**" + +#Playmode +playmode_1 : "Select the mode in which you want to play the queries inside your group[{0}]." +playmode_2 : "Settings changed and saved successfully by {0}" + +#Stream +str_1 : "Please Provide M3u8 Links or Index Links." +str_2 : "✅ Valid Stream Verified\n\nPlease wait processing link.." +str_3 : "Unable to stream youtube live streams. No Live Format Found" + +#TopPlay +tracks_1 : "**Processing {0} Top 10 Playlist**\nThis could take some mins(around 3-4 mins).. Please Wait...\n\n**👤Requested By:** {1}\n\nCheck Top 10 tracks by /gstats" +tracks_2 : "**Error**\n\nThere's no **{0} Top 10 Playlist** on bot's servers. Please try any other playlist" + +# TOOLS + +#Lyrics +lyrics_1 : "**Usage:**\n\n/lyrics [ Music Name]" +lyrics_2 : "Searching Lyrics" +lyrics_3 : "❌ Failed to fetch lyrics😭.\n\n💡**Tried Searching For:** {0}" +lyrics_4 : "Click on the button below and get searched lyrics to avoid long spam types lyrics search." + +#Ping +ping_1 : "Pong!!!!" +ping_2 : "{0} is working good with a ping of `{1}` ms.\n\nBot's uptime is {2} and has used a total of {3} server's storage. Cpu load is about {4} with a consumption of {5} Ram. Py-Tgcalls client is also having a good ping of `{6}` ms." + + +# Song +song_1 : "You can download Music or Video from YouTube only in private chat. Please start me in private chat." +song_2 : "**Usage:**\n\n/song [Music Name] or [Youtube Link]" +song_3 : "Live Link Detected. I am not able to download live youtube videos. " +song_4 : "**🔗Title:**- {0}\n\nSelect the type in which you want to download." +song_5 : "Not a valid Youtube Link" +song_6 : "Getting Formats.. \n\nPlease Wait.." +song_7 : "Failed to get available formats for the video. Please try any other track." +song_8 : "Download Started\n\nDownloading speed could be slow. Please hold on.." +song_9 : "Failed to download song from Youtube-DL\n\n**Reason:** {0}" +song_10 : "Failed to upload on telegram from servers." +song_11 : "Uploading Started\n\nUploading speed could be slow. Please hold on.." + +# Tools - Queue +queue_1 : "Please Wait..Fetching Queue.." +queue_2 : "Queued List is empty. No tracks found" +queue_3 : "**Queued Tracks:** [Checkout More Queued Tracks From Here]({0})" +queue_4 : "âŗ Added to Queue at **#{0}\n\n💡Title:** {1}\n**⏱Duration:** {2}\n👤**Added By:** {3}" +queue_5 : "Only one track inside queue, Please add some more to check list" + +# All Streaming Lines + +stream_1 : "🎞 **Started Streaming** ⇒\n\n👤 **Requested By:** {0}\nâ„šī¸ **Information: **[Here]({1})" +stream_2 : "🎞 **Started Streaming via URL ** ⇒\n\n👤 **Requested By:** {0}" +stream_3 : "🎞 **Started Streaming** ⇒\n\n**🏷 Title:** {0}\n⏱ **Duration**: {1}\n👤**Requested By:** {2}" +stream_4 : "🎞 **Started Streaming** ⇒\n\n**🏷 Title:** [{0}]({1})\n⏱ **Duration**: {2}\n👤**Requested By:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 Close" +CLOSEMENU_BUTTON : "🗑 Close Menu" +BACK_BUTTON : "âŦ… Back" +UNBAN_BUTTON : "🗑 Unban Assistant" + +#Lyrics +L_B_1 : "🚀 Checkout Lyrics Now" + +# Start +S_B_1 : "🗒 Commands" +S_B_2 : "🔧 Settings" +S_B_3 : "📨 Support" +S_B_4 : "📨 Channel" +S_B_5 : "✚ Add me to your Group" +S_B_6 : "💡 Git Repo" +S_B_7 : "👤 Bot Owner" +S_B_8 : "🔎 How to Use? Commands Menu." + +#Help +H_B_1 : "Admin Commands" +H_B_2 : "Play Commands" +H_B_3 : "Bot Commands" +H_B_4 : "Extra Commands" +H_B_5 : "Close Menu" +H_B_6 : "SudoUser Commands" + +#PlayMode +PM_B_1 : "DirectPlay" +PM_B_2 : "InlineMarkup" +PM_B_3 : "ChannelPlay" + +#Play +P_B_1 : "đŸŽĩ Play Audio" +P_B_2 : "đŸŽĨ Play Video" +P_B_3 : "🏮 Start Live Stream" +P_B_4 : "đŸŽĩ Play Playlist" + +#Playlist +PL_B_1 : "🚀 Play Playlist" +PL_B_2 : "✚ Playlists" +PL_B_3 : "đŸŽ›ī¸ CPanel" +PL_B_4 : "📡 Play Mode" +PL_B_5 : "🔄 Del Whole Playlist" +PL_B_6 : "â†—ī¸ Delete Playlist" +PL_B_7 : "â—ī¸ Yes, I'm sure. Delete it" +PL_B_8 : "đŸ”ĸ Play Top 10" +PL_B_9 : "🤖 Play Global Top 10 Tracks" +PL_B_10 : "🏘 Play Group's Top 10 Tracks" +PL_B_11 : "👤 Play Personal Top 10 Tracks" + +#Settings +ST_B_1 : "🔊 Aud Quality" +ST_B_2 : "đŸŽĨ Vid Quality" +ST_B_3 : "🎩 Auth Users" +ST_B_4 : "📱 Dashboard" +ST_B_5 : "â–ļī¸ Play Mode" +ST_B_6 : "đŸŗī¸â€đŸŒˆ Language" +ST_B_7 : "🔄 Clean Mode" +ST_B_8 : "{0} Low Quality Audio" +ST_B_9 : "{0} Medium Quality Audio" +ST_B_10 : "{0} High Quality Audio" +ST_B_11 : "{0} Low Quality Video" +ST_B_12 : "{0} Medium Quality Video" +ST_B_13 : "{0} High Quality Video" +ST_B_14 : "✅ Enabled" +ST_B_15 : "❌ Disabled" +ST_B_16 : "👤 Admins" +ST_B_17 : "đŸ‘Ĩ Everyone" +ST_B_18 : "📋 Authorized Users Lists" +ST_B_19 : "🔎 Search Mode" +ST_B_20 : "✅ Direct" +ST_B_21 : "✅ Inline" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Admin Commands" +ST_B_23 : "🏘 Group" +ST_B_24 : "🏷 Channel" +ST_B_25 : "đŸĢ‚ Play Type" +ST_B_26 : "🗑 Command Clean" +ST_B_27 : "🧑‍🚀 Suggestion Mode" + +#Song +SG_B_1 : "â†—ī¸ Open Private Chat" +SG_B_2 : "🔊 Audio" +SG_B_3 : "đŸŽĨ Video" + +#Stats +SA_B_1 : "đŸ“ĸ Top 10 Chat" +SA_B_2 : "đŸ”ĸ Top 10 Tracks" +SA_B_3 : "🧛 Top 10 Users" +SA_B_4 : "🏷 Top 10 Here" +SA_B_5 : "💡 Overall Stats" +SA_B_6 : "👤 User Stats" +SA_B_7 : "đŸ”ĸ Global Top 10 Stats" +SA_B_8 : "🤖 Bot Stats" + +#Queue +QU_B_1 : "📑 Queued List" +QU_B_2 : "Played {0} out of {1} Mins" + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} is already a sudo user." +sudo_2 : "Added **{0}** to Sudo Users." +sudo_3 : "Not a part of Bot's Sudo." +sudo_4 : "Removed from Bot's Sudo User" +sudo_5 : "â­ī¸ **Owners:**\n" +sudo_6 : "\nâ­ī¸ **Sudo Users:**\n" +sudo_7 : "No Sudo Users" + +#Block +block_1 : "{0} is already blocked from the bot." +block_2 : "Added **{0}** to Block List of bot. User won't be able to use bot now under any condition.\n\nCheck blocked users: /blockedusers" +block_3 : "User is already free and not blocked." +block_4 : "Removed User from the block list. User will be able to use bot now." +block_5 : "No Blocked Users Found" +block_6 : "Getting Blocked Users List.. Please Wait" +block_7 : "**Blocked Users:**\n\n" + +#Blacklist Chats +black_1 : "**Usage:**\n/blacklistchat [CHAT_ID]" +black_2 : "Chat is already blacklisted." +black_3 : "Chat has been successfully blacklisted" +black_4 : "**Usage:**\n/whitelistchat [CHAT_ID]" +black_5 : "Chat is already whitelisted." +black_6 : "Chat has been successfully whitelisted" +black_7 : "**Blacklisted Chats:**\n\n" +black_8 : "No Blacklisted Chats" + +#videolimit +vid_1 : "**Usage:**\n/set_video_limit [Number of chats allowed] or [Disable]" +vid_2 : "Please Use Numeric Numbers for Setting Limit." +vid_3 : "Video Calls Maximum Limit Defined to {0} Chats." +vid_4 : "Video Calls Disabled" + +#maintenance +maint_1 : "**Usage:**\n/maintenance [enable|disable]" +maint_2 : "Enabled for Maintenance" +maint_3 : "Maintenance Mode Disabled" + +#log +log_1 : "**Usage:**\n/logger [enable|disable]" +log_2 : "Enabled Logging" +log_3 : "Logging Disabled" + +#videomode +vidmode_1 : "**Usage:**\n/videomode [download|m3u8]" +vidmode_2 : "Video Play Mode set as downloader. Bot will be downloading tracks now." +vidmode_3 : "Video Play Mode set as m3u8. Bot will be play tracks live now." + +#broadcast +broad_1 : "**Broadcasted Message In {0} Chats with {1} Pins from Bot.**" +broad_2 : "Started Assistant Broadcast..." +broad_3 : "**Assistant Broadcast:**\n\n" +broad_4 : "Assistant {0} Broadcasted in {1} chats\n" +broad_5 : "**Usage**:\n/broadcast [MESSAGE] or [Reply to a Message]" +broad_6 : "Please provide some text to broadcast." +broad_7 : "**Broadcasted Message to {0} Users.**" + +#Heroku +heroku_1 : "Please make sure your Heroku API Key, Your App name are configured correctly in the heroku" +heroku_2 : "You can only get logs of Heroku Apps" +heroku_3 : "**Usage:**\n/get_var [Var Name]" +heroku_4 : "Unable to find any such var." +heroku_5 : ".env file not found." +heroku_6 : "**Usage:**\n/del_var [Var Name]" +heroku_7 : "{0} Deleted." +heroku_8 : "**Usage:**\n/set_var [Var Name] [Var Value]" +heroku_9 : "{0} has been updated successfully" +heroku_10 : "{0} has been added successfully" +heroku_11 : "Only for Heroku Apps" +heroku_12 : "Checking Heroku Usage. Please Wait" +heroku_13 : "Checking for available updates..." +heroku_14 : "Git Command Error" +heroku_15 : "Invalid Git Repsitory" + +#Private bot mode +pbot_1 : "**Usage:**\n/authorize [CHAT_ID]" +pbot_2 : "**Usage:**\n/unauthorize [CHAT_ID]" +pbot_3 : "Added given chat to authorized list" +pbot_4 : "Removed given chat from authorized list" +pbot_5 : "Chat is already in the authorized list" +pbot_6 : "No such chat exists in the authorized list" +pbot_7 : "Failed to verify chat_id.\n\nMake sure its numeric and in correct format. Don't use chat username or links." +pbot_8 : "Please wait.... Fetching Authorized chats." +pbot_9 : "**Fetched Chats:**\n\n" +pbot_10 : "Private Chat" +pbot_11 : "No Authorized chats found" +pbot_12 : "Private Bot Mode is disabled.\n\nTo use your bot as private bot make sure to set **PRIVATE_BOT_MODE** = **True**" +pbot_13 : "\n**Unfetched Chats:**\n\n" + + +#Gbanned +gban_1 : "You want to gban yourself? How Fool!" +gban_2 : "Should i block myself? Lol" +gban_3 : "You want to block a sudo user?" +gban_4 : "{0} is already **gbanned** from the bot." +gban_5 : "**Initializing Global Ban on {0}**\n\nExpected Time : {1}." +gban_6 : "**Gbanned Successfully**\n\nBanned **{0}** from **{1}** chats." +gban_7 : "{0} is not **gbanned **yet from the bot." +gban_8 : "**Ungbanning {0}**\n\nExpected Time : {1}." +gban_9 : "**UnGbanned Successfully**\n\nUnbanned **{0}** in **{1}** chats." +gban_10 : "No Gbanned Users Found." +gban_11 : "Please wait a while.. Fetching Gbanned users list" + +#Suggestions +sug_0 : "❓**Do You Know?**\n\n✅ " +sug_1 : "You can play music in two **search modes** i.e. Direct Mode and Inline Mode.\n\nChange modes via /playmode" +sug_2 : "You can play music in two **play types** i.e. Everyone Mode and Admins Mode.\n\nChange modes via /playmode" +sug_3 : "You can play music in **channels** too.\n\nSet channel_id via /channelplay and play via /cplay " +sug_4 : "Non Admins can use admin commands too by adding them to** AUTH USERS LIST**. \nAdd any user to auth list by /auth , remove with /unauth and check auth users via /authusers" +sug_5 : "Bot has a feature called **Clean Mode**.\nIt deletes the bot's messages after 5 Mins and ensures that your chat remains clean.\n\nEnable or disable cleanmode from /settings [__Enabled by default__]" +sug_6 : "You can play **Spotify** tracks and playlists too.\n\nStart playing now with /play [Spotify Link]" +sug_7 : "You can play **Apple Music** tracks and playlists too.\n\nStart playing now with /play [Apple Link]" +sug_8 : "You can play **Resso Music** tracks and playlists too.\n\nStart playing now with /play [Resso Link]" +sug_9 : "You can play **Sound Cloud** tracks and playlists too.\n\nStart playing now with /play [SoundCloud Link]" +sug_10 : "You can play **Videos** in voice chat via /vplay [Video Name] or /play -v [Video Name]" +sug_11 : "You can set **Audio Quality** of voice chat to Low, Medium or High.\n\nSet quality via /settings" +sug_12 : "You can set **Video Quality** of voice chat to Low, Medium or High.\n\nSet quality via /settings" +sug_13 : "You can check your **Statistics** on bot like Top 10 Played Tracks.\n\nGet Stats: /gstats " +sug_14 : "You can check **Group's Stats** on bot like Top 10 Played Tracks.\n\nGet Stats: /gstats " +sug_15 : "You can check bot's **Global Stats** like top 10 users, top 10 chats, top 10 tracks etc etc.\n\nCheck Stats: /gstats " +sug_16 : "You can now mute the music which is playing on voice chat.\n\nCommand: /mute" +sug_17 : "You can now unmute and mute the music which is playing on voice chat.\n\nCommand: /mute and /unmute" +sug_18 : "You can search the lyrics of musics with us too..\n\nCommand: /lyrics [Music Name]" +sug_19 : "You can download the music or video from the bot through Youtube.\n\nCommand: /song [Music Name]" +sug_20 : "You can get a complete list of my commands that i accept.\n\nCommand: /help" +sug_21 : "Bot has server-sided playlist option.\n\nYou can add music in your playlist and play them all together via /play" +sug_22 : "You can now shuffle the queued musics on the bot.\n\nCommand: /shuffle" +sug_23 : "You can check the queue of the musics.\n\nCommand: /queue" +sug_24 : "You can check my owner and sudo users who manage me.\n\nCommand: /sudolist" +sug_25 : "Bot has a feature called **Commands Delete Mode**. It deletes its executed commands automatically.\n\nEnable or disable deletemode from /settings [__Enabled by default__]" +sug_26 : "You can change language of the bot to available languages for easy understanding.\n\nCommand: /language" +sug_27 : "Bot has a feature called **Force Play**.\n\n**Force Play** stops the playing track on voice chat and starts playing the searched track instantly without disturbing/clearing queue.\n\nCommand: /playforce" diff --git a/strings/langs/gu.yml b/strings/langs/gu.yml new file mode 100644 index 0000000000000000000000000000000000000000..f0cd0776d5c1d18cffe06f0a4fb5a7aff3990524 --- /dev/null +++ b/strings/langs/gu.yml @@ -0,0 +1,320 @@ +name : đŸ‡ŽđŸ‡ŗ āĒ—ā́āǜāǰāĒžāǤāĢ€ + +# General Strings +general_1 : " āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāǍāĒž āǏāĒ‚āĒĻā̇āĒļāǍāĢ‹ āǜāĒĩāĒžāĒŦ ādžāĒĒāĢ‹ āĒ…āĒĨāĒĩāĒž āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāǍāĒžāĒŽ/user_id ādžāĒĒāĢ‹. " +general_2 : "āĒ­āĢ‚āǞ! ādžāĒĻā̇āĒļāǍāĢ‹ āĒ–āĢ‹āǟāĢ‹ āljāĒĒāǝāĢ‹āĒ—." +general_3 : "āǤāĒŽāĒžāǰāĢ€ āĒ•āĢāĒĩā̇āǰāĢ€ āĒĒāǰ āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āǰāǤāĢ€ āĒĩāĒ–āǤā̇ āĒ•ā̇āǟāǞāĒžāĒ• **āĒ…āĒĒāĒĩāĒžāĒĻ ādžāĒĩāĢāǝāĒž**.\n\nāĒ…āĒĒāĒĩāĒžāĒĻ āĒĒāĢāǰāĒ•āĒžāǰ:- {0}" +general_4 : "āǤāĒŽā̇ ādž āǚā̇āǟ āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āĒāĒ• āĒ…āǍāĒžāĒŽāĢ€ āĒāĒĄāĒŽāĒŋāǍ āĒ›āĢ‹!\nāĒĩāĢāǝāĒĩāǏāĢāĒĨāĒžāĒĒāĒ• āĒ…āǧāĒŋāĒ•āĒžāǰāĢ‹āĒŽāĒžāĒ‚āĒĨāĢ€ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž āĒ–āĒžāǤāĒž āĒĒāǰ āĒĒāĒžāĒ›āĒž āĒĢāǰāĢ‹." +general_5 : "ādž āĒ•āĢāǰāĒŋāǝāĒž āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ āǤāĒŽāĒžāǰā̇ āĒĩā̉āLJāǏ āǚā̇āǟ āĒ…āǧāĒŋāĒ•āĒžāǰāĢ‹āǍā́āĒ‚ āǏāĒ‚āǚāĒžāǞāǍ āĒ•āǰāĒĩāĒžāǍāĢ€ āǏāĒžāĒĨā̇ āĒāĒĄāĒŽāĒŋāǍ āĒŦāǍāĒĩāĒžāǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇." +general_6 : "āĒŦāĢ‹āǟ āĒĩā̉āLJāǏ āǚā̇āǟ āĒĒāǰ āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āǍāĒĨāĢ€." + + # Classes - Telegram.py +tg_1 : "āĒŦāĢ‹āǟ āĒ…āǤāĢāǝāĒžāǰā̇ āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āǏāĒžāĒĨā̇ **āĒ“āĒĩāǰāǞāĢ‹āĒĄ** āĒ›ā̇.\n\n**ādž āĒĒāĒ›āĢ€ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹:** {0} (__āĒ…āĒĒā̇āĒ•āĢāǎāĒŋāǤ āǏāĒŽāǝ__)" +tg_2 : "āǟā̇āǞāĒŋāĒ—āĢāǰāĒžāĒŽāĒŽāĒžāĒ‚āĒĨāĢ€ āĒŽāĢ€āĒĄāĒŋāǝāĒž āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ." + + # Core - Call.py +call_1 : "āĒŦāĢ‹āǟāǍā̇ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǍāǞ āĒĒāǰ āǏāĒšāĒžāǝāĒ• āĒāĒ•āĒžāljāǍāĢāǟāǍā̇ ādžāĒŽāĒ‚āǤāĢāǰāĒŋāǤ āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ **āĒāĒĄāĒŽāĒŋāǍ** āĒĒāǰāĒĩāĒžāǍāĒ—āĢ€āǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇.\n\n: /playmode āĒĻāĢāĒĩāĒžāǰāĒž āǚā̇āǍāǞ āĒĒāĢāǞā̇āĒŽāĢ‹āĒĄāǍā̇ āĒ…āĒ•āĢāǎāĒŽ āĒ•āǰāĢ‹" +call_2 : "āǏāĒšāĒžāǝāĒ• āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨ āĒ…āĒĨāĒĩāĒž āǚā̇āǍāǞāĒŽāĒžāĒ‚ āĒĒāĢāǰāǤāĒŋāĒŦāĒ‚āǧāĒŋāǤ āĒ›ā̇, āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒĒāĢāǰāǤāĒŋāĒŦāĒ‚āǧ āĒĻāĢ‚āǰ āĒ•āǰāĢ‹.\n\n**āǏāĒšāĒžāǝāĒ• āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž āǍāĒžāĒŽ:** @{0}\n**āǏāĒšāĒžāǝāĒ• ID:** {1}" +call_3 : "ādžāǏāĒŋāǏāĢāǟāǍāĢāǟ āĒāĒ•āĒžāljāǍāĢāǟāǍā̇ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǟāĒŽāĒžāĒ‚ ādžāĒŽāĒ‚āǤāĢāǰāĒŋāǤ āĒ•āǰāǤāĢ€ āĒĩāĒ–āǤā̇ āĒ…āĒĒāĒĩāĒžāĒĻ āĒĨāǝāĢ‹.\n\n**āĒ•āĒžāǰāĒŖ**: {0}" +call_4 : "āĒŦāĢ‹āǟāǍā̇ āǤāĒŽāĒžāǰāĒž āǚā̇āǟ āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āǏāĒšāĒžāǝāĒ• āĒāĒ•āĒžāljāǍāĢāǟāǍā̇ ādžāĒŽāĒ‚āǤāĢāǰāĒŋāǤ āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ **āǞāĒŋāĒ‚āĒ• āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍā̇ ādžāĒŽāĒ‚āǤāĢāǰāĒŋāǤ āĒ•āǰāĢ‹** āĒĒāǰāĒĩāĒžāǍāĒ—āĢ€āǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇." +call_5 : "ādžāǏāĒŋāǏāĢāǟāǍāĢāǟ āĒāĒ•āĒžāljāǍāĢāǟ 5 āǏā̇āĒ•āǍāĢāĒĄāĒŽāĒžāĒ‚ āǜāĢ‹āĒĄāĒžāLj āǜāĒļā̇..āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“!" +call_6 : "āǏāĒšāĒžāǝāĒ• āĒāĒ•āĒžāljāǍāĢāǟ[{0}] āǏāĒĢāĒŗāǤāĒžāĒĒāĢ‚āǰāĢāĒĩāĒ• āǜāĢ‹āĒĄāĒžāǝāĒž.\n\nāĒšāĒŽāĒŖāĒžāĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒļāǰāĢ‚ āĒ•āǰāĢ€ āǰāĒšāĢāǝāĒžāĒ‚ āĒ›āĢ€āĒ" +call_7 : "**āĒšāĒžāǍāĒŋāĒ•āĒžāǰāĒ• āĒāĒĄāĒŽāĒŋāǍ āĒ…āǧāĒŋāĒ•āĒžāǰ ādžāĒĒā̇āǞ **\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒŦāĢ‹āǟāĒŽāĒžāĒ‚āĒĨāĢ€ **āĒĒāĢāǰāǤāĒŋāĒŦāĒ‚āǧāĒŋāǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“** āĒ…āǧāĒŋāĒ•āĒžāǰāĢ‹ āĒĻāĢ‚āǰ āĒ•āǰāĢ‹." +call_8 : "**āĒšāĒžāǍāĒŋāĒ•āĒžāǰāĒ• āĒāĒĄāĒŽāĒŋāǍ āĒ…āǧāĒŋāĒ•āĒžāǰ ādžāĒĒā̇āǞ āĒ›ā̇ **\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒŦāĢ‹āǟāĒŽāĒžāĒ‚āĒĨāĢ€ **āǍāĒĩāĒž āĒāĒĄāĒŽāĒŋāǍ āljāĒŽā̇āǰāĢ‹** āĒ…āǧāĒŋāĒ•āĒžāǰāĢ‹ āĒĻāĢ‚āǰ āĒ•āǰāĢ‹." +call_9 : "**āǏāĢāǟāĢāǰāĢ€āĒŽ āǏāĢāĒĩāĒŋāǚ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ**\nāĒĢāǰāĢ€āĒĨāĢ€ āǟāĢāǰāĢ…āĒ• āĒŦāĒĻāǞāĒĩāĒž āĒŽāĒžāǟā̇ āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ /āǏāĢāĒ•āĒŋāĒĒāǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ‹." +call_10 : "āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĒŽāĒžāĒ‚āĒĨāĢ€ āǍā̇āĒ•āĢāǏāĢāǟ āǟāĢāǰā̇āĒ• āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇" +call_11 : "āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǍāǞāĒŽāĒžāĒ‚ @{0} āljāĒŽā̇āǰāĢ‹[ ID: {1}].\n\nāĒŦāĢ‹āǟ āǚā̇āǍāǞ āĒĩāĒŋāĒ—āǤāĢ‹ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āǏāĒ•āĢāǎāĒŽ āǍāĒĨāĢ€." + + # PLUGINS - Auth.py +auth_1 : "āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāǍāĢ€ āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āǏāĢ‚āǚāĒŋ (AUL) āĒŽāĒžāĒ‚ āǤāĒŽāĒžāǰāĢ€ āĒĒāĒžāǏā̇ āĒĢāĒ•āĢāǤ 20 āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āĒšāĢ‹āLj āĒļāĒ•ā̇ āĒ›ā̇" +auth_2 : "āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāǍāĢ€ āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋāĒŽāĒžāĒ‚ āljāĒŽā̇āǰāĒžāǝā̇āǞ." +auth_3 : "āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋāĒŽāĒžāĒ‚ āĒ›ā̇." +auth_4 : "ādž āǜāĢ‚āĒĨāǍāĢ€ āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋāĒŽāĒžāĒ‚āĒĨāĢ€ āĒĻāĢ‚āǰ āĒ•āǰā̇āǞ āĒ›ā̇." +auth_5 : "āǞāĒ•āĢāǎāĒŋāǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž āǍāĒĨāĢ€." +auth_6 : "āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍā̇ āǞāĒžāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇... āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“" +auth_7 : "**āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋ[AUL]:**\n\n" +auth_8 : "┗ ādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āljāĒŽā̇āǰāĒžāǝā̇āǞ:-" + + # PLUGINS - Admins +admin_1 : "āǏāĒ‚āĒ—āĢ€āǤ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒĨāĢ‹āĒ­āĒžāĒĩā̇āǞā́āĒ‚ āĒ›ā̇." +admin_2 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ {} āĒĻāĢāĒĩāĒžāǰāĒž āĒĨāĢ‹āĒ­āĒžāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩāĢ€!" +admin_3 : "āǏāĒ‚āĒ—āĢ€āǤ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒĢāǰāĢ€ āĒļāǰāĢ‚ āĒĨāǝā̇āǞ āĒ›ā̇." +admin_4 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ {} āĒĻāĢāĒĩāĒžāǰāĒž āĒĢāǰāĢ€ āǚāĒžāǞā́!" +admin_5 : "āǏāĒ‚āĒ—āĢ€āǤ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒŽāĢāǝāĢ‚āǟ āĒ›ā̇." +admin_6 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ {} āĒĻāĢāĒĩāĒžāǰāĒž āĒŽāĢāǝāĢ‚āǟ āĒ•āǰā̇āǞ āĒ›ā̇!" +admin_7 : "āǏāĒ‚āĒ—āĢ€āǤ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒ…āǍāĒŽāĢāǝāĢ‚āǟ āĒ›ā̇." +admin_8 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ {} āĒĻāĢāĒĩāĒžāǰāĒž āĒ…āǍāĒŽāĢāǝāĢ‚āǟ!" +admin_9 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ āǏāĒŽāĒžāĒĒāĢāǤ/{} āĒĻāĢāĒĩāĒžāǰāĒž āĒŦāĒ‚āǧ!" +admin_10 : "🎧 āĒĩā̉āLJāǏāǚā̇āǟ {} āĒĻāĢāĒĩāĒžāǰāĒž āĒ›āĢ‹āĒĄāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩāĢāǝā́āĒ‚!. āĒ•āǤāĒžāǰāĒŽāĒžāĒ‚ āĒĩāǧā́ āǏāĒ‚āĒ—āĢ€āǤ āǍāĒĨāĢ€." +admin_11 : "āǏāĢāǟāĢāǰāĢ€āĒŽāǍā̇ **{0}**āĒŽāĒžāĒ‚ āĒŦāĒĻāǞāǤāĢ€ āĒĩāĒ–āǤā̇ āĒ­āĢ‚āǞ\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒĢāǰāĢ€āĒĨāĢ€ /āǏāĢāĒ•āĒŋāĒĒāǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ‹." +admin_12 : "āǏāĒ•āĢāǰāĒŋāǝ āĒ•āǰā̇āǞ āǞāĢ‚āĒĒ āĒĒāĢāǞā̇āǍā̇ āĒ•āĒžāǰāĒŖā̇ āǚāĢ‹āĒ•āĢāĒ•āǏ āǟāĢāǰā̇āĒ• āĒĒāǰ āǜāĒĩāĒž āĒŽāĒžāǟā̇ āĒ…āǏāĒŽāǰāĢāĒĨ. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ ādž āǏā́āĒĩāĒŋāǧāĒžāǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ `/loop disable` āĒĻāĢāĒĩāĒžāǰāĒž āǞāĢ‚āĒĒ āĒĒāĢāǞā̇āǍā̇ āĒ…āĒ•āĢāǎāĒŽ āĒ•āǰāĢ‹." +admin_13 : "āĒŽāĒšā̇āǰāĒŦāĒžāǍāĢ€ āĒ•āǰāĢ€āǍā̇ āǚāĢ‹āĒ•āĢāĒ•āǏ āǟāĢāǰā̇āĒ• āĒŽāĒžāǟā̇ ādžāĒ‚āĒ•āĒĄāĒžāĒ•āĢ€āǝ āǏāĒ‚āĒ–āĢāǝāĒžāĒ“āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ‹, āǜā̇āĒŽ āĒ•ā̇ 1, 2 āĒ…āĒĨāĒĩāĒž 4 āĒĩāĒ—ā̇āǰā̇" +admin_14 : "āǚāĢ‹āĒ•āĢāĒ•āǏ āǍāĒ‚āĒŦāǰ āĒĒāǰ āǜāĒĩāĒž āĒŽāĒžāǟā̇ āĒ•āǤāĒžāǰāĒŽāĒžāĒ‚ āĒ“āĒ›āĒžāĒŽāĒžāĒ‚ āĒ“āĒ›āĒž 2 āǟāĢāǰā̇āĒ•āǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇. /queue āĒĻāĢāĒĩāĒžāǰāĒž āĒ•āǤāĒžāǰ āǤāĒĒāĒžāǏāĢ‹" +admin_15 : "āǤāĒŽāĒžāǰāĒž āĒĻāĢāĒĩāĒžāǰāĒž ādžāĒĒāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩā̇āǞ āĒŽāĢ‚āǞāĢāǝ āĒŽāĒžāǟā̇ āĒ•āǤāĒžāǰāĒŽāĒžāĒ‚ āĒĒāĢ‚āǰāǤāĒž āǟāĢāǰā̇āĒ• āǍāĒĨāĢ€. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ 1 āĒ…āǍā̇ {0} āĒĩāǚāĢāǚā̇āǍāĢ€ āǏāĒ‚āĒ–āĢāǝāĒžāĒ“ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹" +admin_16 : "āĒĩāĒŋāĒļāĒŋāǎāĢāǟ āǟāĢāǰā̇āĒ• āĒĒāǰ āǜāĒĩāĒž āĒŽāĒžāǟā̇ āǍāĒŋāǎāĢāĒĢāĒŗ.\n\n/āĒ•āǤāĒžāǰ āĒĻāĢāĒĩāĒžāǰāĒž āĒĄāĒžāĒŦāĢ€ āĒ•āǤāĒžāǰ āǤāĒĒāĒžāǏāĢ‹" +admin_17 : "{0}.. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“" +admin_18 : "āĒāĒĄāĒŽāĒŋāǍ āǏāĢ‚āǚāĒŋ āĒŽāĒŗāĢ€ āǍāĒĨāĢ€\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ /admincache āĒ…āĒĨāĒĩāĒž /reload āĒĻāĢāĒĩāĒžāǰāĒž āĒāĒĄāĒŽāĒŋāǍāǞāĒŋāǏāĢāǟāǍā̇ āĒĢāǰāĢ€āĒĨāĢ€ āǞāĢ‹āĒĄ āĒ•āǰāĢ‹" +admin_19 : "ādž āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ āǤāĒŽāĒžāǰā̇ āĒŽā̇āǍā̇āǜ āĒĩā̉āLJāǏ āǚā̇āǟ āĒ…āǧāĒŋāĒ•āĒžāǰāĢ‹ āǏāĒžāĒĨā̇ āĒāĒĄāĒŽāĒŋāǍ āĒŦāǍāĒĩāĒžāǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇.\nāǜāĢ‹ āǤāĒŽā̇ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒāĒĄāĒŽāĒŋāǍ āĒ›āĢ‹, āǤāĢ‹ /admincache āĒĻāĢāĒĩāĒžāǰāĒž āĒāĒĄāĒŽāĒŋāǍāĒ•ā̇āĒļāǍā̇ āĒĢāǰāĢ€āĒĨāĢ€ āǞāĢ‹āĒĄ āĒ•āǰāĢ‹ " +admin_20 : "āĒāĒĄāĒŽāĒŋāǍ āĒ•ā̇āĒļ āǏāĒĢāĒŗāǤāĒžāĒĒāĢ‚āǰāĢāĒĩāĒ• āĒĢāǰāĢ€āĒĨāĢ€ āǞāĢ‹āĒĄ āĒĨāǝāĢ‹." +admin_21 : "āĒļāĒĢāǞ āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ āĒ•āǤāĒžāǰāǍāĢ€ āĒ…āĒ‚āĒĻāǰ āĒ•āĒ‚āLj āǍāĒĨāĢ€" +admin_22 : "āĒļāĒĢāǞ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ.\n\nāĒ•āǤāĒžāǰ āǤāĒĒāĒžāǏāĢ‹ : /queue" +admin_23 : "**āĒ•āǤāĒžāǰ {0}** āĒĻāĢāĒĩāĒžāǰāĒž āĒļāĒĢāǞ āĒ•āǰāĢ€ āĒ›ā̇\n\nāĒļāĒĢāǞāĢāĒĄ āĒ•āǤāĒžāǰ āǤāĒĒāĒžāǏāĢ‹ : /āĒ•āǤāĒžāǰ" +admin_24 : "**āljāĒĒāǝāĢ‹āĒ—:**\n/āǞāĢ‚āĒĒ [āǏāĒ•āĢāǎāĒŽ/āĒ…āĒ•āĢāǎāĒŽ āĒ•āǰāĢ‹] āĒ…āĒĨāĒĩāĒž [1-10 āĒĩāǚāĢāǚā̇āǍāĢ€ āǏāĒ‚āĒ–āĢāǝāĒž]\n\n**āljāĒĻāĒžāĒšāǰāĒŖ:** /āǞāĢ‚āĒĒ 5" +admin_25 : "{0} āĒĻāĢāĒĩāĒžāǰāĒž **{1}** āĒĩāĒ–āǤ āĒŽāĒžāǟā̇ āǞāĢ‚āĒĒ āǏāĒ•āĢāǎāĒŽ āĒ•āǰā̇āǞ āĒ›ā̇. āĒŦāĢ‹āǟ āĒšāĒĩā̇ **{1}** āĒĩāĒ–āǤ āĒŽāĒžāǟā̇ āĒĩā̉āLJāǏ āǚā̇āǟ āĒĒāǰ āĒĩāǰāĢāǤāĒŽāĒžāǍ āĒĩāĒ—āĒžāĒĄāǤāĒž āǏāĒ‚āĒ—āĢ€āǤāǍā́āĒ‚ āĒĒā́āǍāǰāĒžāĒĩāǰāĢāǤāǍ āĒ•āǰāĒļā̇" +admin_26 : "āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǞāĢ‚āĒĒ āĒĒāĢāǞā̇ āĒŽāĒžāǟā̇ 1-10 āĒĩāǚāĢāǚā̇āǍāĢ€ āǏāĒ‚āĒ–āĢāǝāĒžāĒ“āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ‹" +admin_27 : "āǞāĢ‚āĒĒ āĒĒāĢāǞā̇ āĒ…āĒ•āĢāǎāĒŽ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩāĢāǝā́āĒ‚ āĒ›ā̇" + + # Bot + + # Start +start_1 : "āĒŽāǍā̇ {0} āĒŽāĒžāĒ‚ āǰāĒžāĒ–āĒĩāĒž āĒŦāĒĻāǞ ādžāĒ­āĒžāǰ.\n{1} āǜāĢ€āĒĩāĒ‚āǤ āĒ›ā̇.\n\nāĒ•āĢ‹āLjāĒĒāĒŖ āǏāĒšāĒžāǝ āĒ…āĒĨāĒĩāĒž āĒŽāĒĻāĒĻ āĒŽāĒžāǟā̇, āĒ…āĒŽāĒžāǰā́āĒ‚ āǏāĒŽāǰāĢāĒĨāǍ āǜāĢ‚āĒĨ āĒ…āǍā̇ āǚā̇āǍāǞ āǤāĒĒāĒžāǏāĢ‹." +start_2 : "āĒšā̇āǞāĢ‹, āĒŽāĒžāǰā́āĒ‚ āǍāĒžāĒŽ {0} āĒ›ā̇.\n\nāĒšā́āĒ‚ āĒ•ā̇āǟāǞāĢ€āĒ• āljāĒĒāǝāĢ‹āĒ—āĢ€ āǏā́āĒĩāĒŋāǧāĒžāĒ“ āǏāĒžāĒĨā̇āǍāĢ‹ āǟā̇āǞāĒŋāĒ—āĢāǰāĒžāĒŽ āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āĒŦāĢ‹āǟ āĒ›ā́āĒ‚. YouTube, Spotify, Resso, AppleMusic , Soundcloud āĒĩāĒ—ā̇āǰā̇ āǜā̇āĒĩāĒž āǏāĒĒāĢ‹āǰāĢāǟāĒŋāĒ‚āĒ— āĒĒāĢāǞā̇āǟāĒĢāĢ‹āǰāĢāĒŽāĢāǏ.\n\nāĒŽāǍā̇ āljāĒŽā̇āǰāĒĩāĒž āĒŽāĒžāǟā̇ āǍāĒŋāǃāǏāĒ‚āĒ•āĢ‹āǚ āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāĢ‹." +start_3 : "āǏāĢāĒĩāĒžāĒ—āǤ āĒ›ā̇ {0}\n\nāĒŽāǍā̇ āĒ•āĒžāĒŽ āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ āĒ•āĢ‹āLj **āĒāĒĄāĒŽāĒŋāǍ āĒĒāǰāĒĩāĒžāǍāĒ—āĢ€**āǍāĢ€ āǜāǰāĢ‚āǰ āǍāĒĨāĢ€ ( āǜāĢāǝāĒžāĒ‚ āǏā́āǧāĢ€ āĒĒāĢ‚āĒ›āĒĩāĒžāĒŽāĒžāĒ‚ āǍ ādžāĒĩā̇ āǤāĢāǝāĒžāĒ‚ āǏā́āǧāĢ€).\n\nāǏāĒšāĒžāǝāĒ•āǍā́āĒ‚ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž āǍāĒžāĒŽ:- @{1}\nāǏāĒšāĒžāǝāĒ• ID:- {2} " +start_4 : "{0}āǍāĒž āĒŽāĒžāǞāĒŋāĒ•[{1}] āĒšāĒŽāĒŖāĒžāĒ‚ āǜ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǟāĒŽāĒžāĒ‚ āǜāĢ‹āĒĄāĒžāǝāĒž āĒ›ā̇." +start_5 : "{0}āǍāĒž āǏā́āĒĄāĢ‹ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž[{1}]āǍāĢ‹ āǏāĒ­āĢāǝ āĒšāĒŽāĒŖāĒžāĒ‚ āǜ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǟāĒŽāĒžāĒ‚ āǜāĢ‹āĒĄāĒžāǝāĢ‹ āĒ›ā̇." +start_6 : "â—ī¸ **āǏā́āĒĒāǰāĒ—āĢāǰā́āĒĒāǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇** â—ī¸\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǤāĒŽāĒžāǰāĒž **āǜāĢ‚āĒĨ**āǍā̇ **āǏā́āĒĒāǰāĒ—āĢāǰā́āĒĒ**āĒŽāĒžāĒ‚ āĒ•āǍāĢāĒĩāǰāĢāǟ āĒ•āǰāĢ‹ āĒ…āǍā̇ āĒĒāĒ›āĢ€ āĒŽāǍā̇ āĒĒāĒžāĒ›āĢ‹ āljāĒŽā̇āǰāĢ‹.\n\n**āǏā́āĒĒāǰāĒ—āĢāǰā́āĒĒ āĒ•ā̇āĒĩāĢ€ āǰāĢ€āǤā̇ āĒŦāǍāĒžāĒĩāĒļāĢ‹?**\n✅ āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāǍāĒž āǚā̇āǟ āLJāǤāĒŋāĒšāĒžāǏāǍā̇ āĒāĒ•āĒĩāĒžāǰ **āĒĻā̃āĒļāĢāǝāĒŽāĒžāǍ** āĒŦāǍāĒžāĒĩāĢ‹." + + # Help +help_1 : "āĒĩāǧā́ āĒŽāĒžāĒšāĒŋāǤāĢ€ āĒŽāĒžāǟā̇ āǍāĢ€āǚā̇āǍāĒž āĒŦāǟāǍāĢ‹ āĒĒāǰ āĒ•āĢāǞāĒŋāĒ• āĒ•āǰāĢ‹. āǜāĢ‹ āǤāĒŽāǍā̇ ādžāĒĻā̇āĒļāĒŽāĒžāĒ‚ āĒ•āĢ‹āLj āǏāĒŽāǏāĢāǝāĒž ādžāĒĩāĢ€ āǰāĒšāĢ€ āĒšāĢ‹āǝ āǤāĢ‹ āǤāĒŽā̇ āĒŽāĒžāǰāĒž āĒŦāĢ‹āǟ āĒŽāĒžāǞāĒŋāĒ•āǍāĢ‹ āǏāĒ‚āĒĒāǰāĢāĒ• āĒ•āǰāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹ āĒ…āĒĨāĒĩāĒž āǏāĒĒāĢ‹āǰāĢāǟ āǚā̇āǟāĒŽāĒžāĒ‚ āĒĒāĢ‚āĒ›āĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹.\n\nāǤāĒŽāĒžāĒŽ ādžāĒĻā̇āĒļāĢ‹āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— ādžāǍāĢ€ āǏāĒžāĒĨā̇ āĒ•āǰāĢ€ āĒļāĒ•āĒžāǝ āĒ›ā̇: /" +help_2 : "āĒŽāĒĻāĒĻ āĒŽāĒžāǟā̇ PM āĒŽāĒžāĒ‚ āĒŽāĒžāǰāĢ‹ āǏāĒ‚āĒĒāǰāĢāĒ• āĒ•āǰāĢ‹." + + # Settings +setting_1 : "âš™ī¸ **āĒŽāĢāǝā́āĒāĒŋāĒ• āĒŦāĢ‹āǟ āǏā̇āǟāĒŋāĒ‚āĒ—āĢāǏ**\n\n🖇**āĒ—āĢāǰā́āĒĒ:** {0}\n🔖**āĒ—āĢāǰā́āĒĒ ādžāLjāĒĄāĢ€:** `{1}`\n\n💡**āĒĢāĒ‚āĒ•āĢāĒļāǍ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹ āǍāĢ€āǚā̇āǍāĒž āĒŦāǟāǍāĢ‹ āĒ•ā̇ āǜā̇āĒŽāĒžāĒ‚āĒĨāĢ€ āǤāĒŽā̇ āĒĢā̇āǰāĒĢāĒžāǰ āĒ…āĒĨāĒĩāĒž āĒĢā̇āǰāĒĢāĒžāǰ āĒ•āǰāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹.**" +setting_3 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\n1) āĒĄāĒžāǝāǰā̇āĒ•āĢāǟ: āǏāĢ€āǧāĒž āĒļāĢ‹āǧ āĒ•āĢāĒĩā̇āǰāĢ€ āǚāǞāĒžāĒĩā̇ āĒ›ā̇. āĒĄāĒžāǝāǰā̇āĒ•āĢāǟ āĒŽāĢ‹āĒĄāĒŽāĒžāĒ‚ āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āǚāǞāĒžāĒĩāĒĩāĒž āĒŽāĒžāǟā̇ -v āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ‹.\n\n2) āLJāǍāǞāĒžāLJāǍ: āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āĒ…āǍā̇ āĒ‘āĒĄāĒŋāǝāĢ‹ āĒĩāǚāĢāǚā̇ āĒĒāǏāĒ‚āĒĻāĒ—āĢ€ āĒ•āǰāĒĩāĒž āĒŽāĒžāǟā̇ āLJāǍāǞāĒžāLJāǍ āĒŽāĒžāǰāĢāĒ•āĒ…āĒĒ āĒŦāǟāǍāĢ‹ āĒĒāǰāǤ āĒ•āǰā̇ āĒ›ā̇." +setting_4 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\nđŸ‘Ĩ āĒĻāǰā̇āĒ• āĒĩāĢāǝāĒ•āĢāǤāĒŋ: āĒ•āĢ‹āLjāĒĒāĒŖ āĒĩāĢāǝāĒ•āĢāǤāĒŋ ādž āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āĒšāĒžāǜāǰ āĒāĒĄāĒŽāĒŋāǍ ādžāĒĻā̇āĒļāĢ‹ (āǏāĢāĒ•āĒŋāĒĒ, āĒĒāĢ‹āĒ, āǰāĒŋāĒāĢāǝāĢ‚āĒŽ āĒĩāĒ—ā̇āǰā̇) āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ€ āĒļāĒ•ā̇ āĒ›ā̇.\n\n🙍 āĒŽāĒžāǤāĢāǰ āĒāĒĄāĒŽāĒŋāǍ: āĒŽāĒžāǤāĢāǰ āĒāĒĄāĒŽāĒŋāǍ āĒ…āǍā̇ āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āǜ āĒāĒĄāĒŽāĒŋāǍ ādžāĒĻā̇āĒļāĢ‹āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ€ āĒļāĒ•ā̇ āĒ›ā̇ " +setting_5 : "āĒ•āĢ‹āLj āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āĒŽāĒŗāĢāǝāĒž āǍāĒĨāĢ€\n\nāǤāĒŽā̇ āĒ•āĢ‹āLjāĒĒāĒŖ āĒŦāĒŋāǍ-āĒāĒĄāĒŽāĒŋāǍāǍā̇ /auth āĒĻāĢāĒĩāĒžāǰāĒž āĒŽāĒžāǰāĒž āĒāĒĄāĒŽāĒŋāǍ ādžāĒĻā̇āĒļāĢ‹āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĒĩāĒžāǍāĢ€ āĒ…āǍā̇ /unauth āǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ€āǍā̇ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒžāǍāĢ€ āĒŽāĒ‚āǜāĢ‚āǰāĢ€ ādžāĒĒāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹" +setting_9 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\nāǜāĢāǝāĒžāǰā̇ āǏāĒ•āĢāǰāĒŋāǝ āĒĨāĒžāǝ āĒ›ā̇, āǤāĢāǝāĒžāǰā̇ āĒŦā̉āǟ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǟāǍā̇ āǏāĢāĒĩāǚāĢāĒ› āĒ…āǍā̇ āǏāĢāĒĒāǎāĢāǟ āĒŦāǍāĒžāĒĩāĒĩāĒž āĒŽāĒžāǟā̇ {0} āĒĒāĒ›āĢ€ āǤā̇āǍāĢ‹ āǏāĒ‚āĒĻā̇āĒļ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒļā̇." +setting_10 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\n1) āǜāĢ‚āĒĨ: āǜāĢāǝāĒžāĒ‚ ādžāĒĻā̇āĒļ ādžāĒĒāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩā̇ āĒ›ā̇ āǤā̇ āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒĩāĒ—āĒžāĒĄā̇ āĒ›ā̇.\n\n2) āǚā̇āǍāǞ: āǤāĒŽāǍā̇ āǜāĢ‹āLjāǤāĢ€ āǚā̇āǍāǞāĒŽāĒžāĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒĩāĒ—āĒžāĒĄā̇ āĒ›ā̇. /channelplay āĒĻāĢāĒĩāĒžāǰāĒž āǚā̇āǍāǞ id āǏā̇āǟ āĒ•āǰāĢ‹" +setting_11 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\n1) āĒĻāǰā̇āĒ• āĒĩāĢāǝāĒ•āĢāǤāĒŋ: ādž āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āĒšāĒžāǜāǰ āĒ•āĢ‹āLjāĒĒāĒŖ āĒ…āĒšāĢ€āĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒĩāĒ—āĒžāĒĄāĢ€ āĒļāĒ•ā̇ āĒ›ā̇.\n\n2) āĒĢāĒ•āĢāǤ āĒāĒĄāĒŽāĒŋāǍ: āĒĢāĒ•āĢāǤ āĒāĒĄāĒŽāĒŋāǍ āǜ ādž āǜāĢ‚āĒĨāĒŽāĒžāĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒĩāĒ—āĒžāĒĄāĢ€ āĒļāĒ•ā̇ āĒ›ā̇." +setting_12 : "❌ āǤāĒŽāĒžāǰāĢ€ āĒĒāĒžāǏā̇ āǚā̇āǍāǞ āĒŽāĢ‹āĒĄ āĒŽāĒžāǟā̇ āĒ•āĢ‹āLj āǚā̇āǍāǞ id āĒĩāĢāǝāĒžāĒ–āĢāǝāĒžāǝāĒŋāǤ āǍāĒĨāĢ€. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ /channelplay āǏāĒžāĒĨā̇ āĒĩāĢāǝāĒžāĒ–āĢāǝāĒžāǝāĒŋāǤ āĒ•āǰāĢ‹." +setting_13 : "āǏāĒ•āĢāǰāĒŋāǝ āǜāĢ‚āĒĨ āĒ•ā̉āǞāĒŽāĒžāĒ‚ āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ āĒŦāĒĻāǞāĢ€ āĒļāĒ•āĒžāǤāĢ‹ āǍāĒĨāĢ€. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ /stop āǏāĒžāĒĨā̇ āĒĒāĒšā̇āǞāĒž āĒĩā̉āLJāǏ āǚā̇āǟ āĒŦāĒ‚āǧ āĒ•āǰāĢ‹." +setting_14 : "â‰ī¸ ādž āĒļā́āĒ‚ āĒ›ā̇?\n\nāǜāĢāǝāĒžāǰā̇ āǏāĒ•āĢāǰāĒŋāǝ āĒĨāĒžāǝ āĒ›ā̇, āǤāĢāǝāĒžāǰā̇ āĒŦāĢ‹āǟ āǤā̇āǍāĒž āĒāĒ•āĢāĒāĒŋāĒ•āĢāǝā́āǟ āĒ•āǰā̇āǞāĒž ādžāĒĻā̇āĒļāĢ‹ (/play, /pause, /shuffle, /stop etc) āǍā̇ āǤāǰāǤ āǜ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒļā̇.\n\nāĒŦāĢ‹āǟāǍā̇ ādžāǍāĒž āĒŽāĒžāǟā̇ āǏāĢ€āǧāĒž āǜ āǏāĒ‚āĒĻā̇āĒļāĒž āĒāĒĄāĒŽāĒŋāǍāǍā̇ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒžāǍāĢ€ āǜāǰāĢ‚āǰ āĒĒāĒĄāĒļā̇. āǝāĢ‹āĒ—āĢāǝ āǰāĢ€āǤā̇ āĒ•āĒžāĒŽ āĒ•āǰāĢ‹." +setting_15 : "āĒĒāĢ€āĒ…āǰ āljāĒ•ā̇āǞāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ, āĒ–āĒžāǤāǰāĢ€ āĒ•āǰāĢ‹ āĒ•ā̇ āǤāĒŽā̇ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǍāǞāĒŽāĒžāĒ‚ āĒŦāĢ‹āǟ āljāĒŽā̇āǰāĢāǝāĢ‹ āĒ›ā̇ āĒ…āǍā̇ āǤā̇āǍā̇ āĒāĒĄāĒŽāĒŋāǍ āǤāǰāĢ€āĒ•ā̇ āĒĒāĢāǰāĒŽāĢ‹āǟ āĒ•āǰāĢāǝāĢ‹ āĒ›ā̇.\n\nāĒĢāǰāĢ€ āǏā̇āǟāĒŋāĒ‚āĒ— /āǚā̇āǍāǞāĒĒāĢāǞā̇ āĒ•āǰāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹.." + +set_cb_1 : "āĒ“āĒĄāĒŋāǝāĢ‹ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒž āĒĒā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇..." +set_cb_2 : "āĒĩāĒŋāĒĄāĒŋāĒ“ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒž āĒĒā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇..." +set_cb_3 : "āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āĒĒā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĒĩāĢ€..." +set_cb_4 : "āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ āĒĒā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇..." +set_cb_5 : "āĒ•āĢāǞāĢ€āǍ āĒŽāĢ‹āĒĄ āĒĒā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇..." +set_cb_6 : "āĒĢā̇āǰāĒĢāĒžāǰāĢ‹ āǏā̇āǟ āĒ•āǰāĢ€ āǰāĒšāĢāǝāĒž āĒ›āĢ€āĒ." +set_cb_7 : "āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇.. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“." +set_cb_8 : "āĒĒāĒžāĒ›ā́āĒ‚ āĒŽā̇āĒŗāĒĩāĒĩā́āĒ‚.." + + # Misc +gstats_1 : "āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• ādžāĒ‚āĒ•āĒĄāĒž āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚, ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +gstats_2 : "āĒ•āĢ‹āLj āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• ādžāĒ‚āĒ•āĒĄāĒž āĒŽāĒŗāĢāǝāĒž āǍāĒĨāĢ€." +gstats_3 : "**āĒŦāĢ‹āǟ āĒĒāǰ āĒ•ā́āǞ āĒ•āĢāĒĩā̇āǰāĢ€āĒ:** {0}\n\n{1} āĒ āĒ…āǤāĢāǝāĒžāǰ āǏā́āǧāĢ€ **{3}** āĒĩāĒ–āǤ **{2}** āǟāĢāǰāĢ…āĒ• āǰāĒŽāĢāǝāĒž āĒ›ā̇.\n \n**āǟāĢ‹āǚāǍāĒž {4} āǟāĢāǰāĢ…āĒ•āĢāǏ:**\n" + +ustats_1 : "āĒ•āĢ‹āLj āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒž ādžāĒ‚āĒ•āĒĄāĒž āĒŽāĒŗāĢāǝāĒž āǍāĒĨāĢ€." +ustats_2 : "āĒļā́āĒ­āĒ•āĒžāĒŽāǍāĒž!, āǤāĒŽā̇ āĒ…āǤāĢāǝāĒžāǰ āǏā́āǧāĢ€ **{0}** āǟāĢāǰā̇āĒ• **{1}** āĒĩāĒ–āǤ āǰāĒŽāĢāǝāĒž āĒ›ā̇.\n\nāǤāĒŽāĒžāǰāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒ­āǜāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩā̇āǞ āǟāĢ‹āǚāǍāĒž {2}:\n\n" + +top_1 : "āĒŦāĢ‹āǟāǍāĢ€ āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• āǟāĢ‹āǚāǍāĢ€ 10 āǚā̇āǟāĢāǏ āĒŽā̇āĒŗāĒĩāĒĩāĢ€, ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +top_2 : "āĒ•āĢ‹āLj ādžāĒ‚āĒ•āĒĄāĒž āĒŽāĒŗāĢāǝāĒž āǍāĒĨāĢ€" +top_3 : "**{1}āǍāĢ€ āǟāĢ‹āǚāǍāĢ€ {0} āǚā̇āǟāĢāǏ:**\n\n" +top_4 : "āĒŦāĢ‹āǟāǍāĒž āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• āǟāĢ‹āǚāǍāĒž 10 āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚, ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +top_5 : "**{1} āǍāĒž āǟāĢ‹āǚāǍāĒž {0} āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“:**\n\n" +top_6 : "ādž āǚā̇āǟāǍāĒž āǟāĢ‹āǚāǍāĒž 10 āǟāĢāǰā̇āĒ• āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚, ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +top_7 : "āĒŦāĢ‹āǟāǍāĒž āĒ—āĢāǞāĢ‹āĒŦāǞ āǟāĢ‹āĒĒ 10 āǟāĢāǰāĢ…āĒ•āĢāǏ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚, ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +top_8 : "ādž āǚā̇āǟ āǜāĢ‚āĒĨā̇ āĒ…āǤāĢāǝāĒžāǰ āǏā́āǧāĢ€ **{0}** āǟāĢāǰā̇āĒ• **{1}** āĒĩāĒ–āǤ āǰāĒŽāĢāǝāĒž āĒ›ā̇.\n\nādž āǚā̇āǟ āǜāĢ‚āĒĨ āĒĻāĢāĒĩāĒžāǰāĒž āǰāĒŽāĒžāǝā̇āǞ āǟāĢ‹āǚāǍāĒž {2}:\n\n" +top_9 : "Bot āǍāĒž āǏāĒžāĒŽāĒžāǍāĢāǝ ādžāĒ‚āĒ•āĒĄāĒž āĒ…āǍā̇ āĒŽāĒžāĒšāĒŋāǤāĢ€ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝāĒžāĒ‚ āĒ›āĢ€āĒ.. ādžāĒŽāĒžāĒ‚ āĒĨāĢ‹āĒĄāĢ‹ āǏāĒŽāǝ āǞāĒžāĒ—āĢ€ āĒļāĒ•ā̇ āĒ›ā̇..." +top_10 : "**BOT āǍāĒž āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• āǟāĢ‹āǚāǍāĒž 10 ādžāĒ‚āĒ•āĒĄāĒž**\n\nāǍāĢ€āǚā̇āĒĨāĢ€ āǤā̇ āĒŦāǟāǍāĢ‹ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹ āĒ•ā̇ āǜā̇āǍāĒž āĒŽāĒžāǟā̇ āǤāĒŽā̇ āĒŦāĢ‹āǟāǍāĒž āǏāǰāĢāĒĩāǰāĒŽāĒžāĒ‚āĒĨāĢ€ āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• ādžāĒ‚āĒ•āĒĄāĒžāĒ“ āǤāĒĒāĒžāǏāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹." + + # play + + #Play CallBack +playcb_1 : "ādž āǤāĒŽāĒžāǰāĒž āĒŽāĒžāǟā̇ āǍāĒĨāĢ€! āǤāĒŽāĒžāǰā́āĒ‚ āĒĒāĢ‹āǤāĒžāǍā́āĒ‚ āĒ—āĢ€āǤ āĒļāĢ‹āǧāĢ‹." +playcb_2 : "ādžāĒ—āǞā́āĒ‚ āĒĒāǰāĒŋāĒŖāĒžāĒŽ āĒŽā̇āĒŗāĒĩāĒĩā́āĒ‚" + + # Channel Play +cplay_1 : "āǤāĒŽā̇ ādž āǚā̇āǟ[{0}] āĒĨāĢ€ āĒ•āĢ‹āLjāĒĒāĒŖ āǚā̇āǍāǞ āĒ…āĒĨāĒĩāĒž āǤāĒŽāĒžāǰāĢ€ āǚā̇āǟāǍāĢ€ āǞāĒŋāĒ‚āĒ• āĒ•āǰā̇āǞ āǚā̇āǍāǞāĒŽāĒžāĒ‚ āǏāĒ‚āĒ—āĢ€āǤ āĒĩāĒ—āĒžāĒĄāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹.\n\n**āǞāĒŋāĒ‚āĒ• āĒ•āǰā̇āǞ āǚā̇āǍāǞ āĒŽāĒžāǟā̇:**\n`/{1} āǞāĒŋāĒ‚āĒ• āĒ•āǰā̇āǞ`\n\ n**āĒ…āǍāĢāǝ āĒ•āĢ‹āLjāĒĒāĒŖ āǚā̇āǍāǞ āĒŽāĒžāǟā̇:**\n`/{1} [āǚā̇āǍāǞ ID]`" +cplay_2 : "ādž āǚā̇āǟāĒŽāĒžāĒ‚ āĒ•āĢ‹āLj āǞāĒŋāĒ‚āĒ• āĒ•āǰā̇āǞ āǚā̇āǍāǞ āǍāĒĨāĢ€." +cplay_3 : "āǚā̇āǍāǞ āĒĩāĢāǝāĒžāĒ–āĢāǝāĒžāǝāĒŋāǤ {0}\n\n__āǚā̇āǍāǞ ID__: {1}" +cplay_4 : "āǚā̇āǍāǞ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ.\n\nāĒ–āĒžāǤāǰāĢ€ āĒ•āǰāĢ‹ āĒ•ā̇ āǤāĒŽā̇ āǤāĒŽāĒžāǰāĢ€ āǚā̇āǍāǞāĒŽāĒžāĒ‚ āĒŦāĢ‹āǟ āljāĒŽā̇āǰāĢāǝāĢ‹ āĒ›ā̇ āĒ…āǍā̇ āǤā̇āǍā̇ āĒāĒĄāĒŽāĒŋāǍ āǤāǰāĢ€āĒ•ā̇ āĒĒāĢāǰāĒŽāĢ‹āǟ āĒ•āǰāĢāǝāĢ‹ āĒ›ā̇.\n/channelplay āĒĻāĢāĒĩāĒžāǰāĒž āǚā̇āǍāǞ āĒŦāĒĻāǞāĢ‹ āĒ…āĒĨāĒĩāĒž /playmode āĒĻāĢāĒĩāĒžāǰāĒž āǚā̇āǍāǞ āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄāǍā̇ āĒ…āĒ•āĢāǎāĒŽ āĒ•āǰāĢ‹" +cplay_5 : "āĒŽāĒžāǤāĢāǰ āǚā̇āǍāǞāĢ‹ āǜ āǏāĒŽāǰāĢāĒĨāĒŋāǤ āĒ›ā̇." +cplay_6 : "āǚā̇āǍāǞāǍā̇ ādž āǜāĢ‚āĒĨ āǏāĒžāĒĨā̇ āǜāĢ‹āĒĄāĒĩāĒž āĒŽāĒžāǟā̇ āǤāĒŽāĒžāǰā̇ āǤā̇āǍāĒž **āĒŽāĒžāǞāĒŋāĒ•[{0}] āĒŦāǍāĒĩāĒžāǍāĢ€ āǜāǰāĢ‚āǰ āĒ›ā̇.\n**āǚā̇āǍāǞāǍāĒž āĒŽāĒžāǞāĒŋāĒ•:** @{1}\n\nāĒĩā̈āĒ•āǞāĢāĒĒāĒŋāĒ• āǰāĢ€āǤā̇ āǤāĒŽā̇ āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāǍā̇ āǞāĒŋāĒ‚āĒ• āĒ•āǰāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹ āǤā̇ āǚā̇āǍāǞ āǏāĒžāĒĨā̇ āĒ…āǍā̇ āĒĒāĒ›āĢ€ `/āǚā̇āǍāǞāĒĒāĢāǞā̇ āǞāĒŋāĒ‚āĒ•āĢāĒĄ` āǏāĒžāĒĨā̇ āĒ•āǍā̇āĒ•āĢāǟ āĒ•āǰāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹" + + #Play +play_1 : "🔄 āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āĢāĒĩā̇āǰāĢ€... āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“!" +play_2 : "**🏷āǚā̇āǍāǞ āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ**\n\n🔄 āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āĢāĒĩā̇āǰāĢ€... āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“!\n**āǞāĒŋāĒ‚āĒ• āĒ•āǰā̇āǞ āǚā̇āǍāǞ:** {0}" +play_3 : "āĒ•āĢāĒĩā̇āǰāĢ€ āĒĒāǰ āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ!" +play_4 : "🖇 **āĒāĒĄāĒŽāĒŋāǍāĢāǏ āĒ“āǍāĢāǞāĢ€ āĒĒāĢāǞā̇**\nāĒĢāĒ•āĢāǤ āĒāĒĄāĒŽāĒŋāǍāĢāǏ āĒ…āǍā̇ āĒ“āĒĨ āǝā́āĒāǰāĢāǏ ādž āĒ—āĢāǰā́āĒĒāĒŽāĒžāĒ‚ āĒŽāĢāǝā́āĒāĒŋāĒ• āĒĩāĒ—āĒžāĒĄāĢ€ āĒļāĒ•ā̇ āĒ›ā̇.\n\n/playmode āĒĻāĢāĒĩāĒžāǰāĒž āĒŽāĢ‹āĒĄ āĒŦāĒĻāǞāĢ‹ āĒ…āǍā̇ āǜāĢ‹ āǤāĒŽā̇ āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒāĒĄāĒŽāĒŋāǍ āĒ›āĢ‹, āǤāĢ‹ /admincache āĒĻāĢāĒĩāĒžāǰāĒž āĒāĒĄāĒŽāĒŋāǍāĒ•ā̇āĒļāǍā̇ āĒĢāǰāĢ€āĒĨāĢ€ āǞāĢ‹āĒĄ āĒ•āǰāĢ‹" +play_5 : "āĒ‘āĒĄāĒŋāĒ“ āĒĢāĒžāLJāǞ āĒĒāǰ āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ.\n\nāĒ‘āĒĄāĒŋāǝāĢ‹ āĒĢāĒžāLJāǞāǍā́āĒ‚ āĒ•āĒĻ 100 mb āĒ•āǰāǤāĒžāĒ‚ āĒ“āĒ›ā́āĒ‚ āĒšāĢ‹āĒĩā́āĒ‚ āǜāĢ‹āLjāĒ" +play_6 : "**āĒ…āĒĩāǧāĒŋ āĒŽāǰāĢāǝāĒžāĒĻāĒž āĒ“āĒŗāĒ‚āĒ—āĒžāLj āĒ—āLj**\n\n**āĒŽāĒ‚āǜāĢ‚āǰ āĒ…āĒĩāǧāĒŋ: **{0} āĒŽāĒŋāǍāĒŋāǟ(āĒ“)\n**āĒĒāĢāǰāĒžāĒĒāĢāǤ āĒ…āĒĩāǧāĒŋ:** {1} āĒ•āǞāĒžāĒ•" +play_7 : "āĒŽāĒžāĒĢ āĒ•āǰāĒļāĢ‹! CPU āĒ“āĒĩāǰāǞāĢ‹āĒĄ āǏāĒŽāǏāĢāǝāĒžāĒ“āǍā̇ āĒ•āĒžāǰāĒŖā̇ āĒŦā̉āǟ āĒŽāĒžāǤāĢāǰ āĒŽāǰāĢāǝāĒžāĒĻāĒŋāǤ āǏāĒ‚āĒ–āĢāǝāĒžāĒŽāĒžāĒ‚ āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āĒ•ā̉āǞāĢāǏāǍāĢ€ āĒŽāĒ‚āǜāĢ‚āǰāĢ€ ādžāĒĒā̇ āĒ›ā̇. āĒ…āǍāĢāǝ āǘāĒŖāĢ€ āǚā̇āǟāĢāǏ āĒ…āǤāĢāǝāĒžāǰā̇ āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āĒ•ā̉āǞāǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ€ āǰāĒšāĢ€ āĒ›ā̇. āĒ‘āĒĄāĒŋāǝāĢ‹ āĒĒāǰ āǏāĢāĒĩāĒŋāǚ āĒ•āǰāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹ āĒ…āĒĨāĒĩāĒž āĒĒāĒ›āĢ€āĒĨāĢ€ āĒĢāǰāĢ€ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹" +play_8 : "āĒŽāĒžāǍāĢāǝ āĒĩāĒŋāĒĄāĒŋāĒ“ āĒĢāĒžāLJāǞ āĒāĒ•āĢāǏāĢāǟā̇āĒ‚āĒļāǍ āǍāĒĨāĢ€!\n\n**āǏāĒĒāĢ‹āǰāĢāǟā̇āĒĄ āĒĢāĢ‹āǰāĢāĒŽā̇āǟāĢāǏ:** {0}" +play_9 : "āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āĒĢāĒžāLJāǞāǍā́āĒ‚ āĒ•āĒĻ 1 GiB āĒ•āǰāǤāĒž āĒ“āĒ›ā́āĒ‚ āĒšāĢ‹āĒĩā́āĒ‚ āǜāĢ‹āLjāĒ" +play_10 : "**āǝā́āǟāĢāǝā́āĒŦ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǏā́āĒĩāĒŋāǧāĒž**\n\nāǤāĒŽā̇ ādžāĒ–āĢ€ āǝā́āǟāĢāǝā́āĒŦ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǚāǞāĒžāĒĩāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹ āǤā̇ āĒŽāĢ‹āĒĄ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹" +play_11 : "📎āĒļāĢ€āǰāĢāǎāĒ•: **{0}\n\nâŗ āĒ…āĒĩāǧāĒŋ:** {1} āĒŽāĒŋāǍāĒŋāǟ" +play_12 : "**Spotify Play Mode**\n\nādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒžāǝā̇āǞ:- {0}" +play_13 : "**Apple āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ**\n\nādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒžāǝā̇āǞ:- {0}" +play_14 : "**URL āǚāĒ•āĒžāǏāĒĩāĒžāĒŽāĒžāĒ‚ āĒ…āǏāĒŽāǰāĢāĒĨ.**\nāǜāĢ‹ ādž url āǍāĢ€āǚā̇āǍāĒž āĒ•āĢ‹āLjāĒĒāĒŖ āĒĒāĢāǞā̇āǟāĒĢāĢ‹āǰāĢāĒŽāǍā́āĒ‚ āĒšāĢ‹āǝ āǤāĢ‹ ādžāĒļāĢāǚāǰāĢāǝ āĒĨāĒžāǝ āĒ›ā̇: Youtube, AppleMusic, Spotify, Resso āĒ…āǍā̇ Soundcloud.\n\nāǤāĒŽā̇ M3u8 āĒ…āĒĨāĒĩāĒž āǰāĒŋāĒŽāĢ‹āǟ āǞāĒŋāĒ‚āĒ•āĢāǏ āĒŽāĒžāǟā̇ /āǏāĢāǟāĢāǰāĢ€āĒŽāǍāĢ‹ āljāĒĒāǝāĢ‹āĒ— āĒ•āǰāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹ " +play_15 : "**āǞāĒžāLJāĒĩ āǏāĢāǟāĢāǰāĢ€āĒŽ āĒļāĢ‹āǧāĒžāǝā́āĒ‚**\n\nāǏāĒŋāǏāĢāǟāĒŽāǍā̇ āǤāĒŽāĒžāǰāĢ€ āǟāĢāǰāĢ…āĒ• āǞāĒŋāĒ‚āĒ• āǞāĒžāLJāĒĩ āǏāĢāǟāĢāǰāĢ€āĒŽ āǤāǰāĢ€āĒ•ā̇ āĒŽāĒŗāĢ€ āĒ›ā̇. āǞāĒžāLJāĒĩ āǏāĢāǟāĢāǰāĢ€āĒŽ āǚāǞāĒžāĒĩāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹?" +play_16 : "āǟāĢāǰā̇āĒ•āǍāĢ€ āĒĩāĒŋāĒ—āǤāĢ‹ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ. āĒ•āĢ‹āLjāĒĒāĒŖ āĒ…āǍāĢāǝ āǰāĒŽāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹." +play_17 : "ādž āĒĒāĢāǰāĒ•āĒžāǰāǍāĢ€ āǏāĢāĒĒāĢ‹āǟāĒžāLJāĒĢ āĒ•āĢāĒĩā̇āǰāĢ€ āǚāǞāĒžāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āĒ…āǏāĒŽāǰāĢāĒĨ!\n\nāĒšā́āĒ‚ āĒŽāĒžāǤāĢāǰ āǏāĢāĒĒāĢ‹āǟāĒžāLJāĒĢ āǟāĢāǰā̇āĒ•āĢāǏ, ādžāǞāĢāĒŦāĒŽāĢāǏ, āĒ•āǞāĒžāĒ•āĒžāǰāĢ‹ āĒ…āǍā̇ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĢāǏ āǜ āĒĒāĢāǞā̇ āĒ•āǰāĢ€ āĒļāĒ•ā́āĒ‚ āĒ›ā́āĒ‚" + + #Playlist +playlist_1 : "**āljāĒĒāǝāĢ‹āĒ—:** /āĒĒāĢāǞā̇ [āǏāĒ‚āĒ—āĢ€āǤāǍā́āĒ‚ āǍāĒžāĒŽ āĒ…āĒĨāĒĩāĒž āǝā́āǟāĢāǝā́āĒŦ āǞāĒŋāĒ‚āĒ• āĒ…āĒĨāĒĩāĒž āĒ‘āĒĄāĒŋāǝāĢ‹āǍā̇ āǜāĒĩāĒžāĒŦ ādžāĒĒāĢ‹]\n\nāǜāĢ‹ āǤāĒŽā̇ āĒŦā̉āǟāǍā́āĒ‚ āǏāǰāĢāĒĩāǰ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǚāǞāĒžāĒĩāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āǤāĒž āĒšāĢ‹āĒĩ āǤāĢ‹ āǍāĢ€āǚā̇āǍā́āĒ‚ āĒŦāǟāǍ āĒĻāĒŦāĒžāĒĩāĢ‹." +playlist_2 : "āǤāĒŽāĒžāǰāĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒŽāĒŗāĢ€ āǰāĒšāĢ€ āĒ›ā̇. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“" +playlist_3 : "āǤāĒŽāĒžāǰāĢ€ āĒĒāĒžāǏā̇ āĒŦāĢ‹āǟāǍāĒž āǏāǰāĢāĒĩāǰ āĒĒāǰ āĒ•āĢ‹āLj āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǍāĒĨāĢ€." +playlist_4 : "āĒĢā̇āǚ āĒ•āǰā̇āǞ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ:\n\n" +playlist_5 : " āĒ…āĒĩāǧāĒŋ- {0} āĒŽāĒŋāǍāĒŋāǟ" +playlist_6 : "āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒž āĒŽāĒžāǟā̇ PM āĒŽāĒžāĒ‚ āĒŽāĒžāǰāĢ‹ āǏāĒ‚āĒĒāǰāĢāĒ• āĒ•āǰāĢ‹." +playlist_7 : "āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāǍāĢ€ āĒ…āĒ‚āĒĻāǰāǍāĒž āǟāĢāǰāĢ…āĒ•āĢāǏ: {0}\n\nāǤāĒŽāĒžāǰāĒž āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĒŽāĒžāĒ‚āĒĨāĢ€ āĒ•āĢ‹āLj āǚāĢ‹āĒ•āĢāĒ•āǏ āǟāĢāǰāĢ…āĒ• āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒž āĒŽāĒžāǟā̇ āĒŦāǟāǍāĢ‹ āĒĻāĒŦāĒžāĒĩāĢ‹.\n\nādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒž āĒŽāĒžāǟā̇: āĒĄā̇āǞ ādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒŦāǟāǍ āĒĻāĒŦāĒžāĒĩāĢ‹." +playlist_8 : "āĒĒāĒšā̇āǞā̇āĒĨāĢ€ āǜ āĒ…āǏāĢāǤāĒŋāǤāĢāĒĩāĒŽāĒžāĒ‚ āĒ›ā̇\n\nādž āǟāĢāǰāĢ…āĒ• āǤāĒŽāĒžāǰāĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĒŽāĒžāĒ‚ āĒ…āǏāĢāǤāĒŋāǤāĢāĒĩāĒŽāĒžāĒ‚ āĒ›ā̇." +playlist_9 : "āĒŽāĒžāĒĢ āĒ•āǰāĒļāĢ‹! āǤāĒŽāĒžāǰāĢ€ āĒĒāĒžāǏā̇ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĒŽāĒžāĒ‚ āĒĢāĒ•āĢāǤ {0} āǏāĒ‚āĒ—āĢ€āǤ āĒšāĢ‹āLj āĒļāĒ•ā̇ āĒ›ā̇." +playlist_10 : "āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒāĒĄāĒŋāĒļāǍ\n\n{0}\nāǤāĒŽāĒžāǰāĒž āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĒŽāĒžāĒ‚ āljāĒŽā̇āǰāĒžāǝā̇āǞ." +playlist_11 : "āǤāĒŽāĒžāǰāĢ‹ āǟāĢāǰā̇āĒ• āǏāĒĢāĒŗāǤāĒžāĒĒāĢ‚āǰāĢāĒĩāĒ• āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĢāǝāĢ‹." +playlist_12 : "āǤāĒŽāĒžāǰāĢ‹ āǟāĢāǰā̇āĒ• āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ." +playlist_13 : "āǏāǰāĢāĒĩāǰāĒŽāĒžāĒ‚āĒĨāĢ€ āǤāĒŽāĒžāǰāĢ€ ādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĢ€." +playlist_14 : "**āĒļā́āĒ‚ āǤāĒŽā̇ āĒ–āǰā̇āĒ–āǰ āǤāĒŽāĒžāǰāĢ€ ādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹?**\n\nāǤāĒŽā̇ āǤāĒŽāĒžāǰāĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ—ā́āĒŽāĒžāĒĩāĒļāĢ‹ āĒ…āǍā̇ āǤā̇ āĒĒāĒ›āĢ€āĒĨāĢ€ āĒĒā́āǍāǃāĒĒāĢāǰāĒžāĒĒāĢāǤ āĒ•āǰāĢ€ āĒļāĒ•āĒžāĒļā̇ āǍāĒšāĢ€āĒ‚." +playlist_15 : "[āǚā̇āĒ•ādžāljāǟ ādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ]({0})" +playlist_16 : "āĒ•āǤāĒžāǰāĒŦāĒĻāĢāǧ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ:" +playlist_17 : "āĒ•āǤāĒžāǰāĒŦāĒĻāĢāǧ āǏāĢāĒĨāĒŋāǤāĒŋ-" +playlist_18 : "[āǚā̇āĒ•ādžāljāǟ ādžāĒ–āĢ€ āĒ•āǤāĒžāǰāĒĩāĒžāĒŗāĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ]({0})\n\nāĒ›ā̇āǞāĢāǞāĢ€ āĒ•āǤāĒžāǰāĒĩāĒžāĒŗāĢ€ āǏāĢāĒĨāĒŋāǤāĒŋ : **{1}**" + + #Playmode +playmode_1 : "āǤā̇ āĒŽāĢ‹āĒĄ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹ āĒ•ā̇ āǜā̇āĒŽāĒžāĒ‚ āǤāĒŽā̇ āǤāĒŽāĒžāǰāĒž āǜāĢ‚āĒĨāǍāĢ€ āĒ…āĒ‚āĒĻāǰ āĒ•āĢāĒĩā̇āǰāĢ€ āǚāǞāĒžāĒĩāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹[{0}]." +playmode_2 : "āǏā̇āǟāĒŋāĒ‚āĒ—āĢāǏ āĒŦāĒĻāǞāĒžāLj āĒ…āǍā̇ {0} āĒĻāĢāĒĩāĒžāǰāĒž āǏāĒĢāĒŗāǤāĒžāĒĒāĢ‚āǰāĢāĒĩāĒ• āǏāĒžāǚāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩāĢ€" + + #Stream +str_1 : "āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ M3u8 āǞāĒŋāĒ‚āĒ•āĢāǏ āĒ…āĒĨāĒĩāĒž āLJāǍāĢāĒĄā̇āĒ•āĢāǏ āǞāĒŋāĒ‚āĒ•āĢāǏ āĒĒāĢāǰāĒĻāĒžāǍ āĒ•āǰāĢ‹." +str_2 : "✅ āĒŽāĒžāǍāĢāǝ āǏāĢāǟāĢāǰāĢ€āĒŽ āǚāĒ•āĒžāǏāĒžāǝā̇āǞ\n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒĒāĢāǰāĢ‹āǏā̇āǏāĒŋāĒ‚āĒ— āǞāĒŋāĒ‚āĒ•āǍāĢ€ āǰāĒžāĒš āǜā́āĒ“.." +str_3 : "YouTube āǞāĒžāLJāĒĩ āǏāĢāǟāĢāǰāĢ€āĒŽāĢāǏāǍā̇ āǏāĢāǟāĢāǰāĢ€āĒŽ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āĒ…āǏāĒŽāǰāĢāĒĨ. āĒ•āĢ‹āLj āǞāĒžāLJāĒĩ āĒĢāĢ‹āǰāĢāĒŽā̇āǟ āĒŽāĒŗāĢāǝā́āĒ‚ āǍāĒĨāĢ€" + + #TopPlay +tracks_1 : "**āĒĒāĢāǰāĒ•āĢāǰāĒŋāǝāĒž āĒ•āǰāĢ€ āǰāĒšāĢāǝā́āĒ‚ āĒ›ā̇ {0} āǟāĢ‹āǚāǍāĢ€ 10 āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ**\n\n**👤 āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒžāǝā̇āǞ:** {1}\nđŸ“ĸ**āǚā̇āǍāǞ āĒĒāĢāǞā̇:** {2}\n\nādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āǟāĢ‹āǚāǍāĒž 10 āǟāĢāǰāĢ…āĒ•āĢāǏ āǤāĒĒāĒžāǏāĢ‹ /ādžāĒ‚āĒ•āĒĄāĒž" +tracks_2 : "**āĒ­āĢ‚āǞ**\n\nāĒŦāĢ‹āǟāǍāĒž āǏāǰāĢāĒĩāǰ āĒĒāǰ āĒ•āĢ‹āLj **{0} āǟāĢ‹āǚāǍāĢ€ 10 āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ** āǍāĒĨāĢ€. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒ•āĢ‹āLjāĒĒāĒŖ āĒ…āǍāĢāǝ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹" + + # TOOLS + + #Lyrics +lyrics_1 : "**āljāĒĒāǝāĢ‹āĒ—:**\n\n/āĒ—āĢ€āǤ [ āǏāĒ‚āĒ—āĢ€āǤāǍā́āĒ‚ āǍāĒžāĒŽ]" +lyrics_2 : "āĒ—āĢ€āǤāĢ‹āǍāĢ€ āĒļāĢ‹āǧ" +lyrics_3 : "❌ āĒ—āĢ€āǤāĢ‹ āǞāĒžāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ 😭.\n\n💡**ādžāǍāĒž āĒŽāĒžāǟā̇ āĒļāĢ‹āǧāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢāǝāĢ‹:** {0}" +lyrics_5 : +lyrics_4 : "āǍāĢ€āǚā̇āǍāĒž āĒŦāǟāǍ āĒĒāǰ āĒ•āĢāǞāĒŋāĒ• āĒ•āǰāĢ‹ āĒ…āǍā̇ āǞāĒžāĒ‚āĒŦāĒž āǏāĢāĒĒāĒžāĒŽ āĒĒāĢāǰāĒ•āĒžāǰāǍāĒž āĒ—āĢ€āǤāĢ‹āǍāĢ€ āĒļāĢ‹āǧāǍā̇ āǟāĒžāĒŗāĒĩāĒž āĒŽāĒžāǟā̇ āĒļāĢ‹āǧā̇āǞ āĒ—āĢ€āǤāĢ‹ āĒŽā̇āĒŗāĒĩāĢ‹." + + #Ping +ping_1 : "āĒĒā̉āĒ‚āĒ—!!!!" + + + # Song +song_1 : "āǤāĒŽā̇ YouTube āĒĒāǰāĒĨāĢ€ āǏāĒ‚āĒ—āĢ€āǤ āĒ…āĒĨāĒĩāĒž āĒĩāĒŋāĒĄāĒŋāǝāĢ‹ āĒĢāĒ•āĢāǤ āĒ–āĒžāǍāĒ—āĢ€ āǚā̇āǟāĒŽāĒžāĒ‚ āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĢ€ āĒļāĒ•āĢ‹ āĒ›āĢ‹. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒŽāǍā̇ āĒ–āĒžāǍāĒ—āĢ€ āǚā̇āǟāĒŽāĒžāĒ‚ āĒĒāĢāǰāĒžāǰāĒ‚āĒ­ āĒ•āǰāĢ‹." +song_2 : "**āljāĒĒāǝāĢ‹āĒ—:**\n\n/āĒ—āĢ€āǤ [āǏāĒ‚āĒ—āĢ€āǤāǍā́āĒ‚ āǍāĒžāĒŽ] āĒ…āĒĨāĒĩāĒž [āǝā́āǟāĢāǝā́āĒŦ āǞāĒŋāĒ‚āĒ•]" +song_3 : "āǞāĒžāLJāĒĩ āǞāĒŋāĒ‚āĒ• āĒŽāĒŗāĢ€. āĒšā́āĒ‚ āǞāĒžāLJāĒĩ āǝā́āǟāĢāǝā́āĒŦ āĒĩāĢ€āĒĄāĒŋāǝāĢ‹ āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĢ€ āĒļāĒ•āǤāĢ‹ āǍāĒĨāĢ€." +song_4 : "**🔗āĒļāĢ€āǰāĢāǎāĒ•:**- {0}\n\nāǤāĒŽā̇ āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒž āĒŽāĒžāĒ‚āĒ—āĢ‹ āĒ›āĢ‹ āǤā̇ āĒĒāĢāǰāĒ•āĒžāǰ āĒĒāǏāĒ‚āĒĻ āĒ•āǰāĢ‹." +song_5 : "āĒŽāĒžāǍāĢāǝ āǝā́āǟāĢāǝā́āĒŦ āǞāĒŋāĒ‚āĒ• āǍāĒĨāĢ€" +song_6 : "āĒĢāĢ‹āǰāĢāĒŽā̇āǟāĢāǏ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝāĒžāĒ‚ āĒ›āĢ€āĒ.. \n\nāĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“.." +song_7 : "āĒĩāĒŋāĒĄāĒŋāĒ“ āĒŽāĒžāǟā̇ āljāĒĒāǞāĒŦāĢāǧ āĒĢāĢ‹āǰāĢāĒŽā̇āǟ āĒŽā̇āĒŗāĒĩāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒ•āĢ‹āLjāĒĒāĒŖ āĒ…āǍāĢāǝ āǟāĢāǰāĢ…āĒ•āǍāĢ‹ āĒĒāĢāǰāǝāĒžāǏ āĒ•āǰāĢ‹." +song_8 : "āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒļāǰāĢ‚ āĒĨāǝā́āĒ‚\n\nāĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāǍāĢ€ āĒāĒĄāĒĒ āǧāĢ€āĒŽāĢ€ āĒšāĢ‹āLj āĒļāĒ•ā̇ āĒ›ā̇. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒĒāĒ•āĒĄāĢ€ āǰāĒžāĒ–āĢ‹.." +song_9 : "Youtube-DL āĒĒāǰāĒĨāĢ€ āĒ—āĢ€āǤ āĒĄāĒžāljāǍāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ\n\n**āĒ•āĒžāǰāĒŖ:** {0}" +song_10 : "āǏāǰāĢāĒĩāǰāĒŽāĒžāĒ‚āĒĨāĢ€ āǟā̇āǞāĒŋāĒ—āĢāǰāĒžāĒŽ āĒĒāǰ āĒ…āĒĒāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ āǍāĒŋāǎāĢāĒĢāĒŗ." +song_11 : "āĒ…āĒĒāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāǍā́āĒ‚ āĒļāǰāĢ‚ āĒĨāǝā́āĒ‚\n\nāĒ…āĒĒāǞāĢ‹āĒĄ āĒ•āǰāĒĩāĒžāǍāĢ€ āĒāĒĄāĒĒ āǧāĢ€āĒŽāĢ€ āĒšāĢ‹āLj āĒļāĒ•ā̇ āĒ›ā̇. āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āĒĒāĒ•āĒĄāĢ€ āǰāĒžāĒ–āĢ‹.." + + # Tools - Queue +queue_1 : "āĒ•ā̃āĒĒāĒž āĒ•āǰāĢ€āǍā̇ āǰāĒžāĒš āǜā́āĒ“..āĒ•āǤāĒžāǰ āĒŽā̇āĒŗāĒĩāĢ€ āǰāĒšāĢāǝāĒžāĒ‚ āĒ›āĢ€āĒ.." +queue_2 : "āĒ•āǤāĒžāǰāǍāĢ€ āĒ…āĒ‚āĒĻāǰ āĒ•āĢ‹āLj āǟāĢāǰā̇āĒ• āǍāĒĨāĢ€." +queue_3 : "**āĒ•āǤāĒžāǰāĒŦāĒĻāĢāǧ āǟāĢāǰāĢ…āĒ•āĢāǏ:** [āĒ…āĒšāĢ€āĒ‚āĒĨāĢ€ āĒĩāǧā́ āĒ•āǤāĒžāǰāĒŦāĒĻāĢāǧ āǟāĢāǰāĢ…āĒ•āĢāǏ āǤāĒĒāĒžāǏāĢ‹]({0})" +queue_4 : "âŗ **#{0} āĒĒāǰ āĒ•āǤāĒžāǰāĒŽāĒžāĒ‚ āljāĒŽā̇āǰāĢāǝā́āĒ‚\n\n💡āĒļāĢ€āǰāĢāǎāĒ•:** {1}\n**⏱ āĒ…āĒĩāǧāĒŋ:** {2}\n👤**ādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āljāĒŽā̇āǰāĒžāǝā̇āǞ:** {3 }" + + # All Streaming Lines +stream_1 : "📡 **āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āĒļāǰāĢ‚ āĒ•āǰāĢāǝā́āĒ‚** 💡\n\n👤**ādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒžāǝā̇āǞ:** {0}\nđŸ”Ļ**āĒŽāĒžāĒšāĒŋāǤāĢ€: **[āĒ…āĒšāĢ€āĒ‚]({1})" +stream_2 : "📡 **URL āĒĻāĢāĒĩāĒžāǰāĒž āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āĒļāǰāĢ‚ āĒ•āǰāĢāǝā́āĒ‚ ** 💡\n\n👤**ādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒĩāĒžāĒŽāĒžāĒ‚ ādžāĒĩāĢ€:** {0}" +stream_3 : "📡 **āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āĒļāǰāĢ‚ āĒ•āǰāĢāǝā́āĒ‚** 💡\n\n**🏷āĒļāĢ€āǰāĢāǎāĒ•:** {0}\nâŒ›ī¸**āĒ…āĒĩāǧāĒŋ**: {1}\n👤**ādžāǍāĒž āĒĻāĢāĒĩāĒžāǰāĒž āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒ•āǰāĒžāǝā̇āǞ:** {2} " +stream_4 : "📡 **āǏāĢāǟāĢāǰāĢ€āĒŽāĒŋāĒ‚āĒ— āĒļāǰāĢ‚ āĒ•āǰāĢāǝā́āĒ‚** 💡\n\n**🏷āĒļāĢ€āǰāĢāǎāĒ•:** [{0}]({1})\nâŒ›ī¸**āǏāĒŽāǝ**: {2}\n👤**āĒĩāĒŋāǍāĒ‚āǤāĢ€ āĒĻāĢāĒĩāĒžāǰāĒž:** {3}" + + # Inline Buttons + + #General Buttons +CLOSE_BUTTON : "🗑 āĒŦāĒ‚āǧ" +CLOSEMENU_BUTTON : "🗑 āĒŽā̇āǍā́ āĒŦāĒ‚āǧ āĒ•āǰāĢ‹" +BACK_BUTTON : "âŦ… āĒĒāĒžāĒ›āĒŗ" +UNBAN_BUTTON : "🗑 āǏāĒšāĒžāǝāĒ•āǍā̇ āĒĒāĢāǰāǤāĒŋāĒŦāĒ‚āǧāĒŋāǤ āĒ•āǰāĢ‹" + + #Lyrics +L_B_1 : "🚀 āĒšāĒĩā̇ āĒ—āĢ€āǤāĢ‹ āǤāĒĒāĒžāǏāĢ‹" + + # Start +S_B_1 : "🗒 ādžāĒĻā̇āĒļāĢ‹" +S_B_2 : "🔧 āǏā̇āǟāĒŋāĒ‚āĒ—āĢāǏ" +S_B_3 : "📨 ādžāǧāĒžāǰ" +S_B_4 : "📨 āǚā̇āǍāǞ" +S_B_5 : "✚ āĒŽāǍā̇ āǤāĒŽāĒžāǰāĒž āĒ—āĢāǰā́āĒĒāĒŽāĒžāĒ‚ āljāĒŽā̇āǰāĢ‹" +S_B_6 : "💡 āĒ—āĒŋāǟ āǰā̇āĒĒāĢ‹" +S_B_7 : "👤 āĒŦāĢ‹āǟ āĒŽāĒžāǞāĒŋāĒ•" +S_B_8 : "🔎 āĒ•ā̇āĒĩāĢ€ āǰāĢ€āǤā̇ āĒĩāĒžāĒĒāǰāĒĩā́āĒ‚? ādžāĒĻā̇āĒļāĢ‹ āĒŽā̇āǍā́." + + #Help +H_B_1 : "āĒāĒĄāĒŽāĒŋāǍ āĒ•āĒŽāĒžāǍāĢāĒĄāĢāǏ" +H_B_2 : "āĒĒāĢāǞā̇ āĒ•āĒŽāĒžāǍāĢāĒĄāĢāǏ" +H_B_3 : "āĒŦāĢ‹āǟ ādžāĒĻā̇āĒļāĢ‹" +H_B_4 : "āĒ…āǤāĒŋāǰāĒŋāĒ•āĢāǤ ādžāĒĻā̇āĒļāĢ‹" +H_B_5 : "āĒŽā̇āǍā́ āĒŦāĒ‚āǧ āĒ•āǰāĢ‹" +H_B_6 : "āǏā́āĒĄāĢ‹ āǝā́āĒāǰ āĒ•āĒŽāĒžāǍāĢāĒĄāĢāǏ" + + #PlayMode +PM_B_1 : "āĒĄāĒžāǝāǰā̇āĒ•āĢāǟ āĒĒāĢāǞā̇" +PM_B_2 : "āLJāǍāǞāĒžāLJāǍāĒŽāĒžāǰāĢāĒ•āĒ…āĒĒ" +PM_B_3 : "āǚā̇āǍāǞāĒĒāĢāǞā̇" + + #Play +P_B_1 : "đŸŽĩ āĒ‘āĒĄāĒŋāǝāĢ‹ āǚāǞāĒžāĒĩāĢ‹" +P_B_2 : "đŸŽĨ āĒĩāĒŋāĒĄāĒŋāĒ“ āǚāǞāĒžāĒĩāĢ‹" +P_B_3 : "🏮 āǞāĒžāLJāĒĩ āǏāĢāǟāĢāǰāĢ€āĒŽ āĒļāǰāĢ‚ āĒ•āǰāĢ‹" +P_B_4 : "đŸŽĩ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǚāǞāĒžāĒĩāĢ‹" + + #Playlist +PL_B_1 : "🚀 āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āǚāǞāĒžāĒĩāĢ‹" +PL_B_2 : "✚ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟāĢāǏ" +PL_B_3 : "✚ āĒĩāǧāĒžāǰāĒžāǍāĒž" +PL_B_4 : "📡 āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ" +PL_B_5 : "🔄 āĒĄā̇āǞ ādžāĒ–āĢ€ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ" +PL_B_6 : "â†—ī¸ āĒĒāĢāǞā̇āǞāĒŋāǏāĢāǟ āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĢ‹" +PL_B_7 : "â—ī¸ āĒšāĒž, āĒŽāǍā̇ āĒ–āĒžāǤāǰāĢ€ āĒ›ā̇. āĒ•āĒžāĒĸāĢ€ āǍāĒžāĒ–āĢ‹" +PL_B_8 : "đŸ”ĸ āǟāĢ‹āĒĒ 10 āǰāĒŽāĢ‹" +PL_B_9 : "🤖 āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• āǟāĢ‹āĒĒ 10 āǟāĢāǰāĢ…āĒ•āĢāǏ āǰāĒŽāĢ‹" +PL_B_10 : "🏘 āĒĒāĢāǞā̇ āĒ—āĢāǰā́āĒĒāǍāĒž āǟāĢ‹āĒĒ 10 āǟāĢāǰā̇āĒ•" +PL_B_11 : "👤 āĒĩāĢāǝāĒ•āĢāǤāĒŋāĒ—āǤ āǟāĢ‹āĒĒ 10 āǟāĢāǰāĢ…āĒ•āĢāǏ āǰāĒŽāĢ‹" + + #Settings +ST_B_1 : "🔊 āĒ“āĒĄ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒž" +ST_B_2 : "đŸŽĨ āĒĩāĒŋāĒĄāĒŋāĒ“ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒž" +ST_B_3 : "🎩 āĒ“āĒĨ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“" +ST_B_4 : "📱 āĒĄā̇āĒļāĒŦāĢ‹āǰāĢāĒĄ" +ST_B_5 : "â–ļī¸ āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ" +ST_B_6 : "đŸŗī¸â€đŸŒˆ āĒ­āĒžāǎāĒž" +ST_B_7 : "🔄 āĒ•āĢāǞāĢ€āǍ āĒŽāĢ‹āĒĄ" +ST_B_8 : "{0} āĒ“āĒ›āĢ€ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ‹ āĒ‘āĒĄāĒŋāǝāĢ‹" +ST_B_9 : "{0} āĒŽāǧāĢāǝāĒŽ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ‹ āĒ“āĒĄāĒŋāǝāĢ‹" +ST_B_10 : "{0} āljāǚāĢāǚ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ‹ āĒ“āĒĄāĒŋāǝāĢ‹" +ST_B_11 : "{0} āĒ“āĒ›āĢ€ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ‹ āĒĩāĒŋāĒĄāĒŋāǝāĢ‹" +ST_B_12 : "{0} āĒŽāǧāĢāǝāĒŽ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ€ āĒĩāĒŋāĒĄāĒŋāĒ“" +ST_B_13 : "{0} āljāǚāĢāǚ āĒ—ā́āĒŖāĒĩāǤāĢāǤāĒžāǍāĢ€ āĒĩāĒŋāĒĄāĒŋāĒ“" +ST_B_14 : "✅ āǏāĒ•āĢāǎāĒŽ" +ST_B_15 : "❌ āĒ…āĒ•āĢāǎāĒŽ" +ST_B_16 : "👤 āĒāĒĄāĒŽāĒŋāǍāĢāǏ" +ST_B_17 : "đŸ‘Ĩ āĒĻāǰā̇āĒ• āĒĩāĢāǝāĒ•āĢāǤāĒŋ" +ST_B_18 : "📋 āĒ…āǧāĒŋāĒ•ā̃āǤ āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“āǍāĢ€ āǏāĢ‚āǚāĒŋ" +ST_B_19 : "🔎 āĒļāĢ‹āǧ āĒŽāĢ‹āĒĄ" +ST_B_20 : "✅ āĒĄāĒžāǝāǰā̇āĒ•āĢāǟ" +ST_B_21 : "✅ āLJāǍāǞāĒžāLJāǍ" +ST_B_22 : "⏯ āĒĒāĢāǞā̇ āĒŽāĢ‹āĒĄ" +ST_B_23 : "🏘 āǜāĢ‚āĒĨ" +ST_B_24 : "🏷 āǚā̇āǍāǞ" +ST_B_25 : "đŸĢ‚ āǰāĒŽāĒĩāĒžāǍāĢ‹ āĒĒāĢāǰāĒ•āĒžāǰ" +ST_B_26 : "🗑 ādžāĒĻā̇āĒļ āǏāĒžāĒĢ" + + #Song +SG_B_1 : "â†—ī¸ āĒ–āĒžāǍāĒ—āĢ€ āǚā̇āǟ āĒ–āĢ‹āǞāĢ‹" +SG_B_2 : "🔊 āĒ“āĒĄāĒŋāǝāĢ‹" +SG_B_3 : "đŸŽĨ āĒĩāĒŋāĒĄāĒŋāĒ“" + + #Stats +SA_B_1 : "đŸ“ĸ āǟāĢ‹āĒĒ 10 āǚā̇āǟ" +SA_B_2 : "đŸ”ĸ āǟāĢ‹āǚāǍāĒž 10 āǟāĢāǰā̇āĒ•" +SA_B_3 : "🧛 āǟāĢ‹āǚāǍāĒž 10 āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāĒ“" +SA_B_4 : "🏷 āǟāĢ‹āǚāǍāĒž 10 āĒ…āĒšāĢ€āĒ‚" +SA_B_5 : "💡 āĒāĒ•āĒ‚āĒĻāǰ ādžāĒ‚āĒ•āĒĄāĒž" +SA_B_6 : "👤 āĒĩāĒĒāǰāĒžāĒļāĒ•āǰāĢāǤāĒžāǍāĒž ādžāĒ‚āĒ•āĒĄāĒž" +SA_B_7 : "đŸ”ĸ āĒĩā̈āĒļāĢāĒĩāĒŋāĒ• āǟāĢ‹āǚāǍāĒž 10 ādžāĒ‚āĒ•āĒĄāĒž" +SA_B_8 : "🤖 āĒŦāĢ‹āǟ ādžāĒ‚āĒ•āĒĄāĒž" \ No newline at end of file diff --git a/strings/langs/hi.yml b/strings/langs/hi.yml new file mode 100644 index 0000000000000000000000000000000000000000..ad0410c0e8501064b86e9a5d0f3436951458ae2a --- /dev/null +++ b/strings/langs/hi.yml @@ -0,0 +1,428 @@ +name : đŸ‡ŽđŸ‡ŗ Hindi + +# General Strings +general_1 : "⤕ā¤ŋ⤏āĨ€ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‡ ⤏⤂ā¤ĻāĨ‡ā¤ļ ā¤•ā¤ž ⤉⤤āĨā¤¤ā¤° ā¤ĻāĨ‡ā¤‚ ā¤¯ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤žā¤Ž/⤝āĨ‚ā¤œā¤ŧ⤰_ā¤†ā¤ˆā¤ĄāĨ€ ā¤ĻāĨ‡ā¤‚āĨ¤" +general_2 : "⤗⤞⤤! ā¤•ā¤Žā¤žā¤‚ā¤Ą ā¤•ā¤ž ⤗⤞⤤ ⤉ā¤Ē⤝āĨ‹ā¤—āĨ¤" +general_3 : "⤆ā¤Ēā¤•ā¤ž ā¤—ā¤žā¤¨ā¤ž ā¤ĄāĨ‚ā¤‚ā¤Ąā¤¨āĨ‡ ā¤ŽāĨˆā¤‚ ⤕⤠ā¤ŋā¤¨ā¤žā¤ˆ ā¤šāĨ‹ ā¤°ā¤šāĨ€ ā¤šāĨˆ \n ⤕⤠ā¤ŋā¤¨ā¤žā¤ˆ:- {0}" +general_4 : "ā¤—ā¤žā¤¨ā¤ž ⤏āĨā¤¨ā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ā¤Ąā¤Žā¤ŋ⤍ ā¤°ā¤žā¤‡ā¤ŸāĨā¤¸ ⤏āĨ‡ send anonymously ā¤Ēā¤°ā¤Žā¤ŋā¤ļ⤍ ā¤šā¤Ÿā¤žā¤āĨ¤" +general_5 : "⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ā¤Ē⤰āĨā¤¯ā¤žā¤ĒāĨā¤¤ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ! ⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ā¤ŽāĨˆā¤¨āĨ‡ā¤œ ā¤ĩā¤žā¤‡ā¤¸ ⤚āĨˆā¤ŸāĨā¤¸ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤šāĨ‹ā¤¨ā¤ž ⤅⤍ā¤ŋā¤ĩā¤žā¤°āĨā¤¯ ā¤šāĨˆāĨ¤" +general_6 : "ā¤ŦāĨ‰ā¤Ÿ ā¤ĩāĨ‰ā¤¯ā¤¸ ⤚āĨˆā¤Ÿ ā¤Ē⤰ ā¤—ā¤žā¤¨ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šā¤˛ā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆāĨ¤" + +# Classes - Telegram.py +tg_1 : "ā¤ŦāĨ‰ā¤Ÿ ⤅⤭āĨ€ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ **⤓ā¤ĩ⤰⤞āĨ‹ā¤ĄāĨ‡ā¤Ą** ā¤šāĨˆāĨ¤\n\n**⤇⤏⤕āĨ‡ ā¤Ŧā¤žā¤Ļ ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚:** {0} (__⤛āĨ‹ā¤Ąā¤ŧ⤕⤰ ā¤¸ā¤Žā¤¯__)" +tg_2 : "⤟āĨ‡ā¤˛āĨ€ā¤—āĨā¤°ā¤žā¤Ž ⤏āĨ‡ ā¤ŽāĨ€ā¤Ąā¤ŋā¤¯ā¤ž ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞āĨ¤" + +# Core - Call.py +call_1 : "⤆ā¤Ē⤕āĨ‡ ⤚āĨˆā¤¨ā¤˛ ā¤Ē⤰ ā¤¸ā¤šā¤žā¤¯ā¤• ā¤–ā¤žā¤¤āĨ‡ ⤕āĨ‹ ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‹ **ā¤ā¤Ąā¤Žā¤ŋ⤍** ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤\n\n⤚āĨˆā¤¨ā¤˛ ā¤ĒāĨā¤˛āĨ‡ā¤ŽāĨ‹ā¤Ą ⤕āĨ‹ ⤇⤏⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚: /ā¤ĒāĨā¤˛āĨ‡ā¤ŽāĨ‹ā¤Ą" +call_2 : "⤆ā¤Ē⤕āĨ‡ ā¤¸ā¤ŽāĨ‚ā¤š ā¤¯ā¤ž ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šā¤žā¤¯ā¤• ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧ⤂⤧ā¤ŋ⤤ ā¤šāĨˆ, ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧ⤂⤧ ā¤šā¤Ÿā¤ž ā¤ĻāĨ‡ā¤‚āĨ¤\n\n**ā¤¸ā¤šā¤žā¤¯ā¤• ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤žā¤Ž:** @{0}\n**ā¤¸ā¤šā¤žā¤¯ā¤• ā¤†ā¤ˆā¤ĄāĨ€:** {1}" +call_3 : "⤆ā¤Ē⤕āĨ€ ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šā¤žā¤¯ā¤• ā¤–ā¤žā¤¤āĨ‡ ⤕āĨ‹ ⤍āĨā¤¯āĨ‹ā¤¤ā¤ž ā¤ĻāĨ‡ā¤¤āĨ‡ ā¤¸ā¤Žā¤¯ ⤅ā¤Ēā¤ĩā¤žā¤Ļ ā¤šāĨā¤†āĨ¤\n\n**ā¤•ā¤žā¤°ā¤Ŗ**:{0}" +call_4 : "ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‹ **⤞ā¤ŋ⤂⤕ ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‹ ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚** ⤆ā¤Ē⤕āĨ‡ ⤚āĨˆā¤Ÿ ā¤¸ā¤ŽāĨ‚ā¤š ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šā¤žā¤¯ā¤• ā¤–ā¤žā¤¤āĨ‡ ⤕āĨ‹ ā¤†ā¤Žā¤‚ā¤¤āĨā¤°ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤" +call_5 : "ā¤¸ā¤šā¤žā¤¯ā¤• 5 ⤏āĨ‡ā¤•ā¤‚ā¤Ą ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ē⤕āĨ‡ ⤗āĨā¤°āĨā¤Ē ā¤ŽāĨˆā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ā¤šāĨ‹ ā¤œā¤žā¤ā¤—ā¤ž..⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚!" +call_6 : "ā¤¸ā¤šā¤žā¤¯ā¤• ā¤–ā¤žā¤¤ā¤ž[{0}] ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤ļā¤žā¤Žā¤ŋ⤞ ā¤šāĨ‹ ā¤—ā¤.\n\n⤅⤭āĨ€ ⤏⤂⤗āĨ€ā¤¤ ā¤ĒāĨā¤°ā¤žā¤°ā¤‚⤭ ⤕⤰ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚" +call_7 : "**ā¤šā¤žā¤¨ā¤ŋā¤•ā¤žā¤°ā¤• ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤅⤧ā¤ŋā¤•ā¤žā¤° ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž **\n\n⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ŦāĨ‰ā¤Ÿ ⤏āĨ‡ **⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‹ ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧ⤂⤧ā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚** ⤅⤧ā¤ŋā¤•ā¤žā¤° ā¤šā¤Ÿā¤ž ā¤ĻāĨ‡ā¤‚āĨ¤" +call_8 : "**ā¤šā¤žā¤¨ā¤ŋā¤•ā¤žā¤°ā¤• ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤅⤧ā¤ŋā¤•ā¤žā¤° ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž **\n\n⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ŦāĨ‰ā¤Ÿ ⤏āĨ‡ **ā¤¨ā¤ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚** ⤅⤧ā¤ŋā¤•ā¤žā¤° ā¤šā¤Ÿā¤ž ā¤ĻāĨ‡ā¤‚āĨ¤" +call_9 : "**⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤏āĨā¤ĩā¤ŋ⤚ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞**\n⤕āĨƒā¤Ēā¤¯ā¤ž ⤟āĨā¤°āĨˆā¤• ⤕āĨ‹ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤Ŧā¤Ļ⤞⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚ / ⤛āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚āĨ¤" +call_10 : "ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤏āĨ‡ ā¤…ā¤—ā¤˛ā¤ž ⤟āĨā¤°āĨˆā¤• ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤•ā¤°ā¤¨ā¤ž" +call_11 : "⤕āĨƒā¤Ēā¤¯ā¤ž ⤅ā¤Ē⤍āĨ‡ ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ @{0} ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚[ ā¤†ā¤ˆā¤ĄāĨ€: {1}].\n\nBot ⤚āĨˆā¤¨ā¤˛ ā¤ĩā¤ŋā¤ĩ⤰⤪ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ⤏⤕āĨā¤ˇā¤Ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" + +# PLUGINS - Auth.py +auth_1 : "⤆ā¤Ē⤕āĨ‡ ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ€ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€ (AUL) ā¤ŽāĨ‡ā¤‚ ⤕āĨ‡ā¤ĩ⤞ 20 ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤šāĨ‹ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚|" +auth_2 : "⤑ā¤Ĩā¤°ā¤žā¤‡ā¤œāĨā¤Ą ⤝āĨ‚ā¤œā¤° ā¤ŽāĨˆā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰ ⤞ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤" +auth_3 : "ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤šāĨˆāĨ¤" +auth_4 : "⤇⤏ ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ€ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€ ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤žāĨ¤" +auth_5 : "⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +auth_6 : "⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‹ ā¤˛ā¤žā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ... ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚" +auth_7 : "**⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€[AUL]:**\n\n" +auth_8 : "┗ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž: -" + +# PLUGINS - Admins +admin_1 : "⤏⤂⤗āĨ€ā¤¤ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ⤰āĨā¤•ā¤ž ā¤šāĨā¤† ā¤šāĨˆāĨ¤" +admin_2 : "ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤰āĨ‹ā¤•ā¤ž ā¤—ā¤¯ā¤ž!" +admin_3 : "⤏⤂⤗āĨ€ā¤¤ ā¤Ēā¤šā¤˛āĨ‡ ā¤šāĨ€ ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤ļāĨā¤°āĨ‚ ā¤šāĨ‹ ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤" +admin_4 : "ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤ļāĨā¤°āĨ‚ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž!" +admin_5 : "⤏⤂⤗āĨ€ā¤¤ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ⤰āĨā¤•ā¤ž ā¤šāĨā¤† ā¤šāĨˆāĨ¤" +admin_6 : "ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤Ŧ⤂ā¤Ļ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž!" +admin_7 : "⤏⤂⤗āĨ€ā¤¤ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤…ā¤¨ā¤ŽāĨā¤¯āĨ‚ā¤Ÿ ā¤šāĨˆ|" +admin_8 : "ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤…ā¤¨ā¤ŽāĨā¤¯āĨ‚ā¤Ÿ!" +admin_9 : " ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤¸ā¤Žā¤žā¤ĒāĨā¤¤/ā¤Ŧ⤂ā¤Ļ!" +admin_10 : "🎧 ā¤ĩāĨ‰ā¤¯ā¤¸ā¤šāĨˆā¤Ÿ {} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤛āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž!. ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚ ⤕āĨ‹ā¤ˆ ⤔⤰ ⤏⤂⤗āĨ€ā¤¤ ā¤¨ā¤šāĨ€ā¤‚āĨ¤" +admin_11 : "⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤕āĨ‹ **{0}**\n\n ā¤ŽāĨ‡ā¤‚ ā¤Ŧā¤Ļ⤞⤍āĨ‡ ⤕āĨ‡ ā¤ĻāĨŒā¤°ā¤žā¤¨ ⤤āĨā¤°āĨā¤Ÿā¤ŋ ā¤šāĨā¤ˆ, ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚ / ⤛āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚āĨ¤" +admin_12 : "⤏⤕āĨā¤ˇā¤Ž ⤞āĨ‚ā¤Ē ā¤ĒāĨā¤˛āĨ‡ ⤕āĨ‡ ā¤•ā¤žā¤°ā¤Ŗ ⤕ā¤ŋ⤏āĨ€ ā¤ĩā¤ŋā¤ļā¤ŋ⤎āĨā¤Ÿ ⤟āĨā¤°āĨˆā¤• ā¤Ē⤰ ā¤œā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤ĨāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ⤇⤏ ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ '/ ⤞āĨ‚ā¤Ē ⤅⤕āĨā¤ˇā¤Ž' ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤞āĨ‚ā¤Ē ā¤ĒāĨā¤˛āĨ‡ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚āĨ¤" +admin_13 : "⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĩā¤ŋā¤ļā¤ŋ⤎āĨā¤Ÿ ⤟āĨā¤°āĨˆā¤• ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏⤂⤖āĨā¤¯ā¤žā¤¤āĨā¤Žā¤• ⤏⤂⤖āĨā¤¯ā¤žā¤“⤂ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚, ⤜āĨˆā¤¸āĨ‡ 1, 2 ā¤¯ā¤ž 4 ⤆ā¤Ļā¤ŋ" +admin_14 : "ā¤ā¤• ā¤ĩā¤ŋā¤ļā¤ŋ⤎āĨā¤Ÿ ⤏⤂⤖āĨā¤¯ā¤ž ā¤Ē⤰ ā¤œā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚ ā¤•ā¤Ž ⤏āĨ‡ ā¤•ā¤Ž 2 ⤟āĨā¤°āĨˆā¤• ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ā¤•ā¤¤ā¤žā¤° ⤕āĨ€ ā¤œā¤žā¤ā¤š / ā¤•ā¤¤ā¤žā¤° ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤕⤰āĨ‡ā¤‚" +admin_15 : "⤆ā¤Ē⤕āĨ‡ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤Ļā¤ŋā¤ ā¤—ā¤ ā¤Žā¤žā¤¨ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚ ā¤Ē⤰āĨā¤¯ā¤žā¤ĒāĨā¤¤ ⤟āĨā¤°āĨˆā¤• ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆā¤‚āĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž 1 ⤔⤰ {0} ⤕āĨ‡ ā¤ŦāĨ€ā¤š ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤žā¤ā¤‚ ⤚āĨā¤¨āĨ‡ā¤‚" +admin_16 : "ā¤ĩā¤ŋā¤ļā¤ŋ⤎āĨā¤Ÿ ⤟āĨā¤°āĨˆā¤• ā¤Ē⤰ ā¤œā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞.\n\nā¤Ŧā¤žā¤ˆā¤‚ ā¤•ā¤¤ā¤žā¤° ⤕āĨ‹ /queue . ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤œā¤žā¤‚ā¤šāĨ‡ā¤‚" +admin_17 : "{0}.. ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚" +admin_18 : "ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤏āĨ‚ā¤šāĨ€ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€\n\n⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤏āĨ‚ā¤šāĨ€ ⤕āĨ‹ /admincache ā¤¯ā¤ž /reload ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ā¤ĒāĨā¤¨ā¤ƒ ⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚" +admin_19 : "⤇⤏āĨ‡ ⤍ā¤ŋ⤎āĨā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤆ā¤Ē⤕āĨ‹ ā¤ĩāĨ‰ā¤¯ā¤¸ ⤚āĨˆā¤Ÿ ⤅⤧ā¤ŋā¤•ā¤žā¤°āĨ‹ā¤‚ ⤕āĨ‡ ā¤ĒāĨā¤°ā¤Ŧ⤂⤧⤍ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ā¤šāĨ‹ā¤¨āĨ‡ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤\n⤝ā¤Ļā¤ŋ ⤆ā¤Ē ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ā¤šāĨˆā¤‚, ⤤āĨ‹ /admincache ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ admincache ā¤ĒāĨā¤¨ā¤ƒ ⤞āĨ‹ā¤Ą ⤕⤰āĨ‡ā¤‚" +admin_20 : "ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤕āĨˆā¤ļ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤ĒāĨā¤¨ā¤ƒ ⤞āĨ‹ā¤Ą ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤žāĨ¤" +admin_21 : "ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚ ā¤ĢāĨ‡ā¤°ā¤Ŧā¤Ļ⤞ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨā¤› ⤭āĨ€ ā¤¨ā¤šāĨ€ā¤‚" +admin_22 : "ā¤ļā¤Ģā¤ŧ⤞ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞.\n\nā¤•ā¤¤ā¤žā¤° ā¤œā¤žā¤‚ā¤šāĨ‡ā¤‚ : /queue" +admin_23 : "**ā¤•ā¤¤ā¤žā¤° ā¤ļā¤Ģā¤ŧ⤞ ⤕āĨ€ ā¤—ā¤ˆ {0}**\n\nā¤ļā¤Ģā¤ŧ⤞ ⤕āĨ€ ā¤—ā¤ˆ ā¤•ā¤¤ā¤žā¤° ā¤œā¤žā¤‚ā¤šāĨ‡ā¤‚ : /queue" +admin_24 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/⤞āĨ‚ā¤Ē [⤏⤕āĨā¤ˇā¤Ž/⤅⤕āĨā¤ˇā¤Ž] ā¤¯ā¤ž [1-10 ⤕āĨ‡ ā¤ŦāĨ€ā¤š ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤ž]\n\n**⤉ā¤Ļā¤žā¤šā¤°ā¤Ŗ:** /⤞āĨ‚ā¤Ē 5" +admin_25 : "⤞āĨ‚ā¤Ē ⤕āĨ‹ {0} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž **{1}** ā¤Ŧā¤žā¤° ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏⤕āĨā¤ˇā¤Ž ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤ ā¤ŦāĨ‰ā¤Ÿ ⤅ā¤Ŧ ā¤ĩāĨ‰ā¤¯ā¤¸ ⤚āĨˆā¤Ÿ ā¤Ē⤰ ⤚⤞ ā¤°ā¤šāĨ‡ ā¤ĩ⤰āĨā¤¤ā¤Žā¤žā¤¨ ⤏⤂⤗āĨ€ā¤¤ ⤕āĨ‹ **{1}** ā¤Ŧā¤žā¤° . ā¤ĻāĨ‹ā¤šā¤°ā¤žā¤ā¤—ā¤ž" +admin_26 : "⤕āĨƒā¤Ēā¤¯ā¤ž ⤞āĨ‚ā¤Ē ā¤ĒāĨā¤˛āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ 1-10 ⤕āĨ‡ ā¤ŦāĨ€ā¤š ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤žā¤“⤂ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚" +admin_27 : "⤞āĨ‚ā¤Ē ā¤ĒāĨā¤˛āĨ‡ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" + +# Bot +# Start +start_1 : "ā¤ŽāĨā¤āĨ‡ {0} ā¤ŽāĨ‡ā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤧⤍āĨā¤¯ā¤ĩā¤žā¤ĻāĨ¤\n{1} ⤚⤞ ā¤°ā¤šā¤ž ā¤šāĨˆāĨ¤\n\n⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ā¤¸ā¤šā¤žā¤¯ā¤¤ā¤ž ⤕āĨ‡ ⤞ā¤ŋā¤, ā¤šā¤Žā¤žā¤°āĨ‡ ā¤¸ā¤šā¤žā¤¯ā¤¤ā¤ž ā¤¸ā¤ŽāĨ‚ā¤š ā¤¯ā¤ž ⤚āĨˆā¤¨ā¤˛ ⤕āĨ‹ ⤜āĨ‰ā¤‡ā¤¨ ⤕⤰āĨ‡ā¤‚āĨ¤" +start_2 : "ā¤¨ā¤Žā¤¸āĨā¤•ā¤žā¤°, ā¤ŽāĨ‡ā¤°ā¤ž ā¤¨ā¤žā¤Ž {0} ā¤šāĨˆāĨ¤\n\nā¤ŽāĨˆā¤‚ ⤕āĨā¤› ⤉ā¤Ē⤝āĨ‹ā¤—āĨ€ ⤏āĨā¤ĩā¤ŋā¤§ā¤žā¤“ā¤‚ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤ā¤• ⤟āĨ‡ā¤˛āĨ€ā¤—āĨā¤°ā¤žā¤Ž ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Žā¤ŋ⤂⤗ ā¤ŦāĨ‰ā¤Ÿ ā¤šāĨ‚⤂āĨ¤ Youtube, Spotify, Resso, AppleMusic , Soundcloud ⤆ā¤Ļā¤ŋ ⤜āĨˆā¤¸āĨ‡ ā¤¸ā¤šā¤žā¤¯ā¤• ā¤ĒāĨā¤˛āĨ‡ā¤Ÿā¤ĢāĨ‰ā¤°āĨā¤ŽāĨ¤\n\nā¤ŽāĨā¤āĨ‡ ⤅ā¤Ē⤍āĨ‡ ā¤¸ā¤ŽāĨ‚ā¤šāĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏āĨā¤ĩ⤤⤂⤤āĨā¤° ā¤Žā¤šā¤¸āĨ‚⤏ ⤕⤰āĨ‡ā¤‚āĨ¤" +start_3 : "⤆ā¤Ēā¤•ā¤ž ⤏āĨā¤ĩā¤žā¤—ā¤¤ ā¤šāĨˆ {0}\n\n ā¤ŽāĨā¤āĨ‡ ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ā¤ā¤Ąā¤Žā¤ŋ⤍ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ⤕āĨ€ ⤜⤰āĨ‚⤰⤤ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤ (⤜ā¤Ŧ ⤤⤕ ā¤Žā¤žā¤‚ā¤—ā¤ž ā¤¨ā¤ž ā¤œā¤žā¤)āĨ¤\n\nā¤¸ā¤šā¤žā¤¯ā¤• ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤•ā¤ž ā¤¨ā¤žā¤Ž:- @{1}\nā¤¸ā¤šā¤žā¤¯ā¤• ā¤†ā¤ˆā¤ĄāĨ€:- {2}" +start_4 : "{0} ā¤•ā¤ž ā¤Žā¤žā¤˛ā¤ŋ⤕[{1}] ⤅⤭āĨ€-⤅⤭āĨ€ ⤆ā¤Ē⤕āĨ€ ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ā¤šāĨā¤† ā¤šāĨˆāĨ¤" +start_5 : "{0} ⤕āĨ‡ ā¤–ā¤žā¤¸ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž[{1}] ā¤•ā¤ž ā¤ā¤• ⤏ā¤Ļ⤏āĨā¤¯ ⤅⤭āĨ€-⤅⤭āĨ€ ⤆ā¤Ē⤕āĨ‡ ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤ļā¤žā¤Žā¤ŋ⤞ ā¤šāĨā¤† ā¤šāĨˆāĨ¤" +start_6 : "â—ī¸ **⤏āĨā¤Ē⤰⤗āĨā¤°āĨā¤Ē ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž** â—ī¸\n\n⤕āĨƒā¤Ēā¤¯ā¤ž ⤅ā¤Ē⤍āĨ‡ **⤗āĨā¤°āĨā¤Ē** ⤕āĨ‹ **⤏āĨā¤Ē⤰⤗āĨā¤°āĨā¤Ē** ā¤ŽāĨ‡ā¤‚ ā¤Ŧā¤Ļ⤞āĨ‡ā¤‚ ⤔⤰ ā¤Ģā¤ŋ⤰ ā¤ŽāĨā¤āĨ‡ ā¤ĩā¤žā¤Ē⤏ ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚āĨ¤\n\n**⤏āĨā¤Ē⤰⤗āĨā¤°āĨā¤Ē ⤕āĨˆā¤¸āĨ‡ ā¤Ŧā¤¨ā¤žā¤ā¤‚?**\n✅ ⤅ā¤Ē⤍āĨ‡ ⤗āĨā¤°āĨā¤Ē ⤕āĨ‹ ā¤Ŧā¤¨ā¤žā¤ā¤‚ ⤚āĨˆā¤Ÿ ⤇⤤ā¤ŋā¤šā¤žā¤¸ **ā¤ĻāĨƒā¤ļāĨā¤¯ā¤Žā¤žā¤¨** ā¤ā¤• ā¤Ŧā¤žā¤°āĨ¤" +start_7 : "**Blacklisted Chat**\n\nYou're chat has been blacklisted by the Bot. Please ask any SudoUser to whitelist chat first. Check [Sudolist from here]({0})" + + +# Help +help_1 : "⤅⤧ā¤ŋ⤕ ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤍āĨ€ā¤šāĨ‡ ā¤Ļā¤ŋā¤ ā¤—ā¤ ā¤Ŧ⤟⤍āĨ‹ā¤‚ ā¤Ē⤰ ⤕āĨā¤˛ā¤ŋ⤕ ⤕⤰āĨ‡ā¤‚āĨ¤\n\n⤏⤭āĨ€ ā¤•ā¤Žā¤žā¤‚ā¤Ą ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆ: /" +help_2 : "ā¤Žā¤Ļā¤Ļ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŽāĨā¤ā¤¸āĨ‡ PM ā¤ŽāĨ‡ā¤‚ ⤏⤂ā¤Ē⤰āĨā¤• ⤕⤰āĨ‡ā¤‚āĨ¤" + +# Settings +setting_1 : "âš™ī¸ **⤏⤂⤗āĨ€ā¤¤ ā¤ŦāĨ‰ā¤Ÿ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗**\n\n🖇**ā¤¸ā¤ŽāĨ‚ā¤š:** {0}\n🔖**ā¤¸ā¤ŽāĨ‚ā¤š ā¤†ā¤ˆā¤ĄāĨ€:** `{1}`\n\n💡**⤍āĨ€ā¤šāĨ‡ ⤏āĨ‡ ā¤Ģā¤ŧ⤂⤕āĨā¤ļ⤍ ā¤Ŧ⤟⤍ ⤚āĨā¤¨āĨ‡ā¤‚ ⤜ā¤ŋ⤏āĨ‡ ⤆ā¤Ē ⤏⤂ā¤Ēā¤žā¤Ļā¤ŋ⤤ ā¤¯ā¤ž ā¤Ŧā¤Ļā¤˛ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚āĨ¤**" +setting_3 : "ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\n1) ā¤ĒāĨā¤°ā¤¤āĨā¤¯ā¤•āĨā¤ˇ: ⤏āĨ€ā¤§āĨ‡ ⤖āĨ‹ā¤œ ⤕āĨā¤ĩāĨ‡ā¤°āĨ€ ā¤šā¤˛ā¤žā¤¤ā¤ž ā¤šāĨˆāĨ¤ ⤏āĨ€ā¤§āĨ‡ ā¤ŽāĨ‹ā¤Ą ā¤ŽāĨ‡ā¤‚ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ -v ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚āĨ¤\n\n2) ā¤‡ā¤¨ā¤˛ā¤žā¤‡ā¤¨: ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤔⤰ ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ā¤ŦāĨ€ā¤š ⤚⤝⤍ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤‡ā¤¨ā¤˛ā¤žā¤‡ā¤¨ ā¤Žā¤žā¤°āĨā¤•⤅ā¤Ē ā¤Ŧ⤟⤍ ā¤ĻāĨ‡ā¤¤ā¤ž ā¤šāĨˆāĨ¤" +setting_4 : "â‰ī¸ ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\nđŸ‘Ĩ ā¤šā¤° ⤕āĨ‹ā¤ˆ: ⤕āĨ‹ā¤ˆ ⤭āĨ€ ⤇⤏ ā¤¸ā¤ŽāĨ‚ā¤š ā¤ŽāĨ‡ā¤‚ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤆ā¤ĻāĨ‡ā¤ļāĨ‹ā¤‚ (⤛āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚, ⤰āĨ‹ā¤•āĨ‡ā¤‚, ā¤Ģā¤ŋ⤰ ⤏āĨ‡ ā¤ļāĨā¤°āĨ‚ ⤕⤰āĨ‡ā¤‚ ⤆ā¤Ļā¤ŋ) ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤\n\n🙍 ⤕āĨ‡ā¤ĩ⤞ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕: ⤕āĨ‡ā¤ĩ⤞ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤔⤰ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤šāĨ€ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤆ā¤ĻāĨ‡ā¤ļāĨ‹ā¤‚ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤" +setting_5 : "⤕āĨ‹ā¤ˆ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž\n\n⤆ā¤Ē ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ⤗āĨˆā¤°-ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤕āĨ‹ /auth ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ā¤ŽāĨ‡ā¤°āĨ‡ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤆ā¤ĻāĨ‡ā¤ļāĨ‹ā¤‚ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚ ⤔⤰ /unauth ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤕āĨ‡ ā¤šā¤Ÿā¤ž ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚" +setting_9 : "â‰ī¸ ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\n⤏⤕āĨā¤°ā¤ŋ⤝ ā¤šāĨ‹ā¤¨āĨ‡ ā¤Ē⤰, ā¤ŦāĨ‰ā¤Ÿ ⤆ā¤Ē⤕āĨ€ ⤚āĨˆā¤Ÿ ⤕āĨ‹ ā¤¸ā¤žā¤Ģ ⤔⤰ ⤏āĨā¤Ē⤎āĨā¤Ÿ ā¤Ŧā¤¨ā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ {0} ⤕āĨ‡ ā¤Ŧā¤žā¤Ļ ⤅ā¤Ēā¤¨ā¤ž ⤏⤂ā¤ĻāĨ‡ā¤ļ ā¤šā¤Ÿā¤ž ā¤ĻāĨ‡ā¤—ā¤žāĨ¤" +setting_10 : "â‰ī¸ ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\n1) ā¤¸ā¤ŽāĨ‚ā¤š: ā¤œā¤šā¤žā¤‚ ⤆ā¤ĻāĨ‡ā¤ļ ā¤Ļā¤ŋā¤¯ā¤ž ā¤œā¤žā¤¤ā¤ž ā¤šāĨˆ, ⤉⤏ ā¤¸ā¤ŽāĨ‚ā¤š ā¤ŽāĨ‡ā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤žā¤¤ā¤ž ā¤šāĨˆāĨ¤\n\n2) ⤚āĨˆā¤¨ā¤˛: ⤆ā¤Ē⤕āĨ‡ ā¤‡ā¤šāĨā¤›ā¤ŋ⤤ ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤žā¤¤ā¤ž ā¤šāĨˆāĨ¤ ⤚āĨˆā¤¨ā¤˛ ā¤†ā¤ˆā¤ĄāĨ€ ⤕āĨ‹ / channelplay . ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤏āĨ‡ā¤Ÿ ⤕⤰āĨ‡ā¤‚" +setting_11 : "â‰ī¸ ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\n1) ā¤šā¤° ⤕āĨ‹ā¤ˆ: ⤇⤏ ā¤¸ā¤ŽāĨ‚ā¤š ā¤ŽāĨ‡ā¤‚ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ⤕āĨ‹ā¤ˆ ⤭āĨ€ ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ ā¤¯ā¤šā¤žā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤\n\n2) ⤕āĨ‡ā¤ĩ⤞ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕: ⤕āĨ‡ā¤ĩ⤞ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ā¤šāĨ€ ⤇⤏ ā¤¸ā¤ŽāĨ‚ā¤š ā¤ŽāĨ‡ā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤ž ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤" +setting_12 : "⤆ā¤Ē⤍āĨ‡ ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‹ā¤Ą ⤕āĨ‡ ⤞ā¤ŋā¤ ⤕āĨ‹ā¤ˆ ⤚āĨˆā¤¨ā¤˛ ā¤†ā¤ˆā¤ĄāĨ€ ⤍ā¤ŋ⤰āĨā¤§ā¤žā¤°ā¤ŋ⤤ ā¤¨ā¤šāĨ€ā¤‚ ⤕āĨ€ ā¤šāĨˆāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž / channelplay ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Ē⤰ā¤ŋā¤­ā¤žā¤ˇā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚āĨ¤" +setting_13 : "⤏⤕āĨā¤°ā¤ŋ⤝ ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ‰ā¤˛ ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą ā¤¨ā¤šāĨ€ā¤‚ ā¤Ŧā¤Ļā¤˛ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤žāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĩāĨ‰ā¤¯ā¤¸ ⤚āĨˆā¤Ÿ ⤕āĨ‹ ā¤Ēā¤šā¤˛āĨ‡ / ⤏āĨā¤ŸāĨ‰ā¤Ē ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚āĨ¤" +setting_14 : "â‰ī¸ ā¤¯ā¤š ⤕āĨā¤¯ā¤ž ā¤šāĨˆ?\n\n⤏⤕āĨā¤°ā¤ŋ⤝ ā¤šāĨ‹ā¤¨āĨ‡ ā¤Ē⤰, ā¤ŦāĨ‰ā¤Ÿ ⤅ā¤Ē⤍āĨ‡ ⤍ā¤ŋ⤎āĨā¤Ēā¤žā¤Ļā¤ŋ⤤ ⤆ā¤ĻāĨ‡ā¤ļāĨ‹ā¤‚ (/play,/pause,/shuffle,/stop ⤆ā¤Ļā¤ŋ) ⤕āĨ‹ ⤤āĨā¤°ā¤‚⤤ ā¤šā¤Ÿā¤ž ā¤ĻāĨ‡ā¤—ā¤žāĨ¤\n\n⤇⤏⤕āĨ‡ ⤠āĨ€ā¤• ⤏āĨ‡ ā¤•ā¤žā¤Ž ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‹ ⤏⤂ā¤ĻāĨ‡ā¤ļāĨ‹ā¤‚ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ⤕āĨ€ ⤆ā¤ĩā¤ļāĨā¤¯ā¤•ā¤¤ā¤ž ā¤šāĨ‹ā¤—āĨ€āĨ¤" +setting_15 : "ā¤¸ā¤šā¤•ā¤°āĨā¤ŽāĨ€ ⤕āĨ‹ ā¤šā¤˛ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞, ⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ ⤕ā¤ŋ ⤆ā¤Ē⤍āĨ‡ ⤅ā¤Ē⤍āĨ‡ ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ ā¤ŦāĨ‰ā¤Ÿ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤šāĨˆ ⤔⤰ ⤇⤏āĨ‡ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤°ā¤šā¤žā¤°ā¤ŋ⤤ ⤕ā¤ŋā¤¯ā¤ž ā¤šāĨˆāĨ¤\n\nā¤Ģā¤ŋ⤰ ⤏āĨ‡ ⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ /⤚āĨˆā¤¨ā¤˛ā¤ĒāĨā¤˛āĨ‡ ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚.." + +set_cb_1 : "ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤ĒāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..." +set_cb_2 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤ĒāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..." +set_cb_3 : "ā¤ĒāĨā¤°ā¤žā¤Žā¤žā¤Ŗā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤ĒāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..." +set_cb_4 : "ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą ā¤ĒāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..." +set_cb_5 : "⤕āĨā¤˛āĨ€ā¤¨ ā¤ŽāĨ‹ā¤Ą ā¤ĒāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆ..." +set_cb_6 : "ā¤Ē⤰ā¤ŋā¤ĩ⤰āĨā¤¤ā¤¨ ⤕āĨ€ ⤏āĨā¤Ĩā¤žā¤Ēā¤¨ā¤žāĨ¤" +set_cb_7 : "ā¤ĒāĨā¤°ā¤žā¤Žā¤žā¤Ŗā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤•ā¤°ā¤¨ā¤ž .. ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚āĨ¤" +set_cb_8 : "ā¤ĩā¤žā¤Ē⤏ ā¤šāĨ‹ ā¤°ā¤šāĨ€ ā¤šāĨˆ.." + +# Misc +ustats_1 : "No User Stats Found." +ustats_2 : "Grettings!, You have played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by you:\n\n" + +gstats_1 : "Getting Global Stats, This could take some time..." +gstats_2 : "No Stats Found." +gstats_3 : "Getting Global Top 10 {0} on the bot, This could take some time.." +gstats_4 : "**Total Queries on Bot:** {0}\n\n{1} has played **{2}** tracks till now with a whopping count of **{3}** times.\n\n**Top {4} Tracks:**\n" +gstats_5 : "**Top {0} Chats of {1}:**\n\n" +gstats_6 : "**Top {0} Users of {1}:**\n\n" +gstats_7 : "This chat group has played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by this chat group:\n\n" +gstats_8 : "Getting Bot's general stats and information.. This could take some time..." +gstats_9 : "**GLOBAL TOP 10 STATS OF THE BOT**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_10 : "**Global Stats of {0}**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_11 : "**General Stats of {0}**\nSelect the buttons from below for which you want to check global stats from bot's servers.\n\nTo check top tracks, chats, users and other stuffs, please use /gstats" + + +# Play +#Play Callback +playcb_1 : "ā¤¯ā¤š ⤤āĨā¤ŽāĨā¤šā¤žā¤°āĨ‡ ⤞ā¤ŋā¤ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ! ⤖āĨā¤Ļā¤•ā¤ž ā¤—ā¤žā¤¨ā¤ž ā¤ĸāĨ‚⤂ā¤ĸāĨ‹ " +playcb_2 : "ā¤…ā¤—ā¤˛ā¤ž ā¤Ē⤰ā¤ŋā¤Ŗā¤žā¤Ž ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤•ā¤°ā¤ž ā¤œā¤ž ā¤°ā¤šā¤ž ā¤šāĨˆāĨ¤" + +# Channel Play +cplay_1 : "⤆ā¤Ē ⤇⤏ ⤚āĨˆā¤Ÿ ⤏āĨ‡ ⤚āĨˆā¤¨ā¤˛āĨ‹ā¤‚ ā¤ŽāĨ‡ā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤ž ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚[{0}] ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ⤚āĨˆā¤¨ā¤˛ ā¤¯ā¤ž ⤅ā¤Ē⤍āĨ‡ ⤚āĨˆā¤Ÿ ⤕āĨ‡ ⤞ā¤ŋ⤂⤕ ⤕ā¤ŋā¤ ā¤—ā¤ ⤚āĨˆā¤¨ā¤˛ ⤕āĨ‡ ⤞ā¤ŋā¤āĨ¤\n\n**⤞ā¤ŋ⤂⤕ ⤕ā¤ŋā¤ ā¤—ā¤ ⤚āĨˆā¤¨ā¤˛ ⤕āĨ‡ ⤞ā¤ŋā¤:**\n`/{1} linked`\n\n** ⤕ā¤ŋ⤏āĨ€ ⤅⤍āĨā¤¯ ⤚āĨˆā¤¨ā¤˛ ⤕āĨ‡ ⤞ā¤ŋā¤:**\n`/{1} [⤚āĨˆā¤¨ā¤˛ ā¤†ā¤ˆā¤ĄāĨ€]`" +cplay_2 : "⤇⤏ ⤚āĨˆā¤Ÿ ā¤•ā¤ž ⤕āĨ‹ā¤ˆ ⤞ā¤ŋ⤂⤕āĨā¤Ą ⤚āĨˆā¤¨ā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +cplay_3 : "⤚āĨˆā¤¨ā¤˛ ā¤Ē⤰ā¤ŋā¤­ā¤žā¤ˇā¤ŋ⤤ {0}\n\n__⤚āĨˆā¤¨ā¤˛ ā¤†ā¤ˆā¤ĄāĨ€__: {1}" +cplay_4 : "⤚āĨˆā¤¨ā¤˛ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞.\n\n⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ ⤕ā¤ŋ ⤆ā¤Ē⤍āĨ‡ ⤅ā¤Ē⤍āĨ‡ ⤚āĨˆā¤¨ā¤˛ ā¤ŽāĨ‡ā¤‚ ā¤ŦāĨ‰ā¤Ÿ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤šāĨˆ ⤔⤰ ⤇⤏āĨ‡ ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤°ā¤šā¤žā¤°ā¤ŋ⤤ ⤕ā¤ŋā¤¯ā¤ž ā¤šāĨˆāĨ¤\n⤚āĨˆā¤¨ā¤˛ ⤕āĨ‹ /⤚āĨˆā¤¨ā¤˛ā¤ĒāĨā¤˛āĨ‡ ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ā¤Ŧā¤Ļ⤞āĨ‡ā¤‚ ā¤¯ā¤ž ⤚āĨˆā¤¨ā¤˛ ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą ⤕āĨ‹ /ā¤ĒāĨā¤˛āĨ‡ā¤ŽāĨ‹ā¤Ą ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚" +cplay_5 : "⤕āĨ‡ā¤ĩ⤞ ⤚āĨˆā¤¨ā¤˛ ā¤¸ā¤Žā¤°āĨā¤Ĩā¤ŋ⤤ ā¤šāĨˆā¤‚āĨ¤" +cplay_6 : "⤚āĨˆā¤¨ā¤˛ ⤕āĨ‹ ⤇⤏ ā¤¸ā¤ŽāĨ‚ā¤š ⤏āĨ‡ ⤜āĨ‹ā¤Ąā¤ŧ⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤆ā¤Ēā¤•ā¤ž **⤏āĨā¤ĩā¤žā¤ŽāĨ€** ā¤šāĨ‹ā¤¨ā¤ž ⤆ā¤ĩā¤ļāĨā¤¯ā¤• ā¤šāĨˆ[{0}]āĨ¤\n**⤚āĨˆā¤¨ā¤˛ ā¤•ā¤ž ⤏āĨā¤ĩā¤žā¤ŽāĨ€:** @{1}\n\nā¤ĩāĨˆā¤•⤞āĨā¤Ēā¤ŋ⤕ ⤰āĨ‚ā¤Ē ⤏āĨ‡ ⤆ā¤Ē ⤅ā¤Ē⤍āĨ‡ ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ‹ ⤉⤏ ⤚āĨˆā¤¨ā¤˛ ⤏āĨ‡ ⤞ā¤ŋ⤂⤕ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚ ⤔⤰ ā¤Ģā¤ŋ⤰ `/ channelplay ⤞ā¤ŋ⤂⤕āĨā¤Ą` ⤏āĨ‡ ⤕⤍āĨ‡ā¤•āĨā¤Ÿ ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚" + +#Play +play_1 : "ā¤ĒāĨā¤°ā¤¸ā¤‚⤏āĨā¤•⤰⤪ ⤕āĨā¤ĩāĨ‡ā¤°āĨ€... ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚!" +play_2 : "**đŸˇā¤šāĨˆā¤¨ā¤˛ ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą**\n🔄 ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤¨ ⤕āĨā¤ĩāĨ‡ā¤°āĨ€... ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚!\n\n**⤞ā¤ŋ⤂⤕ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ⤚āĨˆā¤¨ā¤˛:** {0}" +play_3 : "⤕āĨā¤ĩāĨ‡ā¤°āĨ€ ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞!" +play_4 : "🖇 **ā¤ā¤Ąā¤Žā¤ŋ⤍ ⤓⤍⤞āĨ€ ā¤ĒāĨā¤˛āĨ‡**\n⤇⤏ ⤗āĨā¤°āĨā¤Ē ā¤ŽāĨ‡ā¤‚ ⤕āĨ‡ā¤ĩ⤞ ā¤ā¤Ąā¤Žā¤ŋ⤍ ⤔⤰ ā¤ĒāĨā¤°ā¤žā¤Žā¤žā¤Ŗā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤šāĨ€ ⤏⤂⤗āĨ€ā¤¤ ā¤šā¤˛ā¤ž ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤" +play_5 : "ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞.\n\nā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤†ā¤•ā¤žā¤° 100 mb ⤏āĨ‡ ā¤•ā¤Ž ā¤šāĨ‹ā¤¨ā¤ž ā¤šā¤žā¤šā¤ŋā¤" +play_6 : "**⤅ā¤ĩ⤧ā¤ŋ ⤏āĨ€ā¤Žā¤ž ā¤Ēā¤žā¤° ā¤šāĨ‹ ā¤—ā¤ˆ**\n\n**⤅⤍āĨā¤Žā¤¤ ⤅ā¤ĩ⤧ā¤ŋ: **{0} ā¤Žā¤ŋ⤍⤟(s)\n**ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤅ā¤ĩ⤧ā¤ŋ:** {1} ā¤Žā¤ŋ⤍⤟ (ā¤Žā¤ŋ⤍⤟)" +play_7 : "ā¤Žā¤žā¤Ģā¤ŧ ā¤•ā¤°ā¤¨ā¤ž! ⤏āĨ€ā¤ĒāĨ€ā¤¯āĨ‚ ⤓ā¤ĩ⤰⤞āĨ‹ā¤Ą ā¤ŽāĨā¤ĻāĨā¤ĻāĨ‹ā¤‚ ⤕āĨ‡ ā¤•ā¤žā¤°ā¤Ŗ ā¤ŦāĨ€ā¤“ā¤ŸāĨ€ ⤕āĨ‡ā¤ĩ⤞ ⤏āĨ€ā¤Žā¤ŋ⤤ ⤏⤂⤖āĨā¤¯ā¤ž ā¤ŽāĨ‡ā¤‚ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‰ā¤˛ ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤ĻāĨ‡ā¤¤ā¤ž ā¤šāĨˆāĨ¤ ā¤•ā¤ˆ ⤅⤍āĨā¤¯ ⤚āĨˆā¤Ÿ ⤅⤭āĨ€ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‰ā¤˛ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ā¤°ā¤šāĨ€ ā¤šāĨˆā¤‚āĨ¤ ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ē⤰ ⤏āĨā¤ĩā¤ŋ⤚ ⤕⤰⤍āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚ ā¤¯ā¤ž ā¤Ŧā¤žā¤Ļ ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤¨: ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚" +play_8 : "ā¤Žā¤žā¤¨āĨā¤¯ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤ā¤•āĨā¤¸ā¤ŸāĨ‡ā¤‚ā¤ļ⤍ ā¤¨ā¤šāĨ€ā¤‚!\n\n**ā¤¸ā¤Žā¤°āĨā¤Ĩā¤ŋ⤤ ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē:** {0}" +play_9 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤•ā¤ž ā¤†ā¤•ā¤žā¤° 1 GiB ⤏āĨ‡ ā¤•ā¤Ž ā¤šāĨ‹ā¤¨ā¤ž ā¤šā¤žā¤šā¤ŋā¤" +play_10 : "**⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ĢāĨ€ā¤šā¤°**\n\nā¤ĩā¤š ā¤ŽāĨ‹ā¤Ą ⤚āĨā¤¨āĨ‡ā¤‚ ⤜ā¤ŋā¤¸ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ē ā¤ĒāĨ‚⤰āĨ€ ⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤˛ā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚" +play_11 : "📎ā¤ļāĨ€ā¤°āĨā¤ˇā¤•: **{0}\n\nâŗā¤…ā¤ĩ⤧ā¤ŋ:** {1} ā¤Žā¤ŋ⤍⤟" +play_12 : "**Spotify ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ**\n\n⤇⤍⤕āĨ‡ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:- {0}" +play_13 : "**Apple ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ**\n\n⤇⤍⤕āĨ‡ ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:- {0}" +play_14 : "**⤝āĨ‚ā¤†ā¤°ā¤ā¤˛ ⤕āĨ‹ ⤏⤤āĨā¤¯ā¤žā¤Ēā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤ĨāĨ¤**\nā¤ŦāĨ‰ā¤Ÿ ⤆ā¤ļāĨā¤šā¤°āĨā¤¯ ā¤•ā¤°ā¤¤ā¤ž ā¤šāĨˆ ⤕ā¤ŋ ⤕āĨā¤¯ā¤ž ā¤¯ā¤š ⤝āĨ‚ā¤†ā¤°ā¤ā¤˛ ⤍ā¤ŋā¤ŽāĨā¤¨ ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤Ÿā¤ĢāĨ‰ā¤°āĨā¤Ž ⤏āĨ‡ ⤏⤂ā¤Ŧ⤂⤧ā¤ŋ⤤ ā¤šāĨˆ: Youtube, AppleMusic, Spotify, Resso ⤔⤰ SoundcloudāĨ¤\n\n⤆ā¤Ē M3u8 ā¤¯ā¤ž ⤰ā¤ŋā¤ŽāĨ‹ā¤Ÿ ⤞ā¤ŋ⤂⤕ ⤕āĨ‡ ⤞ā¤ŋā¤ /⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤" +play_15 : "**ā¤˛ā¤žā¤‡ā¤ĩ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ā¤•ā¤ž ā¤Ēā¤¤ā¤ž ā¤šā¤˛ā¤ž**\n\n⤏ā¤ŋ⤏āĨā¤Ÿā¤Ž ⤍āĨ‡ ⤆ā¤Ē⤕āĨ‡ ⤟āĨā¤°āĨˆā¤• ⤞ā¤ŋ⤂⤕ ⤕āĨ‹ ā¤˛ā¤žā¤‡ā¤ĩ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ā¤Ēā¤žā¤¯ā¤ž ā¤šāĨˆāĨ¤ ā¤˛ā¤žā¤‡ā¤ĩ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤖āĨ‡ā¤˛ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?" +play_16 : "⤟āĨā¤°āĨˆā¤• ā¤ĩā¤ŋā¤ĩ⤰⤪ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞. ⤕āĨ‹ā¤ˆ ⤅⤍āĨā¤¯ ⤖āĨ‡ā¤˛ā¤¨āĨ‡ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯ā¤žā¤¸ ⤕⤰āĨ‡ā¤‚āĨ¤" +play_17 : "⤇⤏ ā¤ĒāĨā¤°ā¤•ā¤žā¤° ⤕āĨ€ Spotify ⤕āĨā¤ĩāĨ‡ā¤°āĨ€ ā¤šā¤˛ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤Ĩ!\n\nā¤ŽāĨˆā¤‚ ⤕āĨ‡ā¤ĩ⤞ Spotify ⤟āĨā¤°āĨˆā¤•, ā¤ā¤˛āĨā¤Ŧā¤Ž, ā¤•ā¤˛ā¤žā¤•ā¤žā¤° ⤔⤰ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤˛ā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨ‚⤂" +play_18 : "**No Active Voice Chat Found**\n\nTo use force play, there must be an active voice chat going on in your group. **Force Play** stops the playing track on voice chat and starts playing the searched track instantly without disturbing/clearing queue." + + + +#Playlist +playlist_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:** /ā¤ĒāĨā¤˛āĨ‡ [⤏⤂⤗āĨ€ā¤¤ ā¤•ā¤ž ā¤¨ā¤žā¤Ž ā¤¯ā¤ž ⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ⤞ā¤ŋ⤂⤕ ā¤¯ā¤ž ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ā¤•ā¤ž ⤜ā¤ĩā¤žā¤Ŧ]\n\n⤅⤗⤰ ⤆ā¤Ē ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ€ ⤏⤰āĨā¤ĩ⤰ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤˛ā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚! ⤍āĨ€ā¤šāĨ‡ ā¤Ļā¤ŋā¤ ā¤—ā¤ ā¤Ŧ⤟⤍ ⤕āĨ‹ ā¤Ļā¤Ŧā¤žā¤ā¤‚āĨ¤" +playlist_2 : "⤅ā¤Ē⤍āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤•ā¤°ā¤¨ā¤žāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚" +playlist_3 : "ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‡ ⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ ⤆ā¤Ē⤕āĨ€ ⤕āĨ‹ā¤ˆ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +playlist_4 : "ā¤˛ā¤žā¤ˆ ā¤—ā¤ˆ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ:\n\n" +playlist_5 : "⤅ā¤ĩ⤧ā¤ŋ- {0} ā¤Žā¤ŋ⤍⤟" +playlist_6 : "ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤ŽāĨā¤ā¤¸āĨ‡ PM ā¤ŽāĨ‡ā¤‚ ⤏⤂ā¤Ē⤰āĨā¤• ⤕⤰āĨ‡ā¤‚āĨ¤" +playlist_7 : "ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤕āĨ‡ ⤅⤂ā¤Ļ⤰ ⤟āĨā¤°āĨˆā¤•: {0}\n\n⤅ā¤Ē⤍āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ŽāĨ‡ā¤‚ ⤕ā¤ŋ⤏āĨ€ ā¤ĩā¤ŋā¤ļāĨ‡ā¤ˇ ⤟āĨā¤°āĨˆā¤• ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ā¤Ŧ⤟⤍ ā¤Ļā¤Ŧā¤žā¤ā¤‚āĨ¤\n\nā¤ĒāĨ‚⤰āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤕āĨ‹ ā¤šā¤Ÿā¤žā¤¨āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤: ā¤ĄāĨ‡ā¤˛ ā¤šāĨ‹ā¤˛ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤Ŧ⤟⤍ ā¤Ļā¤Ŧā¤žā¤ā¤‚āĨ¤" +playlist_8 : "ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤šāĨˆ\n\nā¤¯ā¤š ⤟āĨā¤°āĨˆā¤• ⤆ā¤Ē⤕āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤šāĨˆāĨ¤" +playlist_9 : "ā¤Žā¤žā¤Ģā¤ŧ ā¤•ā¤°ā¤¨ā¤ž! ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ē⤕āĨ‡ ā¤Ēā¤žā¤¸ ⤕āĨ‡ā¤ĩ⤞ {0} ⤏⤂⤗āĨ€ā¤¤ ā¤šāĨ‹ ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤" +playlist_10 : "ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤜āĨ‹ā¤Ąā¤ŧ\n\n{0}\n⤆ā¤Ē⤕āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤žāĨ¤" +playlist_11 : "⤆ā¤Ēā¤•ā¤ž ⤟āĨā¤°āĨˆā¤• ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤žāĨ¤" +playlist_12 : "⤆ā¤Ēā¤•ā¤ž ⤟āĨā¤°āĨˆā¤• ā¤Žā¤ŋā¤Ÿā¤žā¤¯ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤œā¤ž ā¤¸ā¤•ā¤ž." +playlist_13 : "⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ⤆ā¤Ē⤕āĨ€ ā¤ĒāĨ‚⤰āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤Ÿā¤ž ā¤ĻāĨ€ ā¤—ā¤ˆāĨ¤" +playlist_14 : "**⤕āĨā¤¯ā¤ž ⤆ā¤Ē ā¤ĩā¤žā¤•ā¤ˆ ⤅ā¤Ē⤍āĨ€ ā¤ĒāĨ‚⤰āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤Ÿā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚?**\n\n⤆ā¤Ē ⤅ā¤Ē⤍āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤖āĨ‹ ā¤ĻāĨ‡ā¤‚⤗āĨ‡ ⤔⤰ ⤇⤏āĨ‡ ā¤Ŧā¤žā¤Ļ ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤¨ā¤°āĨā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤¨ā¤šāĨ€ā¤‚ ⤕ā¤ŋā¤¯ā¤ž ā¤œā¤ž ā¤¸ā¤•ā¤¤ā¤ž ā¤šāĨˆāĨ¤" +playlist_15 : "[ā¤ĒāĨ‚⤰āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ⤚āĨ‡ā¤•ā¤†ā¤‰ā¤Ÿ ⤕⤰āĨ‡ā¤‚]({0})" +playlist_16 : "ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ:" +playlist_17 : "ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ-" +playlist_18 : "[⤚āĨ‡ā¤•ā¤†ā¤‰ā¤Ÿ ā¤ĒāĨ‚⤰āĨ€ ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ]({0})\n\n⤅⤂⤤ā¤ŋā¤Ž ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ : **{1}**" + + +#Playmode +playmode_1 : "⤉⤏ ā¤ŽāĨ‹ā¤Ą ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚ ⤜ā¤ŋā¤¸ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ē ⤅ā¤Ē⤍āĨ‡ ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ‡ ⤅⤂ā¤Ļ⤰ ā¤ĒāĨā¤°ā¤ļāĨā¤¨āĨ‹ā¤‚ ⤕āĨ‹ ā¤šā¤˛ā¤žā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚[{0}]āĨ¤" +playmode_2 : "⤏āĨ‡ā¤Ÿā¤ŋ⤂⤗ ā¤Ŧā¤Ļ⤞āĨ€ ā¤—ā¤ˆ ⤔⤰ {0} ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤¸ā¤šāĨ‡ā¤œāĨ€ ā¤—ā¤ˆ" + +#Stream +str_1 : "⤕āĨƒā¤Ēā¤¯ā¤ž M3u8 ⤞ā¤ŋ⤂⤕ ā¤¯ā¤ž ā¤‡ā¤‚ā¤ĄāĨ‡ā¤•āĨā¤¸ ⤞ā¤ŋ⤂⤕ ā¤ĒāĨā¤°ā¤Ļā¤žā¤¨ ⤕⤰āĨ‡ā¤‚āĨ¤" +str_2 : "ā¤Žā¤žā¤¨āĨā¤¯ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤏⤤āĨā¤¯ā¤žā¤Ēā¤ŋ⤤\n\n⤕āĨƒā¤Ēā¤¯ā¤ž ā¤¸ā¤‚ā¤¸ā¤žā¤§ā¤¨ ⤞ā¤ŋ⤂⤕ ⤕āĨ€ ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚.." +str_3 : "⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ā¤˛ā¤žā¤‡ā¤ĩ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤ĨāĨ¤ ⤕āĨ‹ā¤ˆ ā¤˛ā¤žā¤‡ā¤ĩ ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž" + +#TopPlay +tracks_1 : "**Processing {0} Top 10 Playlist**\nThis could take some mins(around 3-4 mins).. Please Wait...\n\n**👤Requested By:** {1}\n\nCheck Top 10 tracks by /stats" +tracks_2 : "**⤤āĨā¤°āĨā¤Ÿā¤ŋ**\n\nā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‡ ⤏⤰āĨā¤ĩ⤰ ā¤Ē⤰ ⤕āĨ‹ā¤ˆ **{0} ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ** ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ⤕āĨ‹ā¤ˆ ⤅⤍āĨā¤¯ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤†ā¤œā¤ŧā¤Žā¤žā¤ā¤‚" + + +# TOOLS + +#Lyrics +lyrics_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n\n/⤗āĨ€ā¤¤ [⤏⤂⤗āĨ€ā¤¤ ā¤•ā¤ž ā¤¨ā¤žā¤Ž]" +lyrics_2 : "⤗āĨ€ā¤¤ ⤖āĨ‹ā¤œ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚" +lyrics_3 : "❌ ⤗āĨ€ā¤¤ ā¤˛ā¤žā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģā¤˛đŸ˜­.\n\n💡**⤖āĨ‹ā¤œā¤¨āĨ‡ ⤕āĨ€ ⤕āĨ‹ā¤ļā¤ŋā¤ļ ⤕āĨ€:** {0}" +lyrics_4 : "⤍āĨ€ā¤šāĨ‡ ā¤Ļā¤ŋā¤ ā¤—ā¤ ā¤Ŧ⤟⤍ ā¤Ē⤰ ⤕āĨā¤˛ā¤ŋ⤕ ⤕⤰āĨ‡ā¤‚ ⤔⤰ ⤞⤂ā¤ŦāĨ‡ ⤏āĨā¤ĒāĨˆā¤Ž ā¤ĒāĨā¤°ā¤•ā¤žā¤° ⤕āĨ‡ ⤗āĨ€ā¤¤ ⤖āĨ‹ā¤œ ⤏āĨ‡ ā¤Ŧ⤚⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤖āĨ‹ā¤œāĨ‡ ā¤—ā¤ ⤗āĨ€ā¤¤ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰āĨ‡ā¤‚āĨ¤" + +#Ping +ping_1 : "ā¤ĒāĨ‹ā¤‚⤗!!!!" + +# Song +song_1 : "⤆ā¤Ē YouTube ⤏āĨ‡ ⤕āĨ‡ā¤ĩ⤞ ⤍ā¤ŋ⤜āĨ€ ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ⤏⤂⤗āĨ€ā¤¤ ā¤¯ā¤ž ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚āĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ŽāĨā¤āĨ‡ ⤍ā¤ŋ⤜āĨ€ ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤ļāĨā¤°āĨ‚ ⤕⤰āĨ‡ā¤‚āĨ¤" +song_2 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n\n/⤗āĨ€ā¤¤ [⤏⤂⤗āĨ€ā¤¤ ā¤•ā¤ž ā¤¨ā¤žā¤Ž] ā¤¯ā¤ž [⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ⤞ā¤ŋ⤂⤕]" +song_3 : "ā¤˛ā¤žā¤‡ā¤ĩ ⤞ā¤ŋ⤂⤕ ā¤•ā¤ž ā¤Ēā¤¤ā¤ž ā¤šā¤˛ā¤žāĨ¤ ā¤ŽāĨˆā¤‚ ā¤˛ā¤žā¤‡ā¤ĩ ⤝āĨ‚ā¤ŸāĨā¤¯āĨ‚ā¤Ŧ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤Ēā¤ž ā¤°ā¤šā¤ž ā¤šāĨ‚⤂āĨ¤" +song_4 : "**🔗ā¤ļāĨ€ā¤°āĨā¤ˇā¤•:**- {0}\n\n⤉⤏ ā¤ĒāĨā¤°ā¤•ā¤žā¤° ā¤•ā¤ž ⤚⤝⤍ ⤕⤰āĨ‡ā¤‚ ⤜ā¤ŋā¤¸ā¤ŽāĨ‡ā¤‚ ⤆ā¤Ē ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤•ā¤°ā¤¨ā¤ž ā¤šā¤žā¤šā¤¤āĨ‡ ā¤šāĨˆā¤‚āĨ¤" +song_5 : "ā¤Žā¤žā¤¨āĨā¤¯ Youtube ⤞ā¤ŋ⤂⤕ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ" +song_6 : "ā¤Ģā¤ŧāĨ‰ā¤°āĨā¤ŽāĨˆā¤Ÿ ā¤Žā¤ŋ⤞ ā¤°ā¤šāĨ‡ ā¤šāĨˆā¤‚.. \n\n⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚.." +song_7 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤉ā¤Ē⤞ā¤ŦāĨā¤§ ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞āĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ⤕āĨ‹ā¤ˆ ⤅⤍āĨā¤¯ ⤟āĨā¤°āĨˆā¤• ā¤†ā¤œā¤ŧā¤Žā¤žā¤ā¤‚āĨ¤" +song_8 : "ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ā¤ļāĨā¤°āĨ‚ ā¤šāĨā¤†\n\nā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ⤕āĨ€ ⤗⤤ā¤ŋ ⤧āĨ€ā¤ŽāĨ€ ā¤šāĨ‹ ⤏⤕⤤āĨ€ ā¤šāĨˆāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤Ēā¤•ā¤ĄāĨ‡ ⤰⤖āĨ‡.." +song_9 : "Youtube-DL ⤏āĨ‡ ā¤—ā¤žā¤¨ā¤ž ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞\n\n**ā¤•ā¤žā¤°ā¤Ŗ:** {0}" +song_10 : "⤏⤰āĨā¤ĩ⤰ ⤏āĨ‡ ⤟āĨ‡ā¤˛āĨ€ā¤—āĨā¤°ā¤žā¤Ž ā¤Ē⤰ ⤅ā¤Ē⤞āĨ‹ā¤Ą ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞āĨ¤" +song_11 : "⤅ā¤Ē⤞āĨ‹ā¤Ąā¤ŋ⤂⤗ ā¤ĒāĨā¤°ā¤žā¤°ā¤‚⤭\n\n⤅ā¤Ē⤞āĨ‹ā¤Ąā¤ŋ⤂⤗ ⤗⤤ā¤ŋ ⤧āĨ€ā¤ŽāĨ€ ā¤šāĨ‹ ⤏⤕⤤āĨ€ ā¤šāĨˆāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤Ēā¤•ā¤ĄāĨ‡ ⤰⤖āĨ‡.." + +# Tools - Queue +queue_1 : "⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚..ā¤•ā¤¤ā¤žā¤° ā¤˛ā¤žā¤ˆ ā¤œā¤ž ā¤°ā¤šāĨ€ ā¤šāĨˆ.." +queue_2 : "ā¤•ā¤¤ā¤žā¤° ⤕āĨ‡ ⤅⤂ā¤Ļ⤰ ⤕āĨ‹ā¤ˆ ⤟āĨā¤°āĨˆā¤• ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +queue_3 : "**ā¤Ē⤂⤕āĨā¤¤ā¤ŋā¤Ŧā¤ĻāĨā¤§ ⤟āĨā¤°āĨˆā¤•:** [ā¤¯ā¤šā¤žā¤‚ ⤏āĨ‡ ⤅⤧ā¤ŋ⤕ ā¤•ā¤¤ā¤žā¤°ā¤Ŧā¤ĻāĨā¤§ ⤟āĨā¤°āĨˆā¤• ā¤ĻāĨ‡ā¤–āĨ‡ā¤‚]({0})" +queue_4 : "âŗ ā¤•ā¤¤ā¤žā¤° ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž **#{0}\n\n💡ā¤ļāĨ€ā¤°āĨā¤ˇā¤•:** {1}\n**âąā¤…ā¤ĩ⤧ā¤ŋ:** {2}\n👤**ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž:** {3}" + +# All Streaming Lines +stream_1 : "📡 **⤏āĨā¤ŸāĨā¤°āĨ€ā¤Žā¤ŋ⤂⤗ ā¤ļāĨā¤°āĨ‚ ⤕āĨ€** \n\n👤**ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:** {0}\nđŸ”Ļ**ā¤œā¤žā¤¨ā¤•ā¤žā¤°āĨ€: **[ā¤¯ā¤šā¤žā¤‚]({1})" +stream_2 : "📡 **⤝āĨ‚ā¤†ā¤°ā¤ā¤˛ ⤕āĨ‡ ā¤Žā¤žā¤§āĨā¤¯ā¤Ž ⤏āĨ‡ ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Žā¤ŋ⤂⤗ ā¤ļāĨā¤°āĨ‚ ⤕āĨ€ ** 💡\n\n👤**ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:** {0}" +stream_3 : "📡 **⤏āĨā¤ŸāĨā¤°āĨ€ā¤Žā¤ŋ⤂⤗ ā¤ļāĨā¤°āĨ‚ ⤕āĨ€** 💡\n\n**🏷ā¤ļāĨ€ā¤°āĨā¤ˇā¤•:** {0}\nâŒ›ī¸**⤅ā¤ĩ⤧ā¤ŋ**: {1}\n👤**ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:** {2}" +stream_4 : "📡 **⤏āĨā¤ŸāĨā¤°āĨ€ā¤Žā¤ŋ⤂⤗ ā¤ļāĨā¤°āĨ‚ ⤕āĨ€** 💡\n\n**🏷ā¤ļāĨ€ā¤°āĨā¤ˇā¤•:** [{0}]({1})\nâŒ›ī¸**⤅ā¤ĩ⤧ā¤ŋ**: {2}\n👤**ā¤ĻāĨā¤ĩā¤žā¤°ā¤ž ⤅⤍āĨā¤°āĨ‹ā¤§ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž:* * {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚" +CLOSEMENU_BUTTON : "ā¤ŽāĨ‡ā¤¨āĨ‚ ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚" +BACK_BUTTON : "âŦ… ā¤ĒāĨ€ā¤›āĨ‡" +UNBAN_BUTTON : "🗑 ⤅ā¤ĒāĨā¤°ā¤¤ā¤ŋā¤Ŧ⤂⤧ā¤ŋ⤤ ā¤¸ā¤šā¤žā¤¯ā¤•" + +#Lyrics +L_B_1 : "🚀 ⤚āĨ‡ā¤•ā¤†ā¤‰ā¤Ÿ ⤞ā¤ŋ⤰ā¤ŋ⤕āĨā¤¸" + +# Start +S_B_1 : "🗒 ⤆ā¤ĻāĨ‡ā¤ļ" +S_B_2 : "🔧 ā¤¸ā¤Žā¤žā¤¯āĨ‹ā¤œā¤¨" +S_B_3 : "📨 ā¤¸ā¤šā¤žā¤¯ā¤¤ā¤ž" +S_B_4 : "📨 ⤚āĨˆā¤¨ā¤˛" +S_B_5 : "✚ ā¤ŽāĨā¤āĨ‡ ⤅ā¤Ē⤍āĨ‡ ⤗āĨā¤°āĨā¤Ē ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧāĨ‡ā¤‚" +S_B_6 : "💡 ⤗ā¤ŋ⤟ ⤰āĨ‡ā¤ĒāĨ‹" +S_B_7 : "👤 ā¤ŦāĨ‰ā¤Ÿ ⤓⤍⤰" +S_B_8 : "🔎 ⤕āĨˆā¤¸āĨ‡ ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰āĨ‡? ā¤•ā¤Žā¤žā¤‚ā¤Ą ā¤ŽāĨ‡ā¤¨āĨ‚āĨ¤" + +#Help +H_B_1 : "ā¤ĩāĨā¤¯ā¤ĩ⤏āĨā¤Ĩā¤žā¤Ē⤕ ⤆ā¤ĻāĨ‡ā¤ļ" +H_B_2 : "ā¤ĒāĨā¤˛āĨ‡ ā¤•ā¤Žā¤žā¤‚ā¤Ą" +H_B_3 : "ā¤ŦāĨ‰ā¤Ÿ ā¤•ā¤Žā¤žā¤‚ā¤Ą" +H_B_4 : "⤅⤤ā¤ŋ⤰ā¤ŋ⤕āĨā¤¤ ā¤•ā¤Žā¤žā¤‚ā¤Ą" +H_B_5 : "ā¤ŽāĨ‡ā¤¨āĨ‚ ā¤Ŧ⤂ā¤Ļ ⤕⤰āĨ‡ā¤‚" +H_B_6 : "⤏āĨ‚ā¤ĄāĨ‹ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤•ā¤Žā¤žā¤‚ā¤Ą" + +#PlayMode +PM_B_1 : "ā¤Ąā¤žā¤¯ā¤°āĨ‡ā¤•āĨā¤Ÿā¤ĒāĨā¤˛āĨ‡" +PM_B_2 : "ā¤‡ā¤¨ā¤˛ā¤žā¤‡ā¤¨ ā¤Žā¤žā¤°āĨā¤•⤅ā¤Ē" +PM_B_3 : "⤚āĨˆā¤¨ā¤˛ā¤ĒāĨā¤˛āĨ‡" + +#Play +P_B_1 : "đŸŽĩ ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚" +P_B_2 : "đŸŽĨ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤šā¤˛ā¤žā¤ā¤‚" +P_B_3 : "🏮 ā¤˛ā¤žā¤‡ā¤ĩ⤏āĨā¤ŸāĨā¤°āĨ€ā¤Ž ā¤ļāĨā¤°āĨ‚ ⤕⤰āĨ‡ā¤‚" +P_B_4 : "đŸŽĩ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤˛ā¤žā¤ā¤‚" + +#Playlist +PL_B_1 : "🚀 ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤˛ā¤žā¤ā¤‚" +PL_B_2 : "✚ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ" +PL_B_3 : "✚ ⤅⤤ā¤ŋ⤰ā¤ŋ⤕āĨā¤¤" +PL_B_4 : "📡 ⤖āĨ‡ā¤˛ ā¤ĩā¤ŋā¤§ā¤ž" +PL_B_5 : "🔄 ā¤ĄāĨ‡ā¤˛ ā¤ĒāĨ‚⤰āĨ€ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ" +PL_B_6 : "â†—ī¸ ā¤ĒāĨā¤˛āĨ‡ā¤˛ā¤ŋ⤏āĨā¤Ÿ ā¤šā¤Ÿā¤žā¤ā¤‚" +PL_B_7 : "â—ī¸ ā¤šā¤žā¤ ā¤ŽāĨā¤āĨ‡ ⤝⤕āĨ€ā¤¨ ā¤šāĨˆāĨ¤ ⤇⤏āĨ‡ ā¤šā¤Ÿā¤ž" +PL_B_8 : "đŸ”ĸ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤖āĨ‡ā¤˛āĨ‡ā¤‚" +PL_B_9 : "🤖 ā¤ĩāĨˆā¤ļāĨā¤ĩā¤ŋ⤕ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤟āĨā¤°āĨˆā¤• ā¤šā¤˛ā¤žā¤ā¤‚" +PL_B_10 : "🏘 ā¤¸ā¤ŽāĨ‚ā¤š ⤕āĨ‡ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤟āĨā¤°āĨˆā¤• ā¤šā¤˛ā¤žā¤ā¤‚" +PL_B_11 : "👤 ā¤ĩāĨā¤¯ā¤•āĨā¤¤ā¤ŋ⤗⤤ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤟āĨā¤°āĨˆā¤• ā¤šā¤˛ā¤žā¤ā¤‚" + +#Settings +ST_B_1 : "🔊 ā¤‘ā¤Ąā¤ŋ⤝āĨ‹ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž" +ST_B_2 : "đŸŽĨ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž" +ST_B_3 : "🎩 ā¤ĒāĨā¤°ā¤žā¤Žā¤žā¤Ŗā¤ŋ⤕ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž" +ST_B_4 : "📱 ā¤ĄāĨˆā¤ļā¤ŦāĨ‹ā¤°āĨā¤Ą" +ST_B_5 : "â–ļī¸ ⤖āĨ‡ā¤˛ ā¤ĩā¤ŋā¤§ā¤ž" +ST_B_6 : "đŸŗī¸â€đŸŒˆ ā¤­ā¤žā¤ˇā¤ž" +ST_B_7 : "🔄 ⤏āĨā¤ĩ⤚āĨā¤› ā¤ŽāĨ‹ā¤Ą" +ST_B_8 : "{0} ā¤•ā¤Ž ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤‘ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_9 : "{0} ā¤Žā¤§āĨā¤¯ā¤Ž ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤‘ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_10 : "{0} ā¤‰ā¤šāĨā¤š ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤‘ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_11 : "{0} ⤍ā¤ŋā¤ŽāĨā¤¨ ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_12 : "{0} ā¤Žā¤§āĨā¤¯ā¤Ž ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_13 : "{0} ā¤‰ā¤šāĨā¤š ⤗āĨā¤Ŗā¤ĩ⤤āĨā¤¤ā¤ž ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹" +ST_B_14 : "✅ ⤏⤕āĨā¤°ā¤ŋ⤝" +ST_B_15 : "❌ ā¤ĩā¤ŋā¤•ā¤˛ā¤žā¤‚ā¤—" +ST_B_16 : "👤 Admin" +ST_B_17 : "đŸ‘Ĩ Everyone" +ST_B_18 : "📋 ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šā¤ŋā¤¯ā¤žā¤" +ST_B_19 : "🔎 ⤖āĨ‹ā¤œ ā¤ŽāĨ‹ā¤Ą" +ST_B_20 : "✅ Direct" +ST_B_21 : "✅ Inline" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Admin Commands" +ST_B_23 : "🏘 Group" +ST_B_24 : "🏷 Channel" +ST_B_25 : "đŸĢ‚ ā¤ĒāĨā¤˛āĨ‡ ā¤Ÿā¤žā¤‡ā¤Ē" +ST_B_26 : "🗑 ā¤•ā¤Žā¤žā¤‚ā¤Ą ⤕āĨā¤˛āĨ€ā¤¨" + +#Song +SG_B_1 : "â†—ī¸ ⤍ā¤ŋ⤜āĨ€ ⤚āĨˆā¤Ÿ ⤖āĨ‹ā¤˛āĨ‡ā¤‚" +SG_B_2 : "🔊 ā¤‘ā¤Ąā¤ŋ⤝āĨ‹" +SG_B_3 : "đŸŽĨ ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹" + +#Stats +SA_B_1 : "đŸ“ĸ ⤟āĨ‰ā¤Ē 10 ⤚āĨˆā¤Ÿ" +SA_B_2 : "đŸ”ĸ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤟āĨā¤°āĨˆā¤•" +SA_B_3 : "🧛 ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž" +SA_B_4 : "🏷 ā¤¯ā¤šā¤žā¤‚ ā¤ļāĨ€ā¤°āĨā¤ˇ 10" +SA_B_5 : "💡 ⤕āĨā¤˛ ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡" +SA_B_6 : "👤 ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡" +SA_B_7 : "đŸ”ĸ ā¤ĩāĨˆā¤ļāĨā¤ĩā¤ŋ⤕ ā¤ļāĨ€ā¤°āĨā¤ˇ 10 ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡" +SA_B_8 : "🤖 ā¤ŦāĨ‰ā¤Ÿ ā¤†ā¤ā¤•ā¤Ąā¤ŧāĨ‡" + + + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ā¤• sudo ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤šāĨˆāĨ¤" +sudo_2 : "⤏āĨā¤ĄāĨ‹ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ‡ ⤞ā¤ŋā¤ ***** ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤žāĨ¤" +sudo_3 : "ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‡ ⤏āĨ‚ā¤ĄāĨ‹ ā¤•ā¤ž ā¤šā¤ŋ⤏āĨā¤¸ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +sudo_4 : "ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‡ ⤏āĨ‚ā¤ĄāĨ‹ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž" +sudo_5 : "â­ī¸ **ā¤Žā¤žā¤˛ā¤ŋ⤕:**\n" +sudo_6 : "\nâ­ī¸ **⤏āĨā¤ĄāĨ‹ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž:**\n" +sudo_7 : "⤕āĨ‹ā¤ˆ ⤏āĨ‚ā¤ĄāĨ‹ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚" + +#Block +block_1 : "{0} ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ŦāĨ‰ā¤Ÿ ⤏āĨ‡ ⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ā¤šāĨˆāĨ¤" +block_2 : "**{0}** ⤕āĨ‹ ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ€ ā¤ŦāĨā¤˛āĨ‰ā¤• ⤏āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤žāĨ¤ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤅ā¤Ŧ ⤕ā¤ŋ⤏āĨ€ ⤭āĨ€ ⤏āĨā¤Ĩā¤ŋ⤤ā¤ŋ ā¤ŽāĨ‡ā¤‚ ā¤ŦāĨ‰ā¤Ÿ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ā¤¨ā¤šāĨ€ā¤‚ ⤕⤰ ā¤Ēā¤žā¤ā¤—ā¤žāĨ¤\n\n⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤žā¤“⤂ ⤕āĨ€ ā¤œā¤žā¤ā¤š ⤕⤰āĨ‡ā¤‚: /⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž" +block_3 : "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ŽāĨā¤Ģā¤ŧāĨā¤¤ ā¤šāĨˆ ⤔⤰ ⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆāĨ¤" +block_4 : "⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤕āĨ‹ ā¤ŦāĨā¤˛āĨ‰ā¤• ⤏āĨ‚ā¤šāĨ€ ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤žāĨ¤ ⤝āĨ‚ā¤œā¤° ⤅ā¤Ŧ ā¤ŦāĨ‰ā¤Ÿ ā¤•ā¤ž ⤇⤏āĨā¤¤āĨ‡ā¤Žā¤žā¤˛ ⤕⤰ ⤏⤕āĨ‡ā¤—ā¤žāĨ¤" +block_5 : "⤕āĨ‹ā¤ˆ ⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋā¤˛ā¤ž" +block_6 : "⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ⤏āĨ‚ā¤šāĨ€ ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ā¤•ā¤°ā¤¨ā¤ž.. ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚" +block_7 : "**⤅ā¤ĩ⤰āĨā¤ĻāĨā¤§ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž:**\n\n" + +#Blacklist Chats +black_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/ā¤ŦāĨā¤˛āĨˆā¤• ⤞ā¤ŋ⤏āĨā¤Ÿ ⤚āĨˆā¤Ÿ [CHAT_ID]" +black_2 : "⤚āĨˆā¤Ÿ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ŦāĨā¤˛āĨˆā¤• ⤞ā¤ŋ⤏āĨā¤ŸāĨ‡ā¤Ą ā¤šāĨˆāĨ¤" +black_3 : "⤚āĨˆā¤Ÿ ⤕āĨ‹ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤ŦāĨā¤˛āĨˆā¤•⤞ā¤ŋ⤏āĨā¤Ÿ ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" +black_4 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/ā¤ļāĨā¤ĩāĨ‡ā¤¤ā¤¸āĨ‚ā¤šāĨ€ā¤šāĨˆā¤Ÿ [CHAT_ID]" +black_5 : "⤚āĨˆā¤Ÿ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ā¤ļāĨā¤ĩāĨ‡ā¤¤ā¤¸āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤šāĨˆāĨ¤" +black_6 : "⤚āĨˆā¤Ÿ ⤕āĨ‹ ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ā¤ļāĨā¤ĩāĨ‡ā¤¤ā¤¸āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤Ąā¤žā¤˛ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" +black_7 : "**ā¤ŦāĨā¤˛āĨˆā¤• ⤞ā¤ŋ⤏āĨā¤ŸāĨ‡ā¤Ą ⤚āĨˆā¤ŸāĨā¤¸:**\n\n" +black_8 : "⤕āĨ‹ā¤ˆ ā¤ŦāĨā¤˛āĨˆā¤•⤞ā¤ŋ⤏āĨā¤ŸāĨ‡ā¤Ą ⤚āĨˆā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚" + +#videolimit +vid_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/set_video_limit [⤚āĨˆā¤Ÿ ⤕āĨ€ ⤏⤂⤖āĨā¤¯ā¤ž ⤕āĨ€ ⤅⤍āĨā¤Žā¤¤ā¤ŋ ā¤šāĨˆ] ā¤¯ā¤ž [⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚]" +vid_2 : "⤕āĨƒā¤Ēā¤¯ā¤ž ⤏āĨ€ā¤Žā¤ž ⤍ā¤ŋ⤰āĨā¤§ā¤žā¤°ā¤ŋ⤤ ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏⤂⤖āĨā¤¯ā¤žā¤¤āĨā¤Žā¤• ⤏⤂⤖āĨā¤¯ā¤žā¤“⤂ ā¤•ā¤ž ā¤ĒāĨā¤°ā¤¯āĨ‹ā¤— ⤕⤰āĨ‡ā¤‚āĨ¤" +vid_3 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‰ā¤˛ ⤕āĨ€ ⤅⤧ā¤ŋā¤•ā¤¤ā¤Ž ⤏āĨ€ā¤Žā¤ž {0} ⤚āĨˆā¤Ÿ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤍ā¤ŋ⤰āĨā¤§ā¤žā¤°ā¤ŋ⤤ ā¤šāĨˆāĨ¤" +vid_4 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ⤕āĨ‰ā¤˛ ⤅⤕āĨā¤ˇā¤Ž" + +#maintenance +maint_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ [⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚|⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚]" +maint_2 : "ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ ⤕āĨ‡ ⤞ā¤ŋā¤ ⤏⤕āĨā¤ˇā¤Ž" +maint_3 : "ā¤°ā¤–ā¤°ā¤–ā¤žā¤ĩ ā¤ŽāĨ‹ā¤Ą ⤅⤕āĨā¤ˇā¤Ž" + +#log +log_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/⤞āĨ‰ā¤—⤰ [⤏⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚|⤅⤕āĨā¤ˇā¤Ž ⤕⤰āĨ‡ā¤‚]" +log_2 : "⤏⤕āĨā¤ˇā¤Ž ⤞āĨ‰ā¤—ā¤ŋ⤂⤗" +log_3 : "⤞āĨ‰ā¤—ā¤ŋ⤂⤗ ⤅⤕āĨā¤ˇā¤Ž" + +#videomode +vidmode_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ŽāĨ‹ā¤Ą [ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą|m3u8]" +vidmode_2 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ąā¤° ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿ ā¤šāĨˆāĨ¤ ā¤ŦāĨ‰ā¤Ÿ ⤅ā¤Ŧ ⤟āĨā¤°āĨˆā¤• ā¤Ąā¤žā¤‰ā¤¨ā¤˛āĨ‹ā¤Ą ⤕⤰ ā¤°ā¤šā¤ž ā¤šāĨ‹ā¤—ā¤žāĨ¤" +vidmode_3 : "ā¤ĩāĨ€ā¤Ąā¤ŋ⤝āĨ‹ ā¤ĒāĨā¤˛āĨ‡ ā¤ŽāĨ‹ā¤Ą ⤕āĨ‹ m3u8 ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤏āĨ‡ā¤Ÿ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆāĨ¤ ā¤ŦāĨ‰ā¤Ÿ ⤅ā¤Ŧ ā¤˛ā¤žā¤‡ā¤ĩ ā¤ĒāĨā¤˛āĨ‡ ⤟āĨā¤°āĨˆā¤• ā¤šāĨ‹ā¤‚⤗āĨ‡āĨ¤" + +#broadcast +broad_1 : "**ā¤ŦāĨ‰ā¤Ÿ ⤏āĨ‡ {1} ā¤Ēā¤ŋ⤍ ⤕āĨ‡ ā¤¸ā¤žā¤Ĩ {0} ⤚āĨˆā¤Ÿ ā¤ŽāĨ‡ā¤‚ ā¤ĒāĨā¤°ā¤¸ā¤žā¤°ā¤ŋ⤤ ⤏⤂ā¤ĻāĨ‡ā¤ļāĨ¤**" +broad_2 : "ā¤¸ā¤šā¤žā¤¯ā¤• ā¤ĒāĨā¤°ā¤¸ā¤žā¤°ā¤Ŗ ā¤ĒāĨā¤°ā¤žā¤°ā¤‚⤭ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž..." +broad_3 : "**ā¤¸ā¤šā¤žā¤¯ā¤• ā¤ĒāĨā¤°ā¤¸ā¤žā¤°ā¤Ŗ:**\n\n" +broad_4 : "Assistant {0} Broadcasted in {1} chats\n" +broad_5 : "**Usage**:\n/broadcast [MESSAGE] or [Reply to a Message]" +broad_6 : "Please provide some text to broadcast." +broad_7 : "**Broadcasted Message to {0} Users.**" + +#Heroku +heroku_1 : "⤕āĨƒā¤Ēā¤¯ā¤ž ⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ ⤕ā¤ŋ ⤆ā¤Ē⤕āĨ€ ā¤šāĨ‡ā¤°āĨ‹ā¤•āĨ‚ ā¤ā¤ĒāĨ€ā¤†ā¤ˆ ⤕āĨā¤‚ā¤œāĨ€, ⤆ā¤Ēā¤•ā¤ž ⤐ā¤Ē ā¤¨ā¤žā¤Ž ⤉⤏⤕āĨ‡āĨ‹ā¤•āĨ‚ ā¤ŽāĨ‡ā¤‚ ā¤¸ā¤šāĨ€ ā¤ĸ⤂⤗ ⤏āĨ‡ ⤕āĨ‰ā¤¨āĨā¤Ģā¤ŧā¤ŋ⤗⤰ ⤕ā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" +heroku_2 : "⤆ā¤Ē ⤕āĨ‡ā¤ĩ⤞ Heroku Apps ⤕āĨ‡ ⤞āĨ‰ā¤— ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤕⤰ ⤏⤕⤤āĨ‡ ā¤šāĨˆā¤‚" +heroku_3 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/get_var [ā¤ĩ⤰ ā¤¨ā¤žā¤Ž]" +heroku_4 : "ā¤ā¤¸ā¤ž ⤕āĨ‹ā¤ˆ ⤭āĨ€ ⤏⤂⤏āĨā¤•⤰⤪ ⤖āĨ‹ā¤œā¤¨āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤…ā¤¸ā¤Žā¤°āĨā¤ĨāĨ¤" +heroku_5 : ".env ā¤Ģā¤ŧā¤žā¤‡ā¤˛ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€āĨ¤" +heroku_6 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/del_var [ā¤ĩ⤰ ā¤¨ā¤žā¤Ž]" +heroku_7 : "{0} ā¤šā¤Ÿā¤ž ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤žāĨ¤" +heroku_8 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/set_var [ā¤ĩ⤰ ā¤¨ā¤žā¤Ž] [ā¤ĩ⤰ ā¤Žā¤žā¤¨]" +heroku_9 : "{0} ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕⤰ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" +heroku_10 : "{0} ⤏ā¤Ģā¤˛ā¤¤ā¤žā¤ĒāĨ‚⤰āĨā¤ĩ⤕ ⤜āĨ‹ā¤Ąā¤ŧ ā¤Ļā¤ŋā¤¯ā¤ž ā¤—ā¤¯ā¤ž ā¤šāĨˆ" +heroku_11 : "⤕āĨ‡ā¤ĩ⤞ ā¤šā¤°āĨ‹ā¤•āĨ‚ ⤐ā¤ĒāĨā¤¸ ⤕āĨ‡ ⤞ā¤ŋā¤" +heroku_12 : "ā¤šā¤°āĨ‹ā¤•āĨ‚ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕āĨ€ ā¤œā¤žā¤ā¤š ā¤•ā¤°ā¤¨ā¤žāĨ¤ ⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚" +heroku_13 : "⤉ā¤Ē⤞ā¤ŦāĨā¤§ ⤅ā¤Ēā¤ĄāĨ‡ā¤Ÿ ⤕āĨ€ ā¤œā¤žā¤‚ā¤š ⤕āĨ€ ā¤œā¤ž ā¤°ā¤šāĨ€ ā¤šāĨˆ..." +heroku_14 : "⤗ā¤ŋ⤟ ā¤•ā¤Žā¤žā¤‚ā¤Ą ⤤āĨā¤°āĨā¤Ÿā¤ŋ" +heroku_15 : "ā¤…ā¤Žā¤žā¤¨āĨā¤¯ ⤗ā¤ŋ⤟ ⤰ā¤ŋā¤ĒāĨ‹ā¤œā¤ŋ⤟⤰āĨ€" + +#Private bot mode +pbot_1 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/⤅⤧ā¤ŋ⤕āĨƒā¤¤ [CHAT_ID]" +pbot_2 : "**⤉ā¤Ē⤝āĨ‹ā¤—:**\n/⤅⤍⤧ā¤ŋ⤕āĨƒā¤¤ [CHAT_ID]" +pbot_3 : "ā¤ĻāĨ€ ā¤—ā¤ˆ ⤚āĨˆā¤Ÿ ⤕āĨ‹ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤏āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ⤜āĨ‹ā¤Ąā¤ŧā¤ž ā¤—ā¤¯ā¤ž" +pbot_4 : "ā¤ĻāĨ€ ā¤—ā¤ˆ ⤚āĨˆā¤Ÿ ⤕āĨ‹ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤏āĨ‚ā¤šāĨ€ ⤏āĨ‡ ā¤šā¤Ÿā¤žā¤¯ā¤ž ā¤—ā¤¯ā¤ž" +pbot_5 : "⤚āĨˆā¤Ÿ ā¤Ēā¤šā¤˛āĨ‡ ⤏āĨ‡ ā¤šāĨ€ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤏āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ā¤šāĨˆ" +pbot_6 : "⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤏āĨ‚ā¤šāĨ€ ā¤ŽāĨ‡ā¤‚ ⤐⤏āĨ€ ⤕āĨ‹ā¤ˆ ⤚āĨˆā¤Ÿ ā¤ŽāĨŒā¤œāĨ‚ā¤Ļ ā¤¨ā¤šāĨ€ā¤‚ ā¤šāĨˆ" +pbot_7 : "chat_id ⤏⤤āĨā¤¯ā¤žā¤Ēā¤ŋ⤤ ⤕⤰⤍āĨ‡ ā¤ŽāĨ‡ā¤‚ ā¤ĩā¤ŋā¤Ģ⤞.\n\n⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚ ⤕ā¤ŋ ā¤¯ā¤š ⤅⤂⤕āĨ€ā¤¯ ⤔⤰ ā¤¸ā¤šāĨ€ ā¤ĒāĨā¤°ā¤žā¤°āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ā¤šāĨˆ. ⤚āĨˆā¤Ÿ ⤉ā¤Ē⤝āĨ‹ā¤—⤕⤰āĨā¤¤ā¤ž ā¤¨ā¤žā¤Ž ā¤¯ā¤ž ⤞ā¤ŋ⤂⤕ ā¤•ā¤ž ⤉ā¤Ē⤝āĨ‹ā¤— ⤍ ⤕⤰āĨ‡ā¤‚āĨ¤" +pbot_8 : "⤕āĨƒā¤Ēā¤¯ā¤ž ā¤ĒāĨā¤°ā¤¤āĨ€ā¤•āĨā¤ˇā¤ž ⤕⤰āĨ‡ā¤‚.... ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤚āĨˆā¤Ÿ ā¤˛ā¤žā¤ˆ ā¤œā¤ž ā¤°ā¤šāĨ€ ā¤šāĨˆā¤‚āĨ¤" +pbot_9 : "**ā¤ĒāĨā¤°ā¤žā¤ĒāĨā¤¤ ⤚āĨˆā¤Ÿ:**\n\n" +pbot_10 : "⤍ā¤ŋ⤜āĨ€ ⤚āĨˆā¤Ÿ" +pbot_11 : "⤕āĨ‹ā¤ˆ ⤅⤧ā¤ŋ⤕āĨƒā¤¤ ⤚āĨˆā¤Ÿ ā¤¨ā¤šāĨ€ā¤‚ ā¤Žā¤ŋ⤞āĨ€" +pbot_12 : "⤍ā¤ŋ⤜āĨ€ ā¤ŦāĨ‰ā¤Ÿ ā¤ŽāĨ‹ā¤Ą ⤅⤕āĨā¤ˇā¤Ž ā¤šāĨˆāĨ¤\n\n⤅ā¤Ē⤍āĨ‡ ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‹ ⤍ā¤ŋ⤜āĨ€ ā¤ŦāĨ‰ā¤Ÿ ⤕āĨ‡ ⤰āĨ‚ā¤Ē ā¤ŽāĨ‡ā¤‚ ⤉ā¤Ē⤝āĨ‹ā¤— ⤕⤰⤍āĨ‡ ⤕āĨ‡ ⤞ā¤ŋā¤ **PRIVATE_BOT_MODE** = **ā¤¸ā¤šāĨ€** ⤏āĨ‡ā¤Ÿ ā¤•ā¤°ā¤¨ā¤ž ⤏āĨā¤¨ā¤ŋā¤ļāĨā¤šā¤ŋ⤤ ⤕⤰āĨ‡ā¤‚" +pbot_13 : "\n**⤅⤍ā¤Ģā¤ŧāĨ‡ā¤šāĨā¤Ą ⤚āĨˆā¤Ÿ:**\n\n" + +#Gbanned +gban_1 : "You want to gban yourself? How Fool!" +gban_2 : "Should i block myself? Lol" +gban_3 : "You want to block a sudo user?" +gban_4 : "{0} is already **gbanned** from the bot." +gban_5 : "**Initializing Gobal Ban on {0}**\n\nExpected Time : {1}." +gban_6 : "**Gbanned Successfully**\n\nBanned **{0}** from **{1}** chats." +gban_7 : "{0} is not **gbanned **yet from the bot." +gban_8 : "**Ungbanning {0}**\n\nExpected Time : {1}." +gban_9 : "**UnGbanned Successfully**\n\nUnbanned **{0}** in **{1}** chats." +gban_10 : "No Gbanned Users Found." +gban_11 : "Please wait a while.. Fetching Gbanned users list" diff --git a/strings/langs/id.yml b/strings/langs/id.yml new file mode 100644 index 0000000000000000000000000000000000000000..40f93c77e8e5202d491fb561db224371f7e0c23b --- /dev/null +++ b/strings/langs/id.yml @@ -0,0 +1,472 @@ +name : 🇮🇩 Indonesian + +# General Strings +general_1 : "Balas pesan pengguna atau berikan nama pengguna/id_pengguna" +general_2 : "Kesalahan! Penggunaan Perintah yang Salah." +general_3 : "Beberapa **pengecualian terjadi** saat memproses kueri Anda.\n\nJenis Pengecualian:- {0}" +general_4 : "Anda adalah admin anonim di grup obrolan ini!\nKembali ke Akun Pengguna Dari Hak Admin." +general_5 : "Anda harus menjadi admin dengan mengelola hak obrolan suara untuk melakukan tindakan ini." +general_6 : "Bot tidak streaming di voice chat." + +# Classes - Telegram.py +tg_1 : "Bot **kelebihan beban** dengan unduhan sekarang.\n\n**Coba Setelah:** {0} (__waktu yang diharapkan__)" +tg_2 : "Gagal mengunduh media dari telegram." + +# Core - Call.py +call_1 : "Bot memerlukan Izin **Admin** untuk mengundang akun asisten ke saluran Anda." +call_2 : "Asisten diblokir di grup atau saluran Anda, harap batalkan pemblokiran.\n\n**Nama Pengguna Asisten:** @{0}\n**ID Asisten:** {1}" +call_3 : "Pengecualian Terjadi Saat Mengundang Akun Asisten ke chat Anda.\n\n**Alasan**: {0}" +call_4 : "Bot memerlukan **Undang Pengguna Melalui Tautan** Izin untuk mengundang akun asisten ke grup obrolan Anda." +call_5 : "Akun Asisten akan bergabung dalam 5 Detik.. Harap Tunggu!" +call_6 : "Akun Asisten[{0}] Berhasil Bergabung.\n\nMulai Musik Sekarang" +call_7 : "**Hak Admin yang Berbahaya Diberikan **\n\nHarap hapus hak **BAN PENGGUNA** dari bot." +call_8 : "**Hak Admin yang Berbahaya Diberikan **\n\nHarap hapus hak **TAMBAHKAN ADMIN BARU** dari bot." +call_9 : "**Gagal mengganti Aliran**\nSilakan gunakan /skip untuk mengganti trek lagi." +call_10 : "Mengunduh Lagu Berikutnya dari Daftar Putar" +call_11 : "Tolong tambahkan @{0} ke saluran Anda[ ID: {1}].\n\nBot tidak bisa mendapatkan detail Channel." + +# PLUGINS - Auth.py +auth_1 : "Anda hanya dapat memiliki 20 Pengguna di Daftar Pengguna Resmi (AUL) grup Anda" +auth_2 : "Ditambahkan ke Daftar Pengguna Resmi grup Anda." +auth_3 : "Sudah ada di Daftar Pengguna Resmi." +auth_4 : "Dihapus dari Daftar Pengguna Resmi Grup ini." +auth_5 : "Pengguna yang ditargetkan bukanlah Pengguna yang Sah." +auth_6 : "Mengambil Pengguna Resmi... Harap Tunggu" +auth_7 : "**Daftar Pengguna Resmi[AUL]:**\n\n" +auth_8 : "┗ Ditambahkan Oleh:-" + +# PLUGINS - Admins +admin_1 : "Musik sudah Dijeda." +admin_2 : "🎧 Obrolan Suara Dijeda oleh {}!" +admin_3 : "Musik sudah dilanjutkan." +admin_4 : "🎧 Obrolan Suara Dilanjutkan oleh {}!" +admin_5 : "Musik sudah dimatikan." +admin_6 : "🎧 Obrolan Suara Dibisukan oleh {}!" +admin_7 : "Musik sudah disuarakan." +admin_8 : "🎧 Obrolan Suara Disuarakan oleh {}!" +admin_9 : "🎧 Obrolan Suara Diakhiri/Dihentikan oleh {}!" +admin_10 : "🎧 Obrolan Suara Dilewati oleh {}!. Tidak Ada Lagi Musik di Antrean." +admin_11 : "Error saat mengubah aliran ke **{0}**\n\nSilakan gunakan /skip lagi." +admin_12 : "Tidak dapat melompat ke trek tertentu karena pemutaran loop diaktifkan. Harap nonaktifkan pemutaran loop melalui `/loop disable` untuk menggunakan fitur ini." +admin_13 : "Silakan gunakan nomor numerik untuk trek tertentu, seperti 1, 2 atau 4 dll" +admin_14 : "Setidaknya diperlukan 2 trek dalam antrian untuk melompat ke nomor tertentu. Periksa antrian menurut /antrian" +admin_15 : "Tidak cukup trek dalam antrian untuk nilai yang Anda berikan. Silakan pilih angka antara 1 dan {0}" +admin_16 : "Gagal melompat ke trek tertentu.\n\nPeriksa antrean kiri menurut /antrian" +admin_17 : "{0}.. Mohon Tunggu" +admin_18 : "Daftar Admin Tidak Ditemukan\n\nSilakan muat ulang daftar admin melalui /admincache atau /reload" +admin_19 : "Anda harus menjadi admin dengan hak mengelola obrolan suara untuk melakukan ini.\nJika Anda sudah menjadi admin, muat ulang admincache melalui /admincache " +admin_20 : "Cache admin berhasil dimuat ulang." +admin_21 : "Tidak ada di dalam antrian untuk diacak" +admin_22 : "Gagal mengacak.\n\nPeriksa antrian : /antrian" +admin_23 : "**Antrian Diacak oleh {0}**\n\nPeriksa antrean yang diacak : /queue" +admin_24 : "**Penggunaan:**\n/loop [aktifkan/nonaktifkan] atau [Angka antara 1-10]\n\n**Contoh:** /loop 5" +admin_25 : "Loop diaktifkan oleh {0} sebanyak **{1}** kali. Bot sekarang akan mengulang musik yang sedang diputar di obrolan suara sebanyak **{1}** kali" +admin_26 : "Silahkan gunakan angka antara 1-10 untuk loop play" +admin_27 : "Pemutaran Putaran telah dinonaktifkan" +admin_28 : "**Penggunaan:**\n/seek atau /seekback [Durasi dalam detik]" +admin_29 : "Silakan gunakan detik durasi numerik seperti 10-20-30 detik untuk mencari" +admin_30 : "Maaf, tetapi Anda tidak dapat mencari aliran yang sedang diputar. Itu hanya dapat dilewati atau dihentikan." +admin_31 : "Bot tidak dapat mencari karena durasi yang diberikan tinggi. Anda perlu mencari ke durasi yang lebih rendah dan ingat bahwa waktu tersisa 10 detik setelah pencarian.\n\nSaat ini dimainkan** {0}** menit keluar dari **{1}** menit" +admin_32 : "Mohon Tunggu... Sedang mencari streaming yang sedang berlangsung." +admin_33 : "Aliran Berhasil Dicari hingga {0} Menit" +admin_34 : "Gagal mencari aliran saat ini." + +# Bot + +# Start +start_1 : "Terima kasih telah menerima saya di {0}.\n{1} Saya Masih Berfungsi.\n\nUntuk bantuan atau bantuan apa pun, periksa Group dan Channel Support kami." +start_2 : "Halo, Nama saya {0}.\n\nSaya bot streaming telegram dengan beberapa fitur berguna. Platform pendukung seperti Youtube, Spotify, Resso, AppleMusic , Soundcloud dll.\n\nJangan ragu untuk menambahkan saya kegroupmu." +start_3 : "Selamat datang di {0}\n\nSaya tidak memerlukan **izin admin** untuk bekerja ( sampai diminta ).\n\nNama Pengguna Asisten:- @{1}\nID Asisten:- {2} " +start_4 : "Pemilik {0}[{1}] baru saja bergabung dengan obrolan Anda." +start_5 : "Anggota Pengguna Sudo {0}[{1}] baru saja bergabung dengan obrolan Anda." +start_6 : "â—ī¸ **Diperlukan Supergroup** ī¸\n\nHarap ubah **grup** Anda menjadi **grup super** lalu tambahkan saya kembali.\n\n**Bagaimana cara membuat grup super?**\n✅ Jadikan riwayat obrolan grup Anda **terlihat** sekali." +start_7 : "**Obrolan Daftar Hitam**\n\nObrolan Anda telah dimasukkan dalam daftar hitam oleh Bot. Silakan minta SudoUser untuk memasukkan obrolan ke daftar putih terlebih dahulu. Periksa [Sudolist dari sini]({0})" + +# Help +help_1 : "Klik tombol di bawah untuk informasi lebih lanjut. Jika Anda menghadapi masalah dalam perintah, Anda dapat menghubungi pemilik bot saya atau bertanya di Group dukungan.\n\nSemua perintah dapat digunakan dengan: /" +help_2 : "Hubungi saya di PM untuk bantuan." + +# Settings +setting_1 : "âš™ī¸ **Setelan Bot Musik**\n\n🖇**Group:** {0}\n🔖**ID Group:** `{1}`\n\n💡**Pilih tombol fungsi dari di bawah ini yang ingin Anda edit atau ubah.**" +setting_3 : "â‰ī¸ Apa Ini?\n\n1) Langsung: Memutar kueri penelusuran secara langsung. Gunakan -v untuk memutar video dalam mode langsung.\n\n2) Sebaris: Mengembalikan Tombol Markup Sebaris untuk memilih antara video & audio." +setting_4 : "â‰ī¸ Apa Ini?\n\nđŸ‘Ĩ Semua Orang: Siapa saja dapat menggunakan perintah admin (lewati, jeda, lanjutkan, dll.) yang ada di grup ini.\n\n🙍 Hanya Admin: Hanya admin dan pengguna yang berwenang yang dapat menggunakan perintah admin ." +setting_5 : "Tidak Ditemukan Pengguna Resmi\n\nAnda dapat mengizinkan non-admin menggunakan perintah admin saya dengan /auth dan menghapus dengan menggunakan /unauth" +setting_9 : "â‰ī¸ Apa Ini?\n\nSaat diaktifkan, Bot akan menghapus pesannya setelah {0} untuk membuat obrolan Anda bersih dan jelas." +setting_10 : "â‰ī¸ Apa Ini?\n\n1) Grup: Memutar musik di grup tempat perintah diberikan .\n\n2) Saluran: Memutar musik di saluran yang Anda inginkan. Atur id saluran melalui /channelplay" +setting_11 : "â‰ī¸ Apa Ini?\n\n1) Semua Orang: Siapa saja yang hadir di grup ini dapat memutar musik di sini.\n\n2) Hanya Admin: Hanya admin yang dapat memutar musik di grup ini." +setting_12 : "❌ Anda tidak memiliki id saluran yang ditentukan untuk mode saluran. Silakan tentukan dengan /channelplay." +setting_13 : "Tidak dapat mengubah mode putar dalam panggilan group aktif. Harap hentikan obrolan suara terlebih dahulu dengan /stop." +setting_14 : "â‰ī¸ Apa Ini?\n\nSaat diaktifkan, Bot akan segera menghapus perintah yang dijalankannya (/play, /pause, /shuffle, /stop dll).\n\nBot akan membutuhkan hak menghapus pesan admin untuk ini bekerja dengan benar." +setting_15 : "Gagal menyelesaikan peer, Pastikan Anda telah menambahkan bot di saluran Anda dan mempromosikannya sebagai admin.\n\nCoba setel /channelplay lagi.." +setting_16 : "â‰ī¸ Apa Ini?\n\nSaat diaktifkan, Bot akan menyarankan obrolan Anda setiap 1-2 jam tentang perintah bot (Cara menggunakannya, yang merupakan perintah dan banyak hal lainnya) secara acak." + + +set_cb_1 : "Mendapatkan Panel Kualitas Audio..." +set_cb_2 : "Mendapatkan Panel Kualitas Video..." +set_cb_3 : "Mendapatkan Panel Pengguna Auth..." +set_cb_4 : "Mendapatkan Panel Mode Putar..." +set_cb_5 : "Mendapatkan Panel Mode Bersih..." +set_cb_6 : "Menyiapkan perubahan." +set_cb_7 : "Mendapatkan Daftar Pengguna Auth.. TOLONG TUNGGU." +set_cb_8 : "Kembali.." + +# Misc +ustats_1 : "Tidak Ada Statistik Pengguna Ditemukan." +ustats_2 : "Salam!, Anda telah memainkan **{0}** trek sampai sekarang dengan hitungan kekalahan **{1}** kali.\n\n{2} teratas yang dimainkan oleh Anda:\n\n" + +gstats_1 : "Mendapatkan Statistik Global, Ini bisa memakan waktu..." +gstats_2 : "Statistik Tidak Ditemukan." +gstats_3 : "Mendapatkan 10 Teratas Global {0} di bot, Ini bisa memakan waktu lama.." +gstats_4 : "**Total Kueri di Bot:** {0}\n\n{1} telah memainkan **{2}** trek hingga sekarang dengan jumlah **{3}** kali.\n \n**Trek {4} Teratas:**\n" +gstats_5 : "**Top {0} Obrolan {1}:**\n\n" +gstats_6 : "**Pengguna {0} Teratas {1}:**\n\n" +gstats_7 : "Grup obrolan ini telah memainkan **{0}** trek hingga sekarang dengan jumlah **{1}** kali.\n\n{2} teratas dimainkan oleh grup obrolan ini:\n\n" +gstats_8 : "Mendapatkan statistik dan informasi umum Bot.. Ini bisa memakan waktu..." +gstats_9 : "**GLOBAL TOP 10 STATS OF THE BOT**\n\nPilih tombol dari bawah yang ingin Anda periksa statistik globalnya dari server bot." +gstats_10 : "**Statistik Global {0}**\n\nPilih tombol dari bawah yang ingin Anda periksa statistik globalnya dari server bot." +gstats_11 : "**Statistik Umum {0}**\nPilih tombol dari bawah yang ingin Anda periksa statistik globalnya dari server bot.\n\nUntuk memeriksa trek teratas, obrolan, pengguna, dan hal-hal lain, gunakan /gstats " + + +# Play + +#Play Callback +play cb1 : "Ini bukan untukmu! Cari Lagumu Sendiri." +play cb2 : "Mendapatkan Hasil Selanjutnya" + +# Channel Play +cplay_1 : "Anda dapat memutar musik di Channel dari obrolan ini[{0}] ke channel mana pun atau Channdl tertaut obrolan Anda.\n\n**Untuk saluran tertaut:**\n`/{1} linked`\n\n* *Untuk Channel lainnya:**\n`/{1} [ID Channel]`" +cplay_2 : "Obrolan ini tidak memiliki channel tertaut." +cplay_3 : "Channel Ditetapkan ke {0}\n\n__ID Channel__: {1}" +cplay_4 : "Gagal mendapatkan channel.\n\nPastikan Anda telah menambahkan bot di channel Anda dan mempromosikannya sebagai admin.\nEdit atau Ubah channel melalui /channelplay" +cplay_5 : "Hanya Channel yang didukung." +cplay_6 : "Anda harus menjadi **Pemilik** channel[{0}] untuk menghubungkannya dengan grup ini.\n**Pemilik Channel:** @{1}\n\nAtau Anda dapat menautkan grup Anda ke channel itu lalu coba sambungkan dengan `/channelplay linked`" + +#Play +play_1 : "🔄 Memproses permintaan anda... Harap Tunggu!" +play_2 : "**🏷Mode Putar Channel**\n\n🔄 Memproses Kueri... Harap Tunggu!\n**Saluran Tertaut:** {0}" +play_3 : "Gagal Memproses permintaan anda!" +play_4 : "🖇 **Admin Only Play**\nHanya Admin dan Pengguna Auth yang dapat memutar musik di grup ini.\n\nUbah mode melalui /playmode dan jika Anda sudah menjadi admin, muat ulang admincache melalui /admincache" +play_5 : "Gagal memproses file audio.\n\nUkuran File Audio Harus Kurang dari 100 mb" +play_6 : "**Batas Durasi Terlampaui**\n\n**Durasi yang Diizinkan: *{0} menit\n**Durasi yang Diterima:** {1} jam" +play_7 : "Maaf! Bot hanya mengizinkan panggilan video dalam jumlah terbatas karena masalah kelebihan CPU. Banyak obrolan lain menggunakan panggilan video sekarang. Coba beralih ke audio atau coba lagi nanti" +play_8 : "Bukan Ekstensi File Video yang Valid!\n\n**Format yang Didukung:** {0}" +play_9 : "Ukuran File Video Harus Kurang dari 1 GiB" +play_10 : "**Fitur Daftar Putar YouTube**\n\nPilih Mode di mana Anda ingin memutar seluruh Daftar Putar Youtube" +play_11 : "📎Judul: **{0}\n\nâŗDurasi:** {1} Menit" +play_12 : "**Mode Putar Spotify**\n\nDiminta Oleh:- {0}" +play_13 : "**Daftar Putar Apple**\n\nDiminta Oleh:- {0}" +play_14 : "**Tidak dapat memverifikasi URL.**\nBot bertanya-tanya apakah url ini milik salah satu platform berikut: Youtube, AppleMusic, Spotify, Resso, dan Soundcloud.\n\nAnda dapat menggunakan /stream untuk M3u8 atau Remote Links ." +play_15 : "**Live Stream Terdeteksi**\n\nSistem telah mendeteksi tautan trek Anda sebagai streaming langsung. Ingin memutar streaming langsung ?" +play_16 : "Gagal mengambil detail trek. Coba mainkan yang lain." +play_17 : "Tidak dapat memainkan jenis kueri spotify ini!\n\nSaya hanya dapat memutar trek, album, artis, dan daftar putar spotify" +play_18 : "**Tidak Ditemukan Obrolan Suara Aktif**\n\nUntuk menggunakan force play, harus ada obrolan suara aktif yang terjadi di grup Anda. **Force Play** menghentikan trek yang sedang diputar di obrolan suara dan mulai memutar menelusuri trek secara instan tanpa mengganggu/mengosongkan antrean." + + +#Playlist +playlist_1 : "**Penggunaan:** /play [Nama Musik atau Tautan Youtube atau Balas Audio]\n\nJika Anda ingin memutar Daftar Putar Server Bot! Tekan tombol di bawah." +playlist_2 : "Mendapatkan daftar putar Anda. Harap tunggu" +playlist_3 : "Anda tidak memiliki playlist di Server Bot." +playlist_4 : "Daftar Putar yang Diambil:\n\n" +playlist_5 : "Durasi- {0} Menit" +playlist_6 : "Hubungi saya di PM untuk penghapusan Daftar Putar." +playlist_7 : "Tracks Inside Playlist: {0}\n\nTekan Tombol untuk menghapus trek tertentu di playlist Anda.\n\nUntuk menghapus seluruh playlist: Tekan tombol Del Whole Playlist." +playlist_8 : "Sudah Ada\n\nTrek ini ada di daftar putar Anda." +playlist_9 : "Maaf! Anda hanya dapat memiliki {0} musik di daftar putar." +playlist_10 : "Playlist Addition\n\n{0}\nadded to your playlist." +playlist_11 : "Berhasil menghapus trek Anda." +playlist_12 : "Gagal menghapus trek Anda." +playlist_13 : "Menghapus seluruh daftar putar Anda dari server." +playlist_14 : "**Yakin ingin menghapus seluruh daftar putar?**\n\nAnda akan kehilangan daftar putar dan ini tidak dapat dipulihkan nanti." +playlist_15 : "[Periksa Seluruh Daftar Putar]({0})" +playlist_16 : "Daftar Putar Antri:" +playlist_17 : "Posisi Antrian-" +playlist_18 : "[Checkout Whole Queued Playlist]({0})\n\nPosisi Antrian Terakhir : **{1}**" + +#Playmode +playmode_1 : "Pilih mode di mana Anda ingin memainkan kueri di dalam grup Anda[{0}]." +playmode_2 : "Setelan diubah dan berhasil disimpan oleh {0}" + +#Stream +str_1 : "Harap Berikan Link M3u8 atau Link Indeks." +str_2 : "✅ Aliran Valid Terverifikasi\n\nHarap tunggu memproses tautan.." +str_3 : "Tidak dapat melakukan streaming streaming langsung youtube. Format Langsung Tidak Ditemukan" + +#TopPlay +track_1 : "**Memproses {0} Daftar Putar 10 Teratas**\nIni bisa memakan waktu beberapa menit (sekitar 3-4 menit).. Harap Tunggu...\n\n**👤Diminta Oleh:** {1}\ n\nPeriksa 10 lagu teratas menurut /gstats" +track_2 : "**Error**\n\nTidak ada **{0} Top 10 Playlist** di server bot. Silakan coba playlist lain" + +# TOOLS + +#Lyrics +lyrics_1 : "**Penggunaan:**\n\n/lirik [ Nama Musik]" +lyrics_2 : "Mencari Lirik" +lyrics_3 : "❌ Gagal mengambil lirik😞.\n\n💡**Mencoba Mencari:** {0}" +lyrics_4 : "Klik tombol di bawah ini dan cari lirik untuk menghindari pencarian lirik jenis spam yang panjang." + +#Ping +ping_1 : "Pong!!!!" +ping_2 : "{0} berfungsi baik dengan ping `{1}` md.\n\nWaktu aktif bot adalah {2} dan telah menggunakan total {3} penyimpanan server. Beban CPU sekitar {4} dengan konsumsi {5} Ram. Klien Py-Tgcalls juga memiliki ping `{6}` ms yang bagus." + + +# Song +song_1 : "Anda dapat mengunduh Musik atau Video dari YouTube hanya dalam obrolan pribadi. Silakan mulai saya dalam obrolan pribadi." +song_2 : "**Penggunaan:**\n\n/song [Nama Musik] atau [Tautan YouTube]" +song_3 : "Live Link Detected. Saya tidak bisa mendownload video live youtube." +song_4 : "**🔗Title:**- {0}\n\nPilih jenis yang ingin Anda unduh." +song_5 : "Bukan Tautan Youtube yang valid" +song_6 : "Mendapatkan Format.. \n\nMohon Tunggu.." +song_7 : "Gagal mendapatkan format yang tersedia untuk video. Silakan coba trek lain." +song_8 : "Pengunduhan Dimulai\n\nKecepatan pengunduhan mungkin lambat. Harap tunggu.." +song_9 : "Gagal mendownload lagu dari Youtube-DL\n\n**Alasan:** {0}" +song_10 : "Gagal mengunggah telegram dari server." +song_11 : "Pengunggahan Dimulai\n\nKecepatan pengunggahan mungkin lambat. Harap tunggu sebentar.." + +# Tools - Queue +queue_1 : "Mohon Tunggu..Mengambil Antrian.." +queue_2 : "Daftar Antrian kosong. Tidak ada trek yang ditemukan" +queue_3 : "**Trek Antrian:** [Lihat Trek Antrian Lainnya Dari Sini]({0})" +queue_4 : "âŗ Ditambahkan ke Antrian di **#{0}\n\n💡Judul:** {1}\n⏰**Durasi:** {2}\n👤**Ditambahkan Oleh:** {3}" +queue_5 : "Hanya satu track di dalam antrian, Silahkan tambahkan lagi untuk check list" + +# All Streaming Lines +stream_1 : "⚡ **Memulai Streaming** 💡\n\n👤**Diminta Oleh:** {0}\nđŸ”Ļ**Informasi: **[Di Sini]({1})" +stream_2 : "⚡ **Memulai Streaming melalui URL ** \n\n👤**Diminta Oleh:** {0}" +stream_3 : "⚡ **Memulai Streaming** 💡\n\n**🏷Judul:** {0}\nâŒ›ī¸**Durasi**: {1}\n👤**Diminta Oleh:** {2} " +stream_4 : "⚡ **Memulai Streaming** \n\n**🏷Judul:** [{0}]({1})\nâŒ›ī¸**Durasi**: {2}\n👤**Diminta Oleh:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 Tutup" +CLOSEMENU_BUTTON : "🗑 Tutup Menu" +BACK_BUTTON : "âŦ… Kembali" +UNBAN_BUTTON : "🗑 Unban Asisten" + +#Lyrics +L_B_1 : "🚀 Lihat Lirik Sekarang" + +# Start +S_B_1 : "🗒 Perintah" +S_B_2 : "🔧 Pengaturan" +S_B_3 : "đŸ‘Ĩ Group" +S_B_4 : "⚡ Channel" +S_B_5 : "✚ Tambahkan ke Group" +S_B_6 : "⚡ Repository" +S_B_7 : "👨‍đŸ’ģ Pemilik Bot" +S_B_8 : "🔎 Menu Perintah." + +#Help +H_B_1 : "Perintah Admin" +H_B_2 : "Mainkan Perintah" +H_B_3 : "Perintah Bot" +H_B_4 : "Perintah Ekstra" +H_B_5 : "Tutup Menu" +H_B_6 : "Perintah SudoUser" + +#PlayMode +PM_B_1 : "Putar Langsung" +PM_B_2 : "Markup Sebaris" +PM_B_3 : "ChannelPlay" + +#Play +P_B_1 : "đŸŽĩ Putar Audio" +P_B_2 : "đŸŽĨ Putar Video" +P_B_3 : "đŸŽ™ī¸ Mulai Streaming" +P_B_4 : "đŸ’ŋ Putar Playlist" + +#Playlist +PL_B_1 : "🚀 Putar Playlist" +PL_B_2 : "✚ Daftar Putar" +PL_B_3 : "✚ Tambahan" +PL_B_4 : "📡 Mode Putar" +PL_B_5 : "🔄 Hapus Semua Daftar Putar" +PL_B_6 : "â†—ī¸ Hapus Daftar Putar" +PL_B_7 : "â—ī¸ Ya, saya yakin" +PL_B_8 : "đŸ”ĸ Mainkan Top 10" +PL_B_9 : "🤖 Mainkan Top 10 Global" +PL_B_10 : "🏘 10 Top Group Play" +PL_B_11 : "👤 Mainkan Top 10 Pribadi" + +#Settings +ST_B_1 : "🔊 Kualitas Suara" +ST_B_2 : "đŸŽĨ Kualitas Video" +ST_B_3 : "🎩 Pengguna Auth" +ST_B_4 : "📱 Dasboard" +ST_B_5 : "â–ļī¸ Mode Putar" +ST_B_6 : "đŸŗī¸â€đŸŒˆ Bahasa" +ST_B_7 : "🔄 Mode Bersih" +ST_B_8 : "{0} Audio Kualitas Rendah" +ST_B_9 : "{0} Audio Kualitas Sedang" +ST_B_10 : "{0} Audio Berkualitas Tinggi" +ST_B_11 : "{0} Video Kualitas Rendah" +ST_B_12 : "{0} Video Kualitas Sedang" +ST_B_13 : "{0} Video Kualitas Tinggi" +ST_B_14 : "✅ Diaktifkan" +ST_B_15 : "❌ Nonaktif" +ST_B_16 : "👤 Admin" +ST_B_17 : "đŸ‘Ĩ Semuanya" +ST_B_18 : "📋 Daftar Auth" +ST_B_19 : "🔎 Mode Pencarian" +ST_B_20 : "✅ Langsung" +ST_B_21 : "✅ Sebaris" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Perintah Admin" +ST_B_23 : "🏘 Grup" +ST_B_24 : "🏷 Saluran" +ST_B_25 : "đŸ•šī¸ Jenis Permainan" +ST_B_26 : "🗑 Perintah Bersih" +ST_B_27 : "🧑‍🚀 Mode Saran" + +#Song +SG_B_1 : "â†—ī¸ Buka Obrolan Pribadi" +SG_B_2 : "🔊 Audio" +SG_B_3 : "đŸŽĨ Video" + +#Stats +SA_B_1 : "đŸ“ĸ 10 Obrolan Teratas" +SA_B_2 : "đŸ”ĸ 10 Lagu Teratas" +SA_B_3 : "🧛 10 Pengguna Teratas" +SA_B_4 : "🏷 10 Top Disini" +SA_B_5 : "💡 Keseluruhan" +SA_B_6 : "👤 Stats Pengguna" +SA_B_7 : "đŸ”ĸ 10 Stats Top Global" +SA_B_8 : "🤖 Stats Bot" + +#Queue +QU_B_1 : "đŸ’Ŋ Daftar Antrian" +QU_B_2 : "Dimainkan {0} dari {1} Menit" + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} sudah menjadi pengguna sudo." +sudo_2 : "Ditambahkan *{0}** ke Pengguna Sudo." +sudo_3 : "Bukan bagian dari Sudo Bot." +sudo_4 : "Dihapus dari Pengguna Sudo Bot" +sudo_5 : "👑 **Pemilik:**\n" +sudo_6 : "\n👨‍🚀 **Pengguna Sudo:**\n" +sudo_7 : "Tidak Ada Pengguna Sudo" + +#Block +block_1 : "{0} sudah diblokir dari bot." +block_2 : "Menambahkan **{0}** ke Daftar Blokir bot. Pengguna tidak akan dapat menggunakan bot sekarang dalam kondisi apa pun.\n\nPeriksa pengguna yang diblokir: /blockedusers" +block_3 : "User sudah bebas dan tidak diblokir." +block_4 : "Menghapus Pengguna dari daftar blokir. Pengguna akan dapat menggunakan bot sekarang." +block_5 : "Tidak Ada Pengguna yang Diblokir Ditemukan" +block_6 : "Mendapatkan Daftar Pengguna yang Diblokir.. Harap Tunggu" +block_7 : "**Pengguna yang Diblokir:**\n\n" + +#Blacklist Chats +black_1 : "**Penggunaan:**\n/blacklistchat [CHAT_ID]" +black_2 : "Obrolan sudah masuk daftar hitam." +black_3 : "Obrolan telah berhasil masuk daftar hitam" +black_4 : "**Penggunaan:**\n/whitelistchat [CHAT_ID]" +black_5 : "Obrolan sudah masuk daftar putih." +black_6 : "Obrolan telah berhasil masuk daftar putih" +black_7 : "**Obrolan yang Masuk Daftar Hitam:**\n\n" +black_8 : "Tidak Ada Obrolan Daftar Hitam" + +#videolimit +vid_1 : "**Penggunaan:**\n/set_video_limit [Jumlah obrolan yang diizinkan] atau [Nonaktifkan]" +vid_2 : "Silakan Gunakan Angka Numerik untuk Menetapkan Batas." +vid_3 : "Batas Maksimum Panggilan Video Ditetapkan untuk {0} Obrolan." +vid_4 : "Panggilan Video Dinonaktifkan" + +#maintenance +maint_1 : "**Penggunaan:**\n/pemeliharaan [aktifkan|nonaktifkan]" +maint_2 : "Diaktifkan untuk Pemeliharaan" +maint_3 : "Mode Pemeliharaan Dinonaktifkan" + +#log +log_1 : "**Penggunaan:**\n/logger [aktifkan|nonaktifkan]" +log_2 : "Logging Diaktifkan" +log_3 : "Logging Dinonaktifkan" + +#videomode +vidmode_1 : "**Penggunaan:**\n/videomode [unduh|m3u8]" +vidmode_2 : "Mode Putar Video disetel sebagai downloder. Bot akan mengunduh trek sekarang." +vidmode_3 : "Mode Putar Video ditetapkan sebagai m3u8. Bot akan memutar trek secara langsung sekarang." + +#broadcast +broad_1 : "**Broadcast {0} Obrolan dengan {1} Pin dari Bot.**" +broad_2 : "Memulai Siaran Asisten..." +broad_3 : "**Siaran Asisten:**\n\n" +broad_4 : "Asisten {0} Disiarkan di {1} obrolan\n" +broad_5 : "**Penggunaan**:\n/siarkan [PESAN] atau [Balas Pesan]" +broad_6 : "Harap berikan beberapa teks untuk disiarkan." +broad_7 : "**Broadcast {0} Pengguna.**" + +#Heroku +heroku_1 : "Pastikan Heroku API Key Anda, Nama Aplikasi Anda dikonfigurasi dengan benar di heroku" +heroku_2 : "Anda hanya bisa mendapatkan log dari Aplikasi Heroku" +heroku_3 : "**Penggunaan:**\n/get_var [Nama Var]" +heroku_4 : "Tidak dapat menemukan var seperti itu." +heroku_5 : ".env file tidak ditemukan." +heroku_6 : "**Penggunaan:**\n/del_var [Nama Var]" +heroku_7 : "{0} Dihapus." +heroku_8 : "**Penggunaan:**\n/set_var [Var Name] [Var Value]" +heroku_9 : "{0} telah berhasil diperbarui" +heroku_10 : "{0} telah berhasil ditambahkan" +heroku_11 : "Hanya untuk Aplikasi Heroku" +heroku_12 : "Memeriksa Penggunaan Heroku. Mohon Tunggu" +heroku_13 : "Memeriksa pembaruan yang tersedia..." +heroku_14 : "Kesalahan Perintah Git" +heroku_15 : "Repositori Git Tidak Valid" + +#Private bot mode +pbot_1 : "**Penggunaan:**\n/otorisasi [CHAT_ID]" +pbot_2 : "**Penggunaan:**\n/batalkan otorisasi [CHAT_ID]" +pbot_3 : "Menambahkan obrolan yang diberikan ke daftar resmi" +pbot_4 : "Menghapus obrolan yang diberikan dari daftar resmi" +pbot_5 : "Obrolan sudah ada di daftar yang diotorisasi" +pbot_6 : "Tidak ada obrolan seperti itu di daftar resmi" +pbot_7 : "Gagal memverifikasi chat_id.\n\nPastikan numerik dan dalam format yang benar. Jangan gunakan nama pengguna atau tautan obrolan." +pbot_8 : "Mohon tunggu.... Mengambil Obrolan Resmi." +pbot_9 : "**Obrolan yang Diambil:**\n\n" +pbot_10 : "Obrolan Pribadi" +pbot_11 : "Tidak ditemukan Obrolan Resmi" +pbot_12 : "Mode Bot Pribadi dinonaktifkan.\n\nUntuk menggunakan bot Anda sebagai bot pribadi, pastikan untuk menyetel **PRIVATE_BOT_MODE** = **Benar**" +pbot_13 : "\n**Obrolan Tidak Diambil:**\n\n" + + +#Gbanned +gban_1 : "Lu mau gban diri sendiri? Tolol!" +gban_2 : "Haruskah saya memblokir diri saya sendiri? Lol" +gban_3 : "Anda ingin memblokir pengguna sudo?" +gban_4 : "{0} sudah **gbanned** dari bot." +gban_5 : "**Menginisialisasi Larangan Global pada {0}**\n\nWaktu yang Diharapkan : {1}." +gban_6 : "**Berhasil Dibanned**\n\nBanned **{0}** dari **{1}** chat." +gban_7 : "{0} belum **gbanned **belum dari bot." +gban_8 : "**Membatalkan pemblokiran {0}**\n\nWaktu yang Diharapkan : {1}." +gban_9 : "**UnGbanned Berhasil**\n\nUnbanned **{0}** di **{1}** chat." +gban_10 : "Tidak Ditemukan Pengguna yang Di-Gban." +gban_11 : "Harap tunggu sebentar.. Mengambil daftar pengguna Gbanned" + +#Suggestions +sug_0 : "❓**Tahukah Anda?**\n\n✅ " +sug_1 : "Anda dapat memutar musik dalam dua **mode pencarian** yaitu Mode Langsung dan Mode Sebaris.\n\nUbah mode melalui /playmode" +sug_2 : "Anda dapat memutar musik dalam dua **jenis pemutaran** yaitu Mode Semua Orang dan Mode Admin.\n\nUbah mode melalui /playmode" +sug_3 : "Anda juga dapat memutar musik di **channels**.\n\nSetel channel_id melalui /channelplay dan putar melalui /cplay " +sug_4 : "Non Admin juga dapat menggunakan perintah admin dengan menambahkannya ke** AUTH USERS LIST**. \nTambahkan pengguna mana pun ke daftar auth dengan /auth , hapus dengan /unauth dan periksa pengguna auth melalui /authusers" +sug_5 : "Bot memiliki fitur yang disebut **Clean Mode**.\nIni menghapus pesan bot setelah 5 Menit dan memastikan bahwa obrolan Anda tetap bersih.\n\nAktifkan atau nonaktifkan mode bersih dari /settings [__Diaktifkan secara default__]" +sug_6 : "Kamu juga bisa memutar lagu dan daftar putar **Spotify**.\n\nMulai mainkan sekarang dengan /play [Tautan Spotify]" +sug_7 : "Anda juga dapat memutar lagu dan daftar putar **Apple Music**.\n\nMulai mainkan sekarang dengan /play [Apple Link]" +sug_8 : "Anda juga dapat memutar **Musik Resso** trek dan daftar putar.\n\nMulai putar sekarang dengan /play [Resso Link]" +sug_9 : "Kamu juga bisa memutar lagu dan playlist **Sound Cloud**.\n\nMulai mainkan sekarang dengan /play [SoundCloud Link]" +sug_10 : "Anda dapat memutar **Video** dalam obrolan suara melalui /vplay [Nama Video] atau /play -v [Nama Video]" +sug_11 : "Anda dapat menyetel **Kualitas Audio** obrolan suara ke Rendah, Sedang, atau Tinggi.\n\nMenyetel kualitas melalui /settings" +sug_12 : "Anda dapat menyetel **Kualitas Video** obrolan suara ke Rendah, Sedang, atau Tinggi.\n\nMenyetel kualitas melalui /settings" +sug_13 : "Anda dapat memeriksa **Statistik** Anda di bot seperti 10 Lagu Teratas yang Diputar.\n\nDapatkan Statistik: /gstats " +sug_14 : "Anda dapat memeriksa **Statistik Grup** di bot seperti 10 Lagu Teratas yang Diputar.\n\nDapatkan Statistik: /gstats " +sug_15 : "Anda dapat memeriksa **Statistik Global** bot seperti 10 pengguna teratas, 10 obrolan teratas, 10 trek teratas, dll.\n\nPeriksa Statistik: /gstats " +sug_16 : "Sekarang Anda dapat membisukan musik yang diputar di obrolan suara.\n\nPerintah: /mute" +sug_17 : "Sekarang Anda dapat mengaktifkan dan menonaktifkan musik yang diputar di obrolan suara.\n\nPerintah: /mute dan /unmute" +sug_18 : "Anda juga dapat mencari lirik musik bersama kami..\n\nPerintah: /lyrics [Nama Musik]" +sug_19 : "Anda dapat mengunduh musik atau video dari bot melalui Youtube.\n\nPerintah: /song [Nama Musik]" +sug_20 : "Anda bisa mendapatkan daftar lengkap perintah saya yang saya terima.\n\nPerintah: /help" +sug_21 : "Bot memiliki opsi daftar putar sisi server.\n\nAnda dapat menambahkan musik di daftar putar Anda dan memutar semuanya bersama-sama melalui /play" +sug_22 : "Sekarang Anda dapat mengacak musik yang antri di bot.\n\nPerintah: /shuffle" +sug_23 : "Anda dapat memeriksa antrian musik.\n\nPerintah: /queue" +sug_24 : "Anda dapat memeriksa pemilik saya dan pengguna sudo yang mengelola saya.\n\nPerintah: /sudolist" +sug_25 : "Bot memiliki fitur yang disebut **Commands Delete Mode**. Bot ini akan menghapus perintah yang dieksekusi secara otomatis.\n\nAktifkan atau nonaktifkan deletemode dari /settings [__Diaktifkan secara default__]" +sug_26 : "Anda dapat mengubah bahasa bot ke bahasa yang tersedia untuk memudahkan pemahaman.\n\nPerintah: /bahasa" +sug_27 : "Bot memiliki fitur yang disebut **Force Play**.\n\n**Force Play** menghentikan trek yang sedang diputar di obrolan suara dan mulai memutar trek yang dicari secara instan tanpa mengganggu/mengosongkan antrean.\n\nPerintah: / kekuatan bermain" diff --git a/strings/langs/si.yml b/strings/langs/si.yml new file mode 100644 index 0000000000000000000000000000000000000000..61d7e4dddf1dae10f33d6665535de8708cf10612 --- /dev/null +++ b/strings/langs/si.yml @@ -0,0 +1,429 @@ +name : 🇱🇰 Sinhala + +# General Strings +general_1 : "āļ´āļģ⎒⎁⎓āļŊāļš āļ´āļĢ⎒⎀⎒āļŠāļēāļšāļ§ āļ´āˇ’⎅⎒āļ­āˇ”āļģ⎔ āļ¯āˇ™āļąāˇŠāļą āˇ„āˇ /user_id āļ´āļģ⎒⎁⎓āļŊāļš āļąāˇāļ¸āļē āļ¯āˇ™āļąāˇŠāļą." +general_2 : "āļ¯āˇāˇ‚āļēāļšāˇŠ! ⎀⎒āļ°āˇāļąāļē⎚ ⎀⎐āļģāļ¯āˇ’ āļˇāˇāˇ€āˇ’āļ­āļēāļšāˇŠ āˇƒāˇ’āļ¯āˇ”⎀⎒āļē" +general_3 : "āļ”āļļāļœāˇš ⎀⎒āļ¸āˇƒāˇ”āļ¸ āˇƒāļšāˇƒāļą āļ…āļ­āļģāļ­āˇ”āļģ **⎀⎐āļģāļ¯āˇŠāļ¯āļšāˇŠ ⎀⎒āļē.\n\n⎀⎐āļģāļ¯āˇ’ ⎀āļģ⎊āļœāļē:- {0}" +general_4 : "āļ”āļļ āļ¸āˇ™āļ¸ āļšāļĢ⎊āļŠāˇāļēāļ¸ āˇƒāļ¸āˇ–⎄āļē⎚ āļąāˇ’āļģ⎊āļąāˇāļ¸āˇ’āļš āļ´āļģ⎒āļ´āˇāļŊāļšāļē⎙āļšāˇ’!\nāļ´āļģ⎒āļ´āˇāļŊāļš āļ…āļē⎒āļ­āˇ’āˇ€āˇāˇƒāˇ’āļšāļ¸āˇŠ ⎀⎙āļ­āˇ’āļąāˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļœāˇ’āļĢ⎔āļ¸ āˇ€āˇ™āļ­ āļ†āļ´āˇƒāˇ” āļēāļąāˇŠāļą." +general_5 : "āļ¸āˇ™āļ¸ āļšāˇŠâ€āļģ⎒āļēāˇāˇ€ āˇƒāˇ’āļ¯āˇ” āļšāˇ’āļģ⎓āļ¸āļ§ āļ”āļļ ⎄āļŦ āļšāļĢ⎊āļŠāˇāļēāļ¸ āļšāˇ…āļ¸āļąāˇ āļšāˇ’āļģ⎓āļ¸āˇš ⎄⎒āļ¸āˇ’āļšāļ¸āˇŠ āˇƒāˇ„āˇ’āļ­ āļ´āļģ⎒āļ´āˇāļŊāļš āˇ€āˇ’āļē āļē⎔āļ­āˇ”āļē." +general_6 : "āļļ⎜āļ§āˇŠ ⎄āļŦ āļšāļĢ⎊āļŠāˇāļēāļ¸ āļ¸āļ­ āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē āļąāˇœāˇ€āˇš." + +# Classes - Telegram.py +tg_1 : "Bot āļ¯āˇāļąāˇŠ āļļāˇāļœāˇāļąāˇ“āļ¸āˇŠ ⎃āļ¸āļŸ **āļ•⎀āļģ⎊āļŊāˇāļŠāˇŠ**.\n\n** āļ´āˇƒāˇ”⎀ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą:** {0} (__āļ…āļ´āˇšāļšāˇŠāˇ‚⎒āļ­ āļšāˇāļŊāļē__)" +tg_2 : "āļ§āˇ™āļŊ⎒āļœāˇŠâ€āļģ⎐āļ¸āˇŠ ⎀āļŊ⎒āļąāˇŠ āļ¸āˇāļ°āˇŠâ€āļē āļļāˇāļœāˇāļąāˇ“āļ¸ āļ…āˇƒāˇāļģ⎊āļŽāļš āˇ€āˇ’āļē." + +# Core - Call.py +call_1 : "Bot ⎄āļ§ āļ”āļļāļœāˇš āļąāˇāļŊ⎒āļšāˇāˇ€āļ§ āˇƒāˇ„āļšāˇāļģ āļœāˇ’āļĢ⎔āļ¸āļ§ āļ†āļģāˇāļ°āļąāˇ āļšāˇ’āļģ⎓āļ¸āļ§ **āļ´āļģ⎒āļ´āˇāļŊāļš** āļ…āˇ€āˇƒāļģāļē āļ…āˇ€āˇāˇŠâ€āļēāļē⎒.\n\n: /playmode ⎄āļģāˇ„āˇ āļąāˇāļŊ⎒āļšāˇ ⎃āļ‚āļœāˇ’āļ­ āļ´āˇŠâ€āļģāļšāˇāļģāļē āļ…āļļāļŊ āļšāļģāļąāˇŠāļą" +call_2 : "āˇƒāˇ„āļšāļģ⎔ āļ”āļļ⎚ ⎃āļ¸āˇ–⎄āļē⎚ āˇ„āˇ āļąāˇāļŊ⎒āļšāˇāˇ€āˇš āļ­āˇ„āļąāļ¸āˇŠ āļšāļģ āļ‡āļ­, āļšāļģ⎔āļĢāˇāļšāļģ āļ­āˇ„āļąāļ¸āˇŠ āļąāˇœāļšāļģāļąāˇŠāļą.\n\n**āˇƒāˇ„āˇāļēāļš āļ´āļģ⎒⎁⎓āļŊāļš āļąāˇāļ¸āļē:** @{0}\n**āˇƒāˇ„āˇāļēāļš āˇ„āˇāļŗāˇ”āļąāˇ”āļ¸āˇŠāļ´āļ­:** {1}" +call_3 : "āļ”āļļāļœāˇš āļšāļĢ⎊āļŠāˇāļēāļ¸ āˇ€āˇ™āļ­ āˇƒāˇ„āļšāˇāļģ āļœāˇ’āļĢ⎔āļ¸āļ§ āļ†āļģāˇāļ°āļąāˇ āļšāˇ’āļģ⎓āļ¸āˇšāļ¯āˇ“ ⎀⎐āļģāļ¯āˇ’ āˇƒāˇ’āļ¯āˇ” ⎀⎒āļē.\n\n**āˇ„āˇšāļ­āˇ”⎀**: {0}" +call_4 : "Bot ⎄āļ§ **Link ⎄āļģāˇ„āˇ āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠāļ§ āļ†āļģāˇāļ°āļąāˇ āļšāļģāļąāˇŠāļą** āļ”āļļāļœāˇš āļšāļĢ⎊āļŠāˇāļēāļ¸ āļšāļĢ⎊āļŠāˇāļēāļ¸āļ§ āˇƒāˇ„āļšāˇāļģ āļœāˇ’āļĢ⎔āļ¸āļ§ āļ†āļģāˇāļ°āļąāˇ āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇ€āˇƒāļģāļē āļ…āˇ€āˇāˇŠâ€āļē āˇ€āˇš." +call_5 : "āˇƒāˇ„āļšāˇāļģ āļœāˇ’āļĢ⎔āļ¸ āļ­āļ­āˇŠāļ´āļģ 5 āļšāˇ’āļąāˇŠ ⎃āļ¸āˇŠāļļāļąāˇŠāļ° āˇ€āļąāˇ” āļ‡āļ­..āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą!" +call_6 : "āˇƒāˇ„āļšāˇāļģ āļœāˇ’āļĢ⎔āļ¸[{0}] āˇƒāˇāļģ⎊āļŽāļšāˇ€ ⎃āļ¸āˇŠāļļāļąāˇŠāļ° āˇ€āˇ’āļē.\n\n⎃āļ‚āļœāˇ“āļ­āļē āļ¯āˇāļąāˇŠ āļ†āļģāļ¸āˇŠāļˇ āļšāļģāļ¸āˇ’āļąāˇŠ" +call_7 : "**āˇ„āˇāļąāˇ’āļšāļģ āļ´āļģ⎒āļ´āˇāļŊāļš āļ…āļē⎒āļ­āˇ’āļē āļŊāļļāˇ āļ¯āˇ“ āļ‡āļ­ **\n\nāļšāļģ⎔āļĢāˇāļšāļģ āļļ⎜āļ§āˇŠ āļœāˇ™āļąāˇŠ **BAN USERS** āļ…āļē⎒āļ­āˇ“āļąāˇŠ āļ‰āˇ€āļ­āˇŠ āļšāļģāļąāˇŠāļą." +call_8 : "**āˇ„āˇāļąāˇ’āļšāļģ āļ´āļģ⎒āļ´āˇāļŊāļš āļ…āļē⎒āļ­āˇ’āļē āļŊāļļāˇ āļ¯āˇ“ āļ‡āļ­ **\n\nāļšāļģ⎔āļĢāˇāļšāļģ āļļ⎜āļ§āˇŠ āļœāˇ™āļąāˇŠ **ADD NEW ADMINS** āļ…āļē⎒āļ­āˇ“āļąāˇŠ āļ‰āˇ€āļ­āˇŠ āļšāļģāļąāˇŠāļą." +call_9 : "**⎃āļ‚āļœāˇ’āļ­āļēāˇŠâ€ āļ¸āˇāļģ⎔ āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē**\nāļšāļģ⎔āļĢāˇāļšāļģ āļąāˇāˇ€āļ­ āˇƒāļ‚āļœāˇ’āļ­āļē ⎀⎙āļąāˇƒāˇŠ āļšāˇ’āļģ⎓āļ¸āļ§ /skip āļˇāˇāˇ€āˇ’āļ­āˇ āļšāļģāļąāˇŠāļą." +call_10 : "⎃āļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀⎙āļąāˇŠ āļ¸āˇ“⎅āļŸ āļ›āļĢ⎊āļŠāļē āļļāˇāļœāˇāļąāˇ“āļ¸" +call_11 : "Please add @{0} to your channel[ ID: {1}].\n\nBot is not able to get channel details." + + +# PLUGINS - Auth.py +auth_1 : "āļ”āļļāļ§ āļ”āļļ⎚ ⎃āļ¸āˇ–⎄āļē⎚ āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš (AUL) āˇƒāˇ’āļ§āˇ’āļē ⎄⎐āļšāˇŠāļšāˇš āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠ 20āļšāˇŠ āļ´āļ¸āļĢ⎒." +auth_2 : "āļ”āļļāļœāˇš ⎃āļ¸āˇ–⎄āļē⎚ āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļ§ āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇ“." +auth_3 : "āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ‡āļ­." +auth_4 : "āļ¸āˇ™āļ¸ āˇƒāļ¸āˇ–⎄āļē⎚ āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀⎙āļąāˇŠ āļ‰āˇ€āļ­āˇŠ āļšāļģāļą āļŊāļ¯āˇ“." +auth_5 : "āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļšāļē⎙āļšāˇŠ āļąāˇœāˇ€āˇš." +auth_6 : "āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ... āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą" +auth_7 : "**āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀[AUL]:**\n\n" +auth_8 : "┗ āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇŠāļ¯āˇš:-" + +# PLUGINS - Admins +admin_1 : "⎃āļ‚āļœāˇ“āļ­āļē āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ ⎀⎒āļģāˇāļ¸ āļšāļģ āļ‡āļ­." +admin_2 : "🎧 ⎃āļ‚āļœāˇ“āļ­āļē ⎀⎒āļģāˇāļ¸ āļšāļģāļą āļšāļģāļą āļŊāļ¯āˇŠāļ¯āˇš {}!" +admin_3 : "⎃āļ‚āļœāˇ“āļ­āļē āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļąāˇāˇ€āļ­ āļ†āļģāļ¸āˇŠāļˇ āļšāļģ āļ‡āļ­." +admin_4 : "🎧 ⎃āļ‚āļœāˇ“āļ­āļē āļąāˇāˇ€āļ­ āļ†āļģāļ¸āˇŠāļˇ āļšāˇ…āˇš {}!" +admin_5 : "⎃āļ‚āļœāˇ“āļ­āļē āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļąāˇ’⎄āļŦ āļšāļģ āļ‡āļ­." +admin_6 : "đŸŽ§āˇƒāļ‚āļœāˇ“āļ­āļē āˇ€āˇ’āˇƒāˇ’āļąāˇŠ āļąāˇ’⎄āļŦ āļšāˇ’āļģ⎓āļ¸ āļ‰āˇ€āļ­āˇŠ āļšāļģāļą āļŊāļ¯āˇ“ {}!" +admin_7 : "⎃āļ‚āļœāˇ“āļ­āļē āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļąāˇ’⎄āļŦ āļšāļģ āļ‡āļ­." +admin_8 : "🎧 ⎃āļ‚āļœāˇ“āļ­āļē āļąāˇ’⎄āļŦ āļšāˇ’āļģ⎓āļ¸ āļ‰āˇ€āļ­āˇŠ āļšāļģāļą āļŊāļ¯āˇ“ {}!" +admin_9 : "🎧 ⎃āļ‚āļœāˇ“āļ­āļē āļ…āˇ€āˇƒāļąāˇŠ/āļąāˇ€āļ­āˇŠāˇ€āˇ āļ‡āļ­ {}!" +admin_10 : "đŸŽ§āˇƒāļ‚āļœāˇ“āļ­āļē āļ¸āļŸ āˇ„āˇāļģ⎔āļĢ⎒ {}!. āļ´āˇāļŊ⎒āļ¸āˇš āļ­āˇ€āļ­āˇŠ ⎃āļ‚āļœāˇ“āļ­āļēāļšāˇŠ āļąāˇāļ­." +admin_11 : "āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē ⎀⎙āļąāˇƒāˇŠ āļšāˇ’āļģ⎓āļ¸āˇšāļ¯āˇ“ āļ¯āˇāˇ‚āļēāļšāˇ’**{0}**\n\nāļšāļģ⎔āļĢāˇāļšāļģ āļąāˇāˇ€āļ­ āļˇāˇāˇ€āˇ’āļ­āˇ āļšāļģāļąāˇŠāļą /skip." +admin_12 : "⎃āļļāļŊ āļšāļģ āļ‡āļ­āˇ’ āļŊ⎖āļ´āˇŠ āˇ€āˇāļ¯āļąāļē āļąāˇ’āˇƒāˇ āļąāˇ’āˇāˇŠāļ āˇ’āļ­ āˇƒāļ‚āļœāˇ’āļ­ āļ´āļŽāļēāļšāļ§ āļēāˇāļ¸āļ§ āļąāˇœāˇ„⎐āļšāˇ’ ⎀⎒āļē. āļ¸āˇ™āļ¸ āˇ€āˇ’āˇāˇšāˇ‚āˇāļ‚āļœāļē āļˇāˇāˇ€āˇ’āļ­āˇ āļšāˇ’āļģ⎓āļ¸āļ§ āļšāļģ⎔āļĢāˇāļšāļģ `/loop disable` ⎄āļģāˇ„āˇ āļŊ⎖āļ´āˇŠ āˇ€āˇāļ¯āļąāļē āļ…āļļāļŊ āļšāļģāļąāˇŠāļą." +admin_13 : "āļšāļģ⎔āļĢāˇāļšāļģ 1, 2 āˇ„āˇ 4 ⎀⎐āļąāˇ’ āļąāˇ’āˇāˇŠāļ āˇ’āļ­ āˇƒāļ‚āļœāˇ’āļ­ āļ´āļŽ āˇƒāļŗāˇ„āˇ ⎃āļ‚āļ›āˇŠâ€āļēāˇāļ­āˇŠāļ¸āļš āļ…āļ‚āļš āļˇāˇāˇ€āˇ’āļ­ āļšāļģāļąāˇŠāļą" +admin_14 : "āļąāˇ’āˇāˇŠāļ āˇ’āļ­ āļ…āļ‚āļšāļēāļšāļ§ āļēāˇāļ¸āļ§ āļ´āˇāļŊ⎒āļ¸āˇš āļ…⎀āļ¸ āˇ€āˇāļē⎙āļąāˇŠ āļ´āˇ“āļŊ⎒ 2āļšāˇŠ āļ…āˇ€āˇāˇŠâ€āļē āˇ€āˇš. /queue āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą" +admin_15 : "āļ”āļļ āļŊāļļāˇ āļ¯āˇ”āļąāˇŠ āļ…āļœāļē ⎃āļŗāˇ„āˇ āļ´āˇŠâ€āļģāļ¸āˇāļĢ⎀āļ­āˇŠ āļ´āˇ“āļŊ⎒ āļ´āˇāļŊ⎒āļ¸āˇš āļąāˇœāļ¸āˇāļ­. āļšāļģ⎔āļĢāˇāļšāļģ 1 āˇƒāˇ„ {0} āļ…āļ­āļģ āļ…āļ‚āļš āļ­āˇāļģāļąāˇŠāļą " +admin_16 : "āļąāˇ’āˇāˇŠāļ āˇ’āļ­ āˇƒāļ‚āļœāˇ’āļ­ āļ´āļŽāļē ⎀⎙āļ­ āļēāˇāļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē.\n\n⎀āļ¸āˇš āļ´āˇāļŊ⎒āļ¸ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą /queue" +admin_17 : "{0}.. āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą" +admin_18 : "āļ´āļģ⎒āļ´āˇāļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ ⎄āļ¸āˇ” āļąāˇœāˇ€āˇ“āļē\n\nāļšāļģ⎔āļĢāˇāļšāļģ āļ´āļģ⎒āļ´āˇāļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļąāˇāˇ€āļ­ āļ´āˇ–āļģāļĢāļē āļšāļģāļąāˇŠāļą /admincache āˇ„āˇ /reload" +admin_19 : "āļ¸āˇ™āļē āˇƒāˇ’āļ¯āˇ” āļšāˇ’āļģ⎓āļ¸ āˇƒāļŗāˇ„āˇ āļ”āļļ ⎄āļŦ āļšāļĢ⎊āļŠāˇāļēāļ¸ āˇ„āˇ’āļ¸āˇ’āļšāļ¸āˇŠ āļšāˇ…āļ¸āļąāˇāļšāļģāļĢāļē ⎃āļ¸āļŸ āļ´āļģ⎒āļ´āˇāļŊāļš āˇ€āˇ’āļē āļē⎔āļ­āˇ”āļē.\n āļ”āļļ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļ´āļģ⎒āļ´āˇāļŊāļš āļąāļ¸āˇŠ, āļ´āļģ⎒āļ´āˇāļŊāļš āˇ„āˇāļšāˇ’āļŊ⎒āļē ⎄āļģāˇ„āˇ āļąāˇāˇ€āļ­ āļ´āˇ–āļģāļĢāļē āļšāļģāļąāˇŠāļą /admincache " +admin_20 : "āļ´āļģ⎒āļ´āˇāļŊāļš āˇ„āˇāļšāˇ’āļŊ⎒āļē āˇƒāˇāļģ⎊āļŽāļšāˇ€ āļąāˇāˇ€āļ­ āļ´āˇ–āļģāļĢāļē āļšāļģāļą āļŊāļ¯āˇ“." +admin_21 : "āļšāļŊ⎀āļ¸āˇŠ āļšāˇ’āļģ⎓āļ¸āļ§ āļ´āˇāļŊ⎒āļ¸āˇš āļ‡āļ­āˇ”⎅āļ­ āļšāˇ’āˇƒāˇ’āˇ€āļšāˇŠ āļąāˇāļ­" +admin_22 : "āļšāļŊ⎀āļ¸āˇŠ āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āļ´āˇœāˇ„āˇœāˇƒāļ­āˇŠ ⎀⎒āļē.\n\nāļ´āˇāļŊ⎒āļ¸ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą:/queue" +admin_23 : "**{0} āˇ€āˇ’āˇƒāˇ’āļąāˇŠ āļ´āˇāļŊ⎒āļ¸ āļšāļŊ⎀āļ¸āˇŠ āļšāļģāļą āļŊāļ¯āˇ“ **\n\nāļ¸āˇāļģ⎔ āļšāˇ… āļ´āˇāļŊ⎒āļ¸ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą:/queue" +admin_24 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/loop [⎃āļšāˇŠâ€āļģ⎓āļē/āļ…āļļāļŊ āļšāļģāļąāˇŠāļą] āˇ„āˇ [1-10 āļ…āļ­āļģ āļ…āļ‚āļšāļē]\n\n**āļ‹āļ¯āˇāˇ„āļģāļĢāļē:** /loop 5" +admin_25 : "āļŊ⎖āļ´āļē ⎃āļļāļŊ āļšāļģ āļ‡āļ­ {0} ⎃āļ¯āˇ„āˇ**{1}** āˇ€āˇāļģ. Bot āļ¯āˇāļąāˇŠ ⎄āļŦ āļšāļĢ⎊āļŠāˇāļēāļ¸ āļ¸āļ­ āļ¯āˇāļąāļ§ āˇ€āˇāļ¯āļąāļē ⎀āļą āˇƒāļ‚āļœāˇ“āļ­āļē āļąāˇāˇ€āļ­ āļąāˇāˇ€āļ­āļ­āˇŠ āļšāļģāļąāˇ” āļ‡āļ­ **{1}** āˇ€āˇāļģ" +admin_26 : "āļŊ⎖āļ´āˇŠ āˇ€āˇāļ¯āļąāļē ⎃āļŗāˇ„āˇ āļšāļģ⎔āļĢāˇāļšāļģ 1-10 āļ…āļ­āļģ āļ…āļ‚āļš āļˇāˇāˇ€āˇ’āļ­āˇ āļšāļģāļąāˇŠāļą" +admin_27 : "Loop Play āļ…āļļāļŊ āļšāļģ āļ‡āļ­" + +# Bot +# Start +start_1 : "Thanks for having me in {0}.\n{1} is alive.\n\nFor any assistance or help, checkout our support group and channel." +start_2 : "Hello, My name is {0}.\n\nI'm a telegram streaming bot with some useful features. Supporting platforms like Youtube, Spotify, Resso, AppleMusic , Soundcloud etc.\n\nFeel free to add me to your groups." +start_3 : "Welcome To {0}\n\nI don't need any **admin permission** to work ( until asked for ).\n\nAssistant Username:- @{1}\nAssistant ID:- {2}" +start_4 : "{0}'s Owner[{1}] has just joined your chat." +start_5 : "A member of {0}'s Sudo User[{1}] has just joined your chat." +start_6 : "â—ī¸ **Supergroup Needed** â—ī¸\n\nPlease convert your **group** to **supergroup** and then add me back.\n\n**How to make supergroup?**\n✅ Make your group's chat history **visible** once." +start_7 : "**Blacklisted Chat**\n\nYou're chat has been blacklisted by the Bot. Please ask any SudoUser to whitelist chat first. Check [Sudolist from here]({0})" + +# Help +help_1 : "⎀⎐āļŠāˇ’ āˇ€āˇ’āˇƒāˇŠāļ­āļģ ⎃āļŗāˇ„āˇ āļ´āˇ„āļ­ āļļ⎜āļ­āˇŠāļ­āļ¸āˇŠ āļšāˇŠāļŊ⎒āļšāˇŠ āļšāļģāļąāˇŠāļą.\n\nāˇƒāˇ’āļēāļŊ⎔ ⎀⎒āļ°āˇāļąāļēāļąāˇŠ ⎃āļ¸āļŸ āļˇāˇāˇ€āˇ’āļ­āˇ āļšāˇ… ⎄⎐āļš: /" +help_2 : "āļ‹āļ¯āˇ€āˇŠ ⎃āļŗāˇ„āˇ PM ⎀āļŊ⎒āļąāˇŠ āļ¸āˇāˇ€ ⎃āļ¸āˇŠāļļāļąāˇŠāļ° āļšāļģāļœāļąāˇŠāļą." + +# Settings +setting_1 : "âš™ī¸ **Music Bot Settings**\n\n🖇**Group:** {0}\n🔖**Group ID:** `{1}`\n\n💡**Choose the function buttons from below which you want to edit or change.**" +setting_3 : "â‰ī¸ What is This?\n\n1) Direct: Plays search queries directly. Use -v to play videos in direct mode.\n\n2) Inline: Returns Inline Markup Buttons for choosing between video & audio." +setting_4 : "â‰ī¸ What is This?\n\nđŸ‘Ĩ Everyone: Anyone can use admin commands(skip, pause, resume etc) present in this group.\n\n🙍 Admin Only: Only admins and authorized users can use admin commands." +setting_5 : "No Authorized Users Found\n\nYou can allow any non-admin to use my admin commands by /auth and delete by using /unauth" +setting_9 : "â‰ī¸ What is This?\n\nWhen activated, Bot will delete its message after {0} to make your chat clean and clear." +setting_10 : "â‰ī¸ What is This?\n\n1) Group: Plays music in the group where the command is given .\n\n2) Channel: Plays music in the channel you want. Set channel id via /channelplay" +setting_11 : "â‰ī¸ What is This?\n\n1) Everyone: Anyone present in this group can play music here.\n\n2) Admin Only: Only admins can play the music in this group." +setting_12 : "❌ You've no channel id defined for channel mode. Please define with /channelplay." +setting_13 : "Can't change play mode in active group call. Please stop the voice chat first with /stop." +setting_14 : "â‰ī¸ What is This?\n\nWhen activated, Bot will delete its executed commands (/play, /pause, /shuffle, /stop etc) immediately.\n\nBot will be requiring delete messages admin right for this to work properly." +setting_15 : "Failed to resolve peer, Make sure you have added bot in your channel and promoted it as admin.\n\nTry setting /channelplay again.." + +set_cb_1 : "āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē āļ­āļ­āˇŠāļ­āˇŠāˇ€ āļ´āˇāļąāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ..." +set_cb_2 : "⎀⎓āļŠāˇ’āļēāˇ āļ­āļ­āˇŠāļ­āˇŠāˇ€ āļ´āˇāļąāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ..." +set_cb_3 : "⎃āļ­āˇŠâ€āļēāˇāļ´āļą āļ´āļģ⎒⎁⎓āļŊāļš āļ´āˇāļąāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ..." +set_cb_4 : "Play āļ¸āˇāļ¯āˇ’āļŊ⎒ āļ´āˇāļąāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ..." +set_cb_5 : "āļ´āˇ’āļģāˇ’āˇƒāˇ’āļ¯āˇ” āļ¸āˇāļ¯āˇ’āļŊ⎒ āļ´āˇāļąāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ..." +set_cb_6 : "⎀⎙āļąāˇƒāˇŠāļšāļ¸āˇŠ ⎃⎐āļšāˇƒāˇ“āļ¸." +set_cb_7 : "⎃āļ­āˇŠâ€āļēāˇāļ´āļą āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ.. āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą." +set_cb_8 : "āļ†āļ´āˇƒāˇ” āļŊāļļāˇ āļœāˇāļąāˇ“āļ¸.." + +# Misc +ustats_1 : "No User Stats Found." +ustats_2 : "Grettings!, You have played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by you:\n\n" + +gstats_1 : "Getting Global Stats, This could take some time..." +gstats_2 : "No Stats Found." +gstats_3 : "Getting Global Top 10 {0} on the bot, This could take some time.." +gstats_4 : "**Total Queries on Bot:** {0}\n\n{1} has played **{2}** tracks till now with a whopping count of **{3}** times.\n\n**Top {4} Tracks:**\n" +gstats_5 : "**Top {0} Chats of {1}:**\n\n" +gstats_6 : "**Top {0} Users of {1}:**\n\n" +gstats_7 : "This chat group has played **{0}** tracks till now with a whopping count of **{1}** times.\n\nTop {2} played by this chat group:\n\n" +gstats_8 : "Getting Bot's general stats and information.. This could take some time..." +gstats_9 : "**GLOBAL TOP 10 STATS OF THE BOT**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_10 : "**Global Stats of {0}**\n\nSelect the buttons from below for which you want to check global stats from bot's servers." +gstats_11 : "**General Stats of {0}**\nSelect the buttons from below for which you want to check global stats from bot's servers.\n\nTo check top tracks, chats, users and other stuffs, please use /gstats" + + +# Play +#Play Callback +playcb_1 : "āļ¸āˇ™āļē āļ”āļļ ⎃āļŗāˇ„āˇ āļąāˇœāˇ€āˇš! āļ”āļļ⎚āļ¸ āļœāˇ“āļ­āļē ⎃⎜āļēāļąāˇŠāļą." +playcb_2 : "āļŠāˇ…āļŸ āļ´āˇŠâ€āļģāļ­āˇ’āļĩāļŊāļē āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ" + +# Channel Play +cplay_1 : "āļ”āļļāļ§ āļ¸āˇ™āļ¸ āļšāļ­āˇāļļ⎃⎊[{0}] āˇƒāˇ’āļ§ āļ•āļąāˇ‘āļ¸ āļąāˇāļŊ⎒āļšāˇāˇ€āļšāļ§ āˇ„āˇ āļ”āļļ⎚ āļšāļ­āˇāļļ⎃⎊ ⎃āļ¸āˇŠāļļāļąāˇŠāļ°āˇ’āļ­ āļąāˇāļŊ⎒āļšāˇāˇ€āļšāļ§ āļąāˇāļŊ⎒āļšāˇāˇ€āļŊ ⎃āļ‚āļœāˇ“āļ­āļē āˇ€āˇāļ¯āļąāļē āļšāˇ… ⎄⎐āļš.\n\n**⎃āļ¸āˇŠāļļāļąāˇŠāļ°āˇ’āļ­ āļąāˇāļŊ⎒āļšāˇāˇ€ ⎃āļŗāˇ„āˇ:**\n`/{1} ⎃āļļ⎐āļŗāˇ’`\n\n** ⎀⎙āļąāļ­āˇŠ āļ•āļąāˇ‘āļ¸ āļąāˇāļŊ⎒āļšāˇāˇ€āļšāˇŠ ⎃āļŗāˇ„āˇ:**\n`/{1} [Channel ID]`" +cplay_2 : "āļ¸āˇ™āļ¸ āļšāļ­āˇāļļ⎄āļ§ āˇƒāļ¸āˇŠāļļāļąāˇŠāļ°āˇ’āļ­ āļąāˇāļŊ⎒āļšāˇāˇ€āļšāˇŠ āļąāˇœāļ¸āˇāļ­." +cplay_3 : "āļąāˇāļŊ⎒āļšāˇāˇ€ {0}\n\n__Channel ID__: {1} ⎀⎙āļ­ āļ…āļģ⎊āļŽ āļ¯āļšāˇŠāˇ€āˇ āļ‡āļ­" +cplay_4 : "āļąāˇāļŊ⎒āļšāˇāˇ€ āļŊāļļāˇ āļœāˇāļąāˇ“āļ¸āļ§ āļ…āļ´āˇœāˇ„āˇœāˇƒāļ­āˇŠ ⎀⎒āļē.\n\nāļ”āļļ āļ”āļļ⎚ āļąāˇāļŊ⎒āļšāˇāˇ€āļ§ āļļ⎜āļ§āˇŠ āļ‘āļšāˇŠ āļšāļģ āļ‘āļē āļ´āļģ⎒āļ´āˇāļŊāļš āļŊāˇ™āˇƒ āļ‹āˇƒāˇƒāˇŠ āļšāļģ āļ‡āļ­āˇ’ āļļ⎀ āˇƒāˇ„āļ­āˇ’āļš āļšāļģ āļœāļąāˇŠāļą.\n/channelplay ⎄āļģāˇ„āˇ āļąāˇāļŊ⎒āļšāˇāˇ€ ⎀⎙āļąāˇƒāˇŠ āļšāļģāļąāˇŠāļą āˇ„āˇ /playmode ⎄āļģāˇ„āˇ āļąāˇāļŊ⎒āļšāˇ āļ°āˇāˇ€āļą āļ´āˇŠâ€āļģāļšāˇāļģāļē āļ…āļļāļŊ āļšāļģāļąāˇŠāļą" +cplay_5 : "āļąāˇāļŊ⎒āļšāˇ āļ´āļ¸āļĢāļšāˇŠ āˇƒāˇ„āļē āļ¯āļšāˇŠāˇ€āļē⎒." +cplay_6 : "āļ¸āˇ™āļ¸ āļšāļĢ⎊āļŠāˇāļēāļ¸ āˇƒāļ¸āļŸ āˇƒāļ¸āˇŠāļļāļąāˇŠāļ° āˇ€āˇ“āļ¸āļ§ āļ”āļļ āļąāˇāļŊ⎒āļšāˇāˇ€āˇš [{0}] **⎄⎒āļ¸āˇ’āļšāļģ⎔** ⎀⎒āļē āļē⎔āļ­āˇ”āļē.\n**āļąāˇāļŊ⎒āļšāˇāˇ€āˇš ⎄⎒āļ¸āˇ’āļšāļģ⎔:** @{1}\n\n⎀⎒āļšāļŊ⎊āļ´āļēāļšāˇŠ āļŊāˇ™āˇƒ āļ”āļļāļ§ āļ”āļļ⎚ āļšāļĢ⎊āļŠāˇāļēāļ¸ āļ‘āļ¸ āļąāˇāļŊ⎒āļšāˇāˇ€āļ§ āˇƒāļ¸āˇŠāļļāļąāˇŠāļ° āļšāˇ… ⎄⎐āļšāˇ’āļē āļ‰āļąāˇŠāļ´āˇƒāˇ” `/channelplay linked` ⎃āļ¸āļŸ āˇƒāļ¸āˇŠāļļāļąāˇŠāļ° āˇ€āˇ“āļ¸āļ§ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą." + +#Play +play_1 : "🔄 ⎀⎒āļ¸āˇƒāˇ”āļ¸ āˇƒāļšāˇƒāļ¸āˇ’āļąāˇŠ... āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą!" +play_2 : "**🏷āļąāˇāļŊ⎒āļšāˇ āļ´āˇŠāļŊ⎚ āļ¸āˇāļ¯āˇ’āļŊ⎒āļē**\n🔄 ⎀⎒āļ¸āˇƒāˇ”āļ¸ āˇƒāļšāˇƒāļ¸āˇ’āļąāˇŠ... āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą!\n\n**⎃āļ¸āˇŠāļļāļąāˇŠāļ°āˇ’āļ­ āļąāˇāļŊ⎒āļšāˇāˇ€:** {0}" +play_3 : "⎀⎒āļ¸āˇƒāˇ”āļ¸ āˇƒāˇāļšāˇƒāˇ“āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē!" +play_4 : "🖇 **āļ´āļģ⎒āļ´āˇāļŊāļšāļē⎒āļąāˇŠāļ§ āļ´āļ¸āļĢāļšāˇŠ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą**\nāļ¸āˇ™āļ¸ āˇƒāļ¸āˇ–⎄āļē⎚ ⎃āļ‚āļœāˇ“āļ­āļē āˇ€āˇāļ¯āļąāļē āļšāˇ… ⎄⎐āļšāˇŠāļšāˇš āļ´āļģ⎒āļ´āˇāļŊāļšāļē⎒āļąāˇŠāļ§ āˇƒāˇ„ ⎃āļ­āˇŠâ€āļēāˇāļ´āļą āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠāļ§ āļ´āļ¸āļĢ⎒.\n\n/playmode ⎄āļģāˇ„āˇ āļ¸āˇāļ¯āˇ’āļŊ⎒āļē ⎀⎙āļąāˇƒāˇŠ āļšāļģāļąāˇŠāļą āˇƒāˇ„ āļ”āļļ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļ´āļģ⎒āļ´āˇāļŊāļš āļąāļ¸āˇŠ, /admincache ⎄āļģāˇ„āˇ admincache āļąāˇāˇ€āļ­ āļ´āˇ–āļģāļĢāļē āļšāļģāļąāˇŠāļą" +play_5 : "āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē āļœāˇœāļąāˇ”⎀ ⎃⎐āļšāˇƒāˇ“āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē.\n\nāˇāˇŠâ€āļģāˇ€āˇŠâ€āļē āļœāˇœāļąāˇ” āļ´āˇŠâ€āļģāļ¸āˇāļĢāļē 100 mb āļ§ āˇ€āļŠāˇ āļ…āļŠāˇ” ⎀⎒āļē āļē⎔āļ­āˇ”āļē" +play_6 : "**āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€ āļ‰āļšāˇŠāļ¸āˇ€āļą āļŊāļ¯āˇ“**\n\n**āļ…āˇ€āˇƒāļģ āļŊāļ­āˇŠ āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€: **{0}āļ¸āˇ’āļąāˇ’āļ­āˇŠāļ­āˇ”(āļē)\n**āļŊ⎐āļļ⎔āļĢ⎔ āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€:** {1}āļ¸āˇ’āļąāˇ’(āļē)" +play_7 : "⎃āļ¸āˇāˇ€āļąāˇŠāļą! CPU āļ…āļ°āˇ’ āļļāļģ āļœāˇāļ§āˇ…⎔ āˇ„āˇšāļ­āˇ”⎀⎙āļąāˇŠ Bot āļ‰āļŠ āļ¯āˇ™āļąāˇŠāļąāˇš āˇƒāˇ“āļ¸āˇ’āļ­ āˇ€āˇ“āļŠāˇ’āļēāˇ āļ‡āļ¸āļ­āˇ”āļ¸āˇŠ āļœāļĢāļąāļšāļ§ āļ´āļ¸āļĢ⎒. ⎀⎙āļąāļ­āˇŠ āļļāˇœāˇ„āˇ āļšāļ­āˇāļļ⎃⎊ āļ¯āˇāļąāˇŠ ⎀⎓āļŠāˇ’āļēāˇ āļ‡āļ¸āļ­āˇ”āļ¸āˇŠ āļˇāˇāˇ€āˇ’āļ­āˇ āļšāļģāļē⎒. āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē ⎀⎙āļ­ āļ¸āˇāļģ⎔ ⎀⎓āļ¸āļ§ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą āˇ„āˇ āļ´āˇƒāˇ”⎀ āļąāˇāˇ€āļ­ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą" +play_8 : "⎀āļŊāļ‚āļœāˇ” ⎀⎓āļŠāˇ’āļēāˇ āļœāˇœāļąāˇ” āļ¯āˇ’āļœāˇ”⎀āļšāˇŠ āļąāˇœāˇ€āˇš!\n\n**āˇƒāˇ„āˇāļē āļ¯āļšāˇŠāˇ€āļą āļ†āļšāˇ˜āļ­āˇ’:** {0}" +play_9 : "⎀⎓āļŠāˇ’āļēāˇ āļœāˇœāļąāˇ” āļ´āˇŠâ€āļģāļ¸āˇāļĢāļē 1 GiB āļ§ āˇ€āļŠāˇ āļ…āļŠāˇ” ⎀⎒āļē āļē⎔āļ­āˇ”āļē" +play_10 : "**Youtube Playlist āˇ€āˇ’āˇāˇšāˇ‚āˇāļ‚āļœāļē**\n\nāļ”āļļāļ§ āˇƒāļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ Youtube Playlist āˇ€āˇāļ¯āļąāļē āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇ€āˇāˇŠâ€āļē āļ¸āˇāļ¯āˇ’āļŊ⎒āļē āļ­āˇāļģāļąāˇŠāļą" +play_11 : "đŸ“Žāˇāˇ“āļģāˇŠāˇ‚āļē: **{0}\n\nâŗāļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€:** {1} Mins" +play_12 : "**Spotify Playlists**\n\nāļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:- {0}" +play_13 : "**Apple Playlists**\n\nāļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:- {0}" +play_14 : "**URL āļ‘āļš āˇƒāļ­āˇŠâ€āļēāˇāļ´āļąāļē āļšāˇ… āļąāˇœāˇ„⎐āļš.**\nāļ¸āˇ™āļ¸ url āļ‘āļš āļ´āˇ„āļ­ āˇƒāļŗāˇ„āļąāˇŠ āļ•āļąāˇ‘āļ¸ āˇ€āˇšāļ¯āˇ’āļšāˇāˇ€āļšāļ§ āļ…āļēāļ­āˇŠ āˇ€āˇšāļ¯ āļēāļąāˇŠāļą āļ´āˇ”āļ¯āˇ”āļ¸āļēāļ§ āļšāļģ⎔āļĢāļšāˇ’: Youtube, AppleMusic, Spotify, Resso āˇƒāˇ„ Soundcloud.\n\nāļ”āļļāļ§ M3u8 āˇ„āˇ āļ¯āˇ”āļģ⎃⎊āļŽ āˇƒāļļ⎐āļŗāˇ’ ⎃āļŗāˇ„āˇ /stream āļˇāˇāˇ€āˇ’āļ­āˇ āļšāˇ… ⎄⎐āļš." +play_15 : "**⎃āļĸ⎓⎀⎓ āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē āļ…āļąāˇāˇ€āļģāļĢāļē āļšāļģ āļ‡āļ­**\nāļ´āļ¯āˇŠāļ°āļ­āˇ’ āļ¸āļŸāˇ’āļąāˇŠ āļ”āļļ⎚ āļ°āˇāˇ€āļą āˇƒāļļ⎐āļŗāˇ’āļē ⎃āļĸ⎓⎀⎓ āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļēāļšāˇŠ āļŊāˇ™āˇƒ ⎄āļŗāˇ”āļąāˇāļœāˇ™āļą āļ‡āļ­. ⎃āļĸ⎓⎀⎓ āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē āļšāˇŠâ€āļģ⎓āļŠāˇ āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇ€āˇāˇŠâ€āļēāļ¯?" +play_16 : "āļ›āļĢ⎊āļŠ āˇ€āˇ’āˇƒāˇŠāļ­āļģ āļŊāļļāˇ āļœāˇāļąāˇ“āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē. ⎀⎙āļąāļ­āˇŠ āļ•āļąāˇ‘āļ¸ āˇƒāˇ™āļŊ⎊āļŊāļ¸āˇŠ āļšāˇ’āļģ⎓āļ¸āļ§ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą." +play_17 : "Unable to play this type of spotify query!\n\nI can only play spotify tracks, albums, artists and playlists" +play_18 : "**No Active Voice Chat Found**\n\nTo use force play, there must be an active voice chat going on in your group. **Force Play** stops the playing track on voice chat and starts playing the searched track instantly without disturbing/clearing queue." + + + +#Playlist +playlist_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:** /play [⎃āļ‚āļœāˇ“āļ­ āļąāˇāļ¸āļē āˇ„āˇ Youtube ⎃āļļ⎐āļŗāˇ’āļē āˇ„āˇ āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē ⎀⎙āļ­ āļ´āˇ’⎅⎒āļ­āˇ”āļģ⎔ āļ¯āˇ™āļąāˇŠāļą]\nāļ”āļļāļ§ Bots Server Playlist āˇ€āˇāļ¯āļąāļē āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇ€āˇāˇŠâ€āļē āļąāļ¸āˇŠ! āļ´āˇ„āļ­ āļļ⎜āļ­āˇŠāļ­āļ¸ āļ”āļļāļąāˇŠāļą." +playlist_2 : "āļ”āļļāļœāˇš āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ. āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą" +playlist_3 : "āļ”āļļāļ§ Bot's Server ⎄⎒ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļšāˇŠ āļąāˇœāļ¸āˇāļ­." +playlist_4 : "āļŊāļļāˇāļœāļ­āˇŠ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀:\n\n" +playlist_5 : "āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€- {0} Mins" +playlist_6 : "āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ” āļ¸āļšāˇ āļ¯āˇāļ¸āˇ“āļ¸ āˇƒāļŗāˇ„āˇ PM ⎄⎒ āļ¸āˇ āļ…āļ¸āļ­āļąāˇŠāļą." +playlist_7 : "āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ‡āļ­āˇ”⎅āļ­ āļ›āļĢ⎊āļŠ: {0}\n\nāļ”āļļ⎚ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ‡āļ­āˇ’ āˇ€āˇ’āˇāˇšāˇ‚āˇ’āļ­ āļ°āˇāˇ€āļą āļ´āļŽāļēāļšāˇŠ āļ¸āˇāļšāˇ“āļ¸āļ§ āļļ⎜āļ­āˇŠāļ­āļ¸āˇŠ āļ”āļļāļąāˇŠāļą.\n\n⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ¸āļšāˇ āļ¯āˇāļ¸āˇ“āļ¸āļ§: Del Whole Playlist āļļ⎜āļ­āˇŠāļ­āļ¸ āļ”āļļāļąāˇŠāļą." +playlist_8 : "āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļ´āˇ€āļ­āˇ“\n\nāļ¸āˇ™āļ¸ āļ°āˇāˇ€āļą āļ´āļŽāļē āļ”āļļāļœāˇš āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ´āˇ€āļ­āˇ“." +playlist_9 : "⎃āļ¸āˇāˇ€āļąāˇŠāļą! āļ”āļļāļ§ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļš āˇƒāļ‚āļœāˇ“āļ­āļē {0}āļšāˇŠ āļ´āļ¸āļĢāļšāˇŠ āļ­āˇ’āļļ⎒āļē ⎄⎐āļš." +playlist_10 : "āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ” āļ‘āļšāļ­āˇ” āļšāˇ’āļģ⎓āļ¸\n\n{0}\nāļ”āļļ⎚ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļ§ āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇ“." +playlist_11 : "āļ”āļļāļœāˇš āļ°āˇāˇ€āļą āļ´āļŽāļē āˇƒāˇāļģ⎊āļŽāļšāˇ€ āļ¸āļšāˇ āļ‡āļ­." +playlist_12 : "āļ”āļļāļœāˇš āļ°āˇāˇ€āļą āļ´āļŽāļē āļ¸āˇāļšāˇ“āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē." +playlist_13 : "āˇƒāˇšāˇ€āˇāļ¯āˇāļēāļšāļē⎙āļąāˇŠ āļ”āļļāļœāˇš ⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ” āļ¸āļšāˇ āļ‡āļ­." +playlist_14 : "**āļ”āļļāļ§ āļ”āļļāļœāˇš ⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ¸āļšāˇ āļ¯āˇāļ¸āˇ“āļ¸āļ§ āļ…āˇ€āˇāˇŠâ€āļē āļļ⎀ āļ”āļļāļ§ āˇ€āˇ’āˇāˇŠāˇ€āˇāˇƒāļ¯?**\n\nāļ”āļļāļœāˇš āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ”āļļāļ§ āļ…⎄⎒āļ¸āˇ’ ⎀āļąāˇ” āļ‡āļ­āˇ’ āļ…āļ­āļģ āļ¸āˇ™āļē āļ´āˇƒāˇ”⎀ āļ´āˇŠâ€āļģāļ­āˇ’āˇƒāˇāļ°āļąāļē āļšāˇ… āļąāˇœāˇ„⎐āļš." +playlist_15 : "[⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą]({0})" +playlist_16 : "āļ´āˇāļŊ⎒āļ¸āˇŠ āˇƒāˇ„āˇ’āļ­ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀:" +playlist_17 : "āļ´āˇāļŊ⎒āļ¸āˇŠ āļ´āˇ’⎄⎒āļ§āˇ“āļ¸ -" +playlist_18 : "[⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āļ´āˇāļŊ⎒āļ¸āˇŠ āˇƒāˇ„āˇ’āļ­ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą]({0})\n\bāļ…āˇ€āˇƒāļąāˇŠ āļ´āˇāļŊ⎒āļ¸āˇŠ ⎃⎊āļŽāˇāļąāļē : **{1}**" + + +#Playmode +playmode_1 : "āļ”āļļāļœāˇš āļšāļĢ⎊āļŠāˇāļēāļ¸ āļ­āˇ”⎅ ⎀⎒āļ¸āˇƒāˇ”āļ¸āˇŠ āˇ€āˇāļ¯āļąāļē āļšāˇ’āļģ⎓āļ¸āļ§ āļ”āļļāļ§ āļ…āˇ€āˇāˇŠâ€āļē āļ¸āˇāļ¯āˇ’āļŊ⎒āļē āļ­āˇāļģāļąāˇŠāļą[{0}]." +playmode_2 : "{0} āˇ€āˇ’āˇƒāˇ’āļąāˇŠ ⎃⎐āļšāˇƒāˇ“āļ¸āˇŠ ⎀⎙āļąāˇƒāˇŠ āļšāļģ āˇƒāˇāļģ⎊āļŽāļšāˇ€ āˇƒāˇ”āļģāļšāˇ’āļą āļŊāļ¯āˇ“ " + +#Stream +str_1 : "āļšāļģ⎔āļĢāˇāļšāļģ M3u8 ⎃āļļ⎐āļŗāˇ’ āˇ„āˇ āļ¯āļģ⎊⎁āļš āˇƒāļļ⎐āļŗāˇ’ ⎃āļ´āļēāļąāˇŠāļą." +str_2 : "✅ ⎀āļŊāļ‚āļœāˇ” āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē ⎃āļ­āˇŠâ€āļēāˇāļ´āļąāļē āļšāļģ āļ‡āļ­\n\nāļšāļģ⎔āļĢāˇāļšāļģ ⎃āļļ⎐āļŗāˇ’āļē ⎃⎐āļšāˇƒāˇ“āļ¸āļ§ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą.." +str_3 : "youtube ⎃āļĸ⎓⎀⎓ āļ´āˇŠâ€āļģāˇ€āˇāˇ„ āļ´āˇŠâ€āļģāˇ€āˇāˇ„ āļšāˇ’āļģ⎓āļ¸āļ§ āļąāˇœāˇ„⎐āļš. ⎃āļĸ⎓⎀⎓ āļ†āļšāˇ˜āļ­āˇ’āļēāļšāˇŠ ⎄āļ¸āˇ” āļąāˇœāˇ€āˇ’āļĢ⎒" + +#TopPlay +tracks_1 : "**Processing {0} Top 10 Playlist**\nThis could take some mins(around 3-4 mins).. Please Wait...\n\n**👤Requested By:** {1}\n\nCheck Top 10 tracks by /stats" +tracks_2 : "**āļ¯āˇāˇ‚āļē**\n\nāļ‘⎄⎙āļ¸ āļąāˇ‘**{0} āļ‰āˇ„⎅āļ¸ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ 10** bot āļœāˇš āˇƒāˇšāˇ€āˇāļ¯āˇāļēāļšāļēāļąāˇŠ āļ¸āļ­. āļšāļģ⎔āļĢāˇāļšāļģ ⎀⎙āļąāļ­āˇŠ āļ°āˇāˇ€āļą āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļšāˇŠ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą" + + +# TOOLS + +#Lyrics +lyrics_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n\n/lyrics [ Music Name]" +lyrics_2 : "āļœāˇ“ āļ´āļ¯ āˇƒāˇœāļēāļ¸āˇ’āļąāˇŠ" +lyrics_3 : "❌ āļ´āļ¯ āļģāļ āļąāļē āļœāˇ™āļą āļ’āļ¸āļ§ āļ…āļ´āˇœāˇ„āˇœāˇƒāļ­āˇŠ ⎀⎒āļē😭.\n\n💡**āˇƒāˇ™āˇ€āˇ“āļ¸āļ§ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāˇ…āˇš:** {0}" +lyrics_5 : +lyrics_4 : "āļ´āˇ„āļ­ āļļ⎜āļ­āˇŠāļ­āļ¸ āļ¸āļ­ āļšāˇŠāļŊ⎒āļšāˇŠ āļšāļģ āļ¯āˇ’āļœāˇ” āļ…āļēāˇāļ āˇ’āļ­ āļ­āˇāļ´āˇāļŊ⎊ ⎀āļģ⎊āļœ āļœāˇ“ āˇƒāˇ™āˇ€āˇ”āļ¸āˇŠ ⎀⎅āļšāˇŠāˇ€āˇ āļœāˇāļąāˇ“āļ¸āļ§ āˇƒāˇ™āˇ€āˇ– āļ´āļ¯ āļŊāļļāˇ āļœāļąāˇŠāļą." + +#Ping +ping_1 : "āļ´āˇœāļ‚!!!!" + +# Song +song_1 : "āļ”āļļāļ§ āļē⎖ āļ§āˇ’āļē⎔āļļ⎊ ⎀⎙āļ­āˇ’āļąāˇŠ ⎃āļ‚āļœāˇ“āļ­āļē āˇ„āˇ ⎀⎓āļŠāˇ’āļēāˇ āļļāˇāļœāļ­ āļšāˇ… ⎄⎐āļšāˇŠāļšāˇš āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļšāļ­āˇāļļ⎃⎊ ⎀āļŊāļ¯āˇ“ āļ´āļ¸āļĢ⎒. āļšāļģ⎔āļĢāˇāļšāļģ āļ¸āˇāˇ€ āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļšāļ­āˇāļļ⎃⎊ ⎀āļŊ⎒āļąāˇŠ āļ†āļģāļ¸āˇŠāļˇ āļšāļģāļąāˇŠāļą." +song_2 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n\n/song [⎃āļ‚āļœāˇ“āļ­ āļąāˇāļ¸āļē] āˇ„āˇ [Youtube Link]" +song_3 : "⎃āļĸ⎓⎀⎓ ⎃āļļ⎐āļŗāˇ’āļē āļ…āļąāˇāˇ€āļģāļĢāļē ⎀⎒āļē. āļ¸āļ§ āˇƒāļĸ⎓⎀⎓ āļē⎖ āļ§āˇ’āļē⎔āļļ⎊ ⎀⎓āļŠāˇ’āļēāˇ āļļāˇāļœāļ­ āļšāˇ… āļąāˇœāˇ„⎐āļš." +song_4 : "**đŸ”—āˇāˇ“āļģāˇŠāˇ‚āļē:**- {0}\n\nāļ”āļļāļ§ āļļāˇāļœāļ­ āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āˇ€āˇāˇŠâ€āļē ⎀āļģ⎊āļœāļē āļ­āˇāļģāļąāˇŠāļą." +song_5 : "⎀āļŊāļ‚āļœāˇ” Youtube ⎃āļļ⎐āļŗāˇ’āļēāļšāˇŠ āļąāˇœāˇ€āˇš" +song_6 : "āļ†āļšāˇ˜āļ­āˇ’ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ.. \n\nāļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą.." +song_7 : "⎀⎓āļŠāˇ’āļēāˇāˇ€ ⎃āļŗāˇ„āˇ āļ´āˇ€āļ­āˇ’āļą āļ†āļšāˇ˜āļ­āˇ’ āļŊāļļāˇ āļœāˇāļąāˇ“āļ¸āļ§ āļ…āˇƒāļ¸āļ­āˇŠ ⎀⎒āļē. āļšāļģ⎔āļĢāˇāļšāļģ ⎀⎙āļąāļ­āˇŠ āļ•āļąāˇ‘āļ¸ āļ°āˇāˇ€āļą āļ´āļŽāļēāļšāˇŠ āļ‹āļ­āˇŠāˇƒāˇāˇ„ āļšāļģāļąāˇŠāļą." +song_8 : "āļļāˇāļœāļ­ āļšāˇ’āļģ⎓āļ¸ āļ†āļģāļ¸āˇŠāļˇ āˇ€āˇ’āļē\n\nāļļāˇāļœāļ­ āļšāˇ’āļģ⎓āļ¸āˇš āˇ€āˇšāļœāļē āļ¸āļąāˇŠāļ¯āļœāˇāļ¸āˇ“ ⎀⎒āļē ⎄⎐āļš. āļšāļģ⎔āļĢāˇāļšāļģ āļ‰āļąāˇŠāļą.." +song_9 : "Youtube-DL ⎀⎙āļ­āˇ’āļąāˇŠ āļœāˇ“āļ­āļē āļļāˇāļœāļ­ āļšāˇ’āļģ⎓āļ¸ āļ…āˇƒāˇāļģ⎊āļŽāļš āˇ€āˇ’āļē\n\n**āˇ„āˇšāļ­āˇ”⎀:** {0}" +song_10 : "āˇƒāˇšāˇ€āˇāļ¯āˇāļēāļš āˇ€āˇ™āļ­āˇ’āļąāˇŠ āļ§āˇ™āļŊ⎒āļœāˇŠâ€āļģ⎐āļ¸āˇŠ āļ‹āļŠāˇ”āļœāļ­ āļšāˇ’āļģ⎓āļ¸ āļ…āˇƒāˇāļģ⎊āļŽāļš āˇ€āˇ’āļē." +song_11 : "āļ‹āļŠāˇ”āļœāļ­ āļšāˇ’āļģ⎓āļ¸ āļ†āļģāļ¸āˇŠāļˇ āļšāļģ āļ‡āļ­\n\nāļ‹āļŠāˇ”āļœāļ­ āļšāˇ’āļģ⎓āļ¸āˇš āˇ€āˇšāļœāļē āļ¸āļąāˇŠāļ¯āļœāˇāļ¸āˇ“ ⎀⎒āļē ⎄⎐āļš. āļšāļģ⎔āļĢāˇāļšāļģ āļ‰āļąāˇŠāļą.." + +# Tools - Queue +queue_1 : "āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą.. āļ´āˇāļŊ⎒āļ¸ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ.." +queue_2 : "āļ´āˇāļŊ⎒āļ¸āˇš āļ‡āļ­āˇ”⎅āļ­ āļ´āˇ“āļŊ⎒ āļąāˇāļ­." +queue_3 : "**āļ´āˇāļŊ⎒āļ¸āˇŠ āļ´āˇ“āļŊ⎒:** [āļ¸āˇ™āļ­āˇāļąāˇ’āļąāˇŠ āļ­āˇ€āļ­āˇŠ āļ´āˇāļŊ⎒āļ¸āˇŠ āˇƒāˇ„āˇ’āļ­ āļ´āˇ“āļŊ⎒ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą]({0})" +queue_4 : "âŗ āļ´āˇāļŊ⎒āļ¸āļ§ āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇ“ **#{0}\n\nđŸ’Ąāˇāˇ“āļģāˇŠāˇ‚āļē:** {1}\n**⏱āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€:** {2}\n👤**āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇŠāļ¯āˇš:** {3}" + +# All Streaming Lines +stream_1 : "📡 **⎃āļ‚āļœāˇ’āļ­āļē āļ†āļģāļ¸āˇŠāļˇ āˇ€āˇ’āļē** 💡\n\n👤**āļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:** {0}\nđŸ”Ļ**āˇ€āˇ’āˇƒāˇŠāļ­āļģ: **[Here]({1})" +stream_2 : "📡 **⎃āļ‚āļœāˇ’āļ­āļē āļ†āļģāļ¸āˇŠāļˇ āˇ€āˇ’āļē URL ⎄āļģāˇ„āˇ ** 💡\n\n👤**āļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:** {0}" +stream_3 : "📡 **⎃āļ‚āļœāˇ’āļ­āļē āļ†āļģāļ¸āˇŠāļˇ āˇ€āˇ’āļē** 💡\n\n**đŸˇāˇāˇ“āļģāˇŠāˇ‚āļē:** {0}\nâŒ›ī¸**āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€**: {1}\n👤**āļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:** {2}" +stream_4 : "📡 **⎃āļ‚āļœāˇ’āļ­āļē āļ†āļģāļ¸āˇŠāļˇ āˇ€āˇ’āļē** 💡\n\n**đŸˇāˇāˇ“āļģāˇŠāˇ‚āļē:** [{0}]({1})\nâŒ›ī¸**āļšāˇāļŊ āˇƒāˇ“āļ¸āˇāˇ€**: {2}\n👤**āļ‰āļŊ⎊āļŊāļą āļŊāļ¯āˇŠāļ¯āˇš:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 āˇ€āˇƒāļąāˇŠāļą" +CLOSEMENU_BUTTON : "🗑 āļ¸āˇ™āļąāˇ”⎀ āˇ€āˇƒāļąāˇŠāļą" +BACK_BUTTON : "âŦ… āļ†āļ´āˇƒāˇ”" +UNBAN_BUTTON : "🗑 āˇƒāˇ„āļšāļģ⎔āļœāˇš āļ­āˇ„āļąāļ¸ āļ‰āˇ€āļ­āˇŠ āļšāļģāļąāˇŠāļą" + +#Lyrics +L_B_1 : "🚀 āļ¯āˇāļąāˇŠ āļ´āļ¯ āļģāļ āļąāļē āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą" + +# Start +S_B_1 : "🗒 ⎀⎒āļ°āˇāļą" +S_B_2 : "🔧 ⎃⎐āļšāˇƒāˇ”āļ¸āˇŠ" +S_B_3 : "📨 āˇƒāˇ„āˇāļē" +S_B_4 : "📨 āļąāˇāļŊ⎒āļšāˇāˇ€" +S_B_5 : "✚ āļ¸āˇāˇ€ āļ”āļēāˇāļœāˇš ⎃āļ¸āˇ”⎄āļēāļ§ āļ‘āļšāļ§ āļ‘āļšāļ­āˇ” āļšāļģāļąāˇŠāļą" +S_B_6 : "💡 āļœāˇ’āļ§āˇŠ āļģ⎒āļ´āˇœāˇ€" +S_B_7 : "👤 āļļ⎜āļ§āˇŠ ⎄⎒āļ¸āˇ’āļšāļģ⎔" +S_B_8 : "đŸ”Žāˇ€āˇ’āļ°āˇāļą āļ¸āˇ™āļąāˇ”⎀ " + +#Help +H_B_1 : "āļ´āļģ⎒āļ´āˇāļŊāļš āˇ€āˇ’āļ°āˇāļą" +H_B_2 : "āˇ€āˇāļ¯āļą āˇ€āˇ’āļ°āˇāļą" +H_B_3 : "āļļ⎜āļ§āˇŠ ⎀⎒āļ°āˇāļą" +H_B_4 : "āļ…āļ¸āļ­āļģ ⎀⎒āļ°āˇāļą" +H_B_5 : "āļ¸āˇ™āļąāˇ”⎀ āˇ€āˇƒāļąāˇŠāļą" +H_B_6 : "SudoUser Commands" + +#PlayMode +PM_B_1 : "⎃⎘āļĸ⎔⎀ āˇ€āˇāļ¯āļąāļē" +PM_B_2 : "āļ´āˇ„āļŊ āļ´āˇ™āļŊ āļ”āˇƒāˇŠāˇƒāˇš" +PM_B_3 : "āļąāˇāļŊ⎒āļšāˇ āˇ€āˇāļ¯āļąāļē" + +#Play +P_B_1 : "đŸŽĩ āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" +P_B_2 : "đŸŽĨ ⎀⎓āļŠāˇ’āļēāˇ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" +P_B_3 : "🏮 ⎃āļĸ⎓⎀⎓ āļ´āˇŠâ€āļģāˇ€āˇāˇ„āļē āļ†āļģāļ¸āˇŠāļˇ āļšāļģāļąāˇŠāļą" +P_B_4 : "đŸŽĩ ⎃āļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" + +#Playlist +PL_B_1 : "🚀 ⎃āļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą " +PL_B_2 : "✚ ⎃āļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”" +PL_B_3 : "✚ āļ…āļ¸āļ­āļģ" +PL_B_4 : "📡 āˇ€āˇāļ¯āļą āļ†āļšāļģāļē" +PL_B_5 : "🔄 ⎃āļ¸āˇŠāļ´āˇ–āļģ⎊āļĢ āˇƒāļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ¸āļšāļąāˇŠāļą" +PL_B_6 : "â†—ī¸ ⎃āļ‚āļœāˇ’āļ­ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļ¸āļšāļąāˇŠāļą" +PL_B_7 : "â—ī¸ āļ”āˇ€āˇŠ āļ¸āļ§ āˇ€āˇ’āˇāˇŠāˇ€āˇāˇƒāļē⎒. āļ‘āļē āļ¸āļšāļąāˇŠāļą" +PL_B_8 : "đŸ”ĸ āˇ„āˇœāļŗāļ¸ āļœāˇ“āļ­ 10 āļšāˇŠ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" +PL_B_9 : "🤖 āļœāˇœāļŊ⎒āļē āˇ„āˇœāļŗāļ¸ āļœāˇ“āļ­ 10 āļšāˇŠ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" +PL_B_10 : "🏘 ⎃āļ¸āˇ–⎄āļē⎚ āˇ„āˇœāļŗāļ¸ āļœāˇ“āļ­ 10 āļšāˇŠ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" +PL_B_11 : "👤āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āˇ„āˇœāļŗāļ¸ āļœāˇ“āļ­ 10 āļšāˇŠ āˇ€āˇāļ¯āļąāļē āļšāļģāļąāˇŠāļą" + +#Settings +ST_B_1 : "🔊 Aud āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļšāļˇāˇāˇ€āļē" +ST_B_2 : "đŸŽĨ Vid āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļšāļˇāˇāˇ€āļē" +ST_B_3 : "🎩 Aut āļ´āļģ⎒⎁⎓āļŊāļšāļēāļąāˇŠ" +ST_B_4 : "📱āļ‹āļ´āļšāļģāļĢ āļ´āˇ”⎀āļģ⎔⎀" +ST_B_5 : "â–ļī¸ Play Mode" +ST_B_6 : "đŸŗī¸â€đŸŒˆ āļˇāˇāˇ‚āˇāˇ€" +ST_B_7 : "🔄 āļ´āˇ’āļģāˇ’āˇƒāˇ’āļ¯āˇ” āļ¸āˇāļ¯āˇ’āļŊ⎒āļē" +ST_B_8 : "{0} āļ…āļŠāˇ” āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļš āˇāˇŠāļģāˇ€āˇŠāļē āļ‹āļ´āļšāļģāļĢ" +ST_B_9 : "{0} āļ¸āļ°āˇŠâ€āļēāļ¸ āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļš āˇāˇŠâ€āļģāˇ€āˇŠâ€āļē" +ST_B_10 : "{0} āļ‹āˇƒāˇƒāˇŠ āļ­āļ­āˇŠāļ­āˇŠāˇ€āļē⎚ ⎁⎊āļģāˇ€āˇŠāļē āļ‹āļ´āļšāļģāļĢ" +ST_B_11 : "{0} āļ…āļŠāˇ” āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļš āˇ€āˇ“āļŠāˇ’āļēāˇāˇ€āļšāˇŠ" +ST_B_12 : "{0} āļ¸āļ°āˇŠâ€āļēāļ¸ āļœāˇ”āļĢāˇāļ­āˇŠāļ¸āļš āˇ€āˇ“āļŠāˇ’āļēāˇāˇ€" +ST_B_13 : "{0} āļ‹āˇƒāˇƒāˇŠ āļ­āļ­āˇŠāļ­āˇŠāˇ€āļē⎚ ⎀⎓āļŠāˇ’āļēāˇ" +ST_B_14 : "✅ ⎃āļļāļŊ āļšāļģ āļ‡āļ­" +ST_B_15 : "❌ āļ†āļļāˇāļ°āˇ’āļ­āļē⎒" +ST_B_16 : "👤 āļ´āļģ⎒āļ´āˇāļŊāļšāˇ€āļģ⎔" +ST_B_17 : "đŸ‘Ĩ ⎄⎐āļ¸āˇāļ¸" +ST_B_18 : "📋 āļļāļŊāļēāļŊāļ­āˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”" +ST_B_19 : "🔎 āˇƒāˇ™āˇ€āˇ”āļ¸āˇŠ āļ¸āˇāļ¯āˇ’āļŊ⎒āļē" +ST_B_20 : "✅ ⎃⎘āļĸ⎔" +ST_B_21 : "✅ āļ´āˇ™āˇ…āļ§" +ST_B_22 : "đŸ‘¨â€âš–ī¸ Admin Commands" +ST_B_23 : "🏘 ⎃āļ¸āˇ–⎄āļē" +ST_B_24 : "🏷 āļąāˇāļŊ⎒āļšāˇāˇ€" +ST_B_25 : "đŸĢ‚ Play ⎀āļģ⎊āļœāļē" +ST_B_26 : "🗑 ⎀⎒āļ°āˇāļą āļ¸āļšāļąāˇŠāļą" + +#Song +SG_B_1 : "â†—ī¸ āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļšāļ­āˇāļļ⎃⎊ āˇ€āˇ’āˇ€āˇ˜āļ­ āļšāļģāļąāˇŠāļą" +SG_B_2 : "🔊 ⎁⎊āļģāˇ€āˇŠāļē āļ‹āļ´āļšāļģāļĢ" +SG_B_3 : "đŸŽĨ ⎀⎓āļŠāˇ’āļēāˇ" + +#Stats +SA_B_1 : "đŸ“ĸ Top 10 Chat" +SA_B_2 : "đŸ”ĸ Top 10 Tracks" +SA_B_3 : "🧛 Top 10 Users" +SA_B_4 : "🏷 Top 10 Here" +SA_B_5 : "💡 Overall Stats" +SA_B_6 : "👤 User Stats" +SA_B_7 : "đŸ”ĸ Global Top 10 Stats" +SA_B_8 : "🤖 Bot Stats" + + + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} is already a sudo user." +sudo_2 : "Added **{0}** to Sudo Users." +sudo_3 : "Not a part of Bot's Sudo." +sudo_4 : "Removed from Bot's Sudo User" +sudo_5 : "â­ī¸ **Owners:**\n" +sudo_6 : "\nâ­ī¸ **Sudo Users:**\n" +sudo_7 : "No Sudo Users" + +#Block +block_1 : "{0} āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļļ⎜āļ§āˇŠ āļ‘āļšāˇ™āļąāˇŠ āļ…⎀⎄⎒āļģ āļšāļģ āļ‡āļ­." +block_2 : "āļļ⎜āļ§āˇŠ ⎀āļŊ āˇ€āˇāļģāļĢ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļ§ **{0}** āļ‘āļšāļ­āˇ” āļšāļģāļą āļŊāļ¯āˇ“. āļ´āļģ⎒⎁⎓āļŊāļšāļēāˇāļ§ āļ¯āˇāļąāˇŠ āļšāˇ’āˇƒāˇ’āļ¯āˇ” āļšāˇœāļąāˇŠāļ¯āˇšāˇƒāˇ’āļēāļšāˇŠ āļēāļ§āļ­āˇš bot āļˇāˇāˇ€āˇ’āļ­ āļšāˇ’āļģ⎓āļ¸āļ§ āļąāˇœāˇ„⎐āļšāˇ’ ⎀āļąāˇ” āļ‡āļ­.\n\nāļ…⎀⎄⎒āļģ āļšāˇ… āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļąāˇŠāļą: /blockedusers" +block_3 : "āļ´āļģ⎒⎁⎓āļŊāļšāļēāˇ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļąāˇœāļ¸āˇ’āļŊ⎚ āˇƒāˇ„ āļ…⎀⎄⎒āļģ āļšāļģ āļąāˇāļ­." +block_4 : "āļ…⎀⎄⎒āļģ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀⎙āļąāˇŠ āļ´āļģ⎒⎁⎓āļŊāļš āļ‰āˇ€āļ­āˇŠ āļšāļģāļą āļŊāļ¯āˇ“. āļ´āļģ⎒⎁⎓āļŊāļšāļēāˇāļ§ āļ¯āˇāļąāˇŠ āļļ⎜āļ§āˇŠ āļˇāˇāˇ€āˇ’āļ­āˇ āļšāˇ’āļģ⎓āļ¸āļ§ āˇ„āˇāļšāˇ’ ⎀āļąāˇ” āļ‡āļ­." +block_5 : "āļ…⎀⎄⎒āļģ āļšāˇ… āļ´āļģ⎒⎁⎓āļŊāļšāļēāļąāˇŠ ⎄āļ¸āˇ” āļąāˇœāˇ€āˇ“āļē" +block_6 : "āļ…⎀⎄⎒āļģ āļšāˇ… āļ´āļģ⎒⎁⎓āļŊāļš āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀ āļŊāļļāˇ āļœāˇāļąāˇ“āļ¸.. āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą" +block_7 : "**āļ…⎀⎄⎒āļģ āļšāˇ… āļ´āļģ⎒⎁⎓āļŊāļšāļē⎒āļąāˇŠ:**\n\n" + +#Blacklist Chats +black_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/blacklistchat [CHAT_ID]" +black_2 : "āļšāļ­āˇāļļ⎃⎊ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ Blacklisted āļšāļģ āļ‡āļ­." +black_3 : "āļšāļ­āˇāļļ⎃⎊ āˇƒāˇāļģ⎊āļŽāļšāˇ€ Blacklisted āļšāļģ āļ‡āļ­" +black_4 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/whitelistchat [CHAT_ID]" +black_5 : "āļšāļ­āˇāļļ⎃⎊ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āˇƒāˇ”āļ¯āˇ” āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āļœāļ­ āļšāļģ āļ‡āļ­." +black_6 : "āļšāļ­āˇāļļ⎃⎊ āˇƒāˇāļģ⎊āļŽāļšāˇ€ āˇƒāˇ”āļ¯āˇ” āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āļœāļ­ āļšāļģ āļ‡āļ­" +black_7 : "**Blacklisted āļšāļ­āˇāļļ⎃⎊:**\n\n" +black_8 : "Blacklisted āļšāļ­āˇāļļ⎃⎊ āļąāˇāļ­" + +#videolimit +vid_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/set_video_limit [Number of chats allowed] or [Disable]" +vid_2 : "āˇƒāˇ“āļ¸āˇāˇ€ ⎃⎐āļšāˇƒāˇ“āļ¸ āˇƒāļŗāˇ„āˇ āļšāļģ⎔āļĢāˇāļšāļģ ⎃āļ‚āļ›āˇŠâ€āļēāˇāļ­āˇŠāļ¸āļš āļ…āļ‚āļš āļˇāˇāˇ€āˇ’āļ­āˇ āļšāļģāļąāˇŠāļą." +vid_3 : "⎀⎓āļŠāˇ’āļēāˇ āļ‡āļ¸āļ­āˇ”āļ¸āˇŠ āļ‹āļ´āļģ⎒āļ¸ āˇƒāˇ“āļ¸āˇāˇ€ āļšāļ­āˇāļļ⎃⎊ {0} āļ¯āļšāˇŠāˇ€āˇ āļ…āļģ⎊āļŽ āļ¯āļšāˇŠāˇ€āˇ āļ‡āļ­." +vid_4 : "⎀⎓āļŠāˇ’āļēāˇ āļ‡āļ¸āļ­āˇ”āļ¸āˇŠ āļ…āļļāļŊ āļšāļģ āļ‡āļ­" + +#maintenance +maint_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/maintenance [enable|disable]" +maint_2 : "āļąāļŠāļ­āˇŠāļ­āˇ” āļ¸āˇāļ¯āˇ’āļŊ⎒āļē ⎃⎊āļšāˇŠâ€āļģ⎓āļē āļšāļģ āļ‡āļ­" +maint_3 : "āļąāļŠāļ­āˇŠāļ­āˇ” āļ¸āˇāļ¯āˇ’āļŊ⎒āļē āļ…āļšāˇŠâ€āļģ⎓āļē āļšāļģ āļ‡āļ­" + +#log +log_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/logger [enable|disable]" +log_2 : "Logging ⎃āļšāˇŠâ€āļģ⎓āļē āļšāļģāļą āļŊāļ¯āˇ’" +log_3 : "Logging āļ…āļšāˇŠâ€āļģ⎓āļē āļšāļģāļą āļŊāļ¯āˇ’" + +#videomode +vidmode_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/videomode [download|m3u8]" +vidmode_2 : "⎀⎓āļŠāˇ’āļēāˇ āļ´āˇŠāļŊ⎚ āļ´āˇŠâ€āļģāļšāˇāļģāļē āļļāˇāļœāˇāļąāˇ“āļ¸āˇŠ āļŊāˇ™āˇƒ ⎃āļšāˇƒāˇ āļ‡āļ­. āļļ⎜āļ§āˇŠ āļ¯āˇāļąāˇŠ āļ°āˇāˇ€āļą āļ´āļŽ āļļāˇāļœāļ­ āļšāļģāļąāˇ” āļ‡āļ­." +vidmode_3 : "⎀⎓āļŠāˇ’āļēāˇ āļ´āˇŠāļŊ⎚ āļ¸āˇāļ¯āˇ’āļŊ⎒āļē m3u8 āļŊāˇ™āˇƒ ⎃āļšāˇƒāˇ āļ‡āļ­. Bot āļ¯āˇāļąāˇŠ ⎃āļĸ⎓⎀⎓ āļ°āˇāˇ€āļą āļ´āļŽ āˇ€āļąāˇ” āļ‡āļ­." + +#broadcast +broad_1 : "**Bot ⎀⎙āļ­āˇ’āļąāˇŠ āļ´āˇ’āļąāˇŠ {1}āļšāˇŠ ⎃āļ¸āļŸ {0} āļšāļ­āˇāļļ⎃⎊ āļ­āˇ”⎅ ⎀⎒āļšāˇāˇāļąāļē āļšāˇ… āļ´āļĢ⎒⎀⎒āļŠāļē.**" +broad_2 : "Assistent Broadcast āļ†āļģāļ¸āˇŠāļˇ āļšāļģāļą āļŊāļ¯āˇ“..." +broad_3 : "**Assistant Broadcast:**\n\n" +broad_4 : "Assistant {0} Broadcasted in {1} chats\n" +broad_5 : "**Usage**:\n/broadcast [MESSAGE] or [Reply to a Message]" +broad_6 : "Please provide some text to broadcast." +broad_7 : "**Broadcasted Message to {0} Users.**" + +#Heroku +heroku_1 : "āļšāļģ⎔āļĢāˇāļšāļģ āļ”āļļāļœāˇš Heroku API key, āļ”āļļāļœāˇš āļē⎙āļ¯āˇ”āļ¸āˇš āļąāļ¸ heroku ⎄⎒ āļąāˇ’⎀⎐āļģāļ¯āˇ’⎀ ⎀⎒āļąāˇŠâ€āļēāˇāˇƒ āļšāļģ āļ‡āļ­āˇ’ āļļ⎀āļ§ āˇ€āļœ āļļāļŊāˇ āļœāļąāˇŠāļą" +heroku_2 : "āļ”āļļāļ§ āļŊāļļāˇ āļœāļ­ āˇ„āˇāļšāˇŠāļšāˇš Heroku āļē⎙āļ¯āˇ”āļ¸āˇŠ ⎀āļŊ āļŊ⎜āļœāˇŠ āļ´āļ¸āļĢ⎒" +heroku_3 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/get_var [Var Name]" +heroku_4 : "āļ‘⎀⎐āļąāˇ’ var āļ‘āļšāļšāˇŠ ⎃⎜āļēāˇ āļœāˇāļąāˇ“āļ¸āļ§ āļąāˇœāˇ„⎐āļšāˇ’ ⎀⎒āļē." +heroku_5 : ".env āļœāˇœāļąāˇ”⎀ ⎄āļ¸āˇ” āļąāˇœāˇ€āˇ“āļē." +heroku_6 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/del_var [Var Name]" +heroku_7 : "{0} āļ¸āļšāˇ āļ¯āļ¸āļą āļŊāļ¯āˇ“." +heroku_8 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/set_var [Var Name] [Var Value]" +heroku_9 : "{0} āˇƒāˇāļģ⎊āļŽāļšāˇ€ āļēāˇāˇ€āļ­āˇŠāļšāˇāļŊ⎓āļą āļšāļģ āļ‡āļ­" +heroku_10 : "{0} āˇƒāˇāļģ⎊āļŽāļšāˇ€ āļ‘āļšāļ­āˇ” āļšāļģ āļ‡āļ­" +heroku_11 : "Heroku āļē⎙āļ¯āˇ”āļ¸āˇŠ ⎃āļŗāˇ„āˇ āļ´āļ¸āļĢ⎒" +heroku_12 : "Heroku āļˇāˇāˇ€āˇ’āļ­āļē āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāˇ’āļģ⎓āļ¸. āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą" +heroku_13 : "āļ´āˇ€āļ­āˇ’āļą āļēāˇāˇ€āļ­āˇŠāļšāˇāļŊ⎓āļą āˇƒāļŗāˇ„āˇ āļ´āļģ⎓āļšāˇŠāˇ‚āˇ āļšāļģāļ¸āˇ’āļąāˇŠ..." +heroku_14 : "Git ⎀⎒āļ°āˇāļą āļ¯āˇāˇ‚āļēāļšāˇ’" +heroku_15 : "⎀āļŊāļ‚āļœāˇ” āļąāˇœāˇ€āļą Git āļģ⎒āļ´āˇāˇ€āļšāˇ’." + +#Private bot mode +pbot_1 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/authorize [CHAT_ID]" +pbot_2 : "**āļˇāˇāˇ€āˇ’āļ­āļē:**\n/unauthorize [CHAT_ID]" +pbot_3 : "āļ…āˇ€āˇƒāļģ āļŊāļ­āˇŠ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀āļ§ āļŊāļļāˇ āļ¯āˇ”āļąāˇŠ āļšāļ­āˇāļļ⎃⎊ āļ‘āļšāˇŠ āļšāļģāļą āļŊāļ¯āˇ“" +pbot_4 : "āļ…āˇ€āˇƒāļģ āļŊāļ­āˇŠ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”⎀⎙āļąāˇŠ āļŊāļļāˇ āļ¯āˇ”āļąāˇŠ āļšāļ­āˇāļļ⎃⎊ āļ‰āˇ€āļ­āˇŠ āļšāļģāļą āļŊāļ¯āˇ“" +pbot_5 : "āļšāļ­āˇāļļ⎃⎊ āļ¯āˇāļąāļ§āļ¸āļ­āˇŠ āļļāļŊāļēāļŊāļ­āˇŠ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ‡āļ­" +pbot_6 : "āļļāļŊāļēāļŊāļ­āˇŠ āļŊ⎐āļēāˇ’āˇƒāˇŠāļ­āˇ”āˇ€āˇš āļ‘⎀⎐āļąāˇ’ āļšāļ­āˇāļļ⎄āļšāˇŠ āļąāˇœāļ¸āˇāļ­" +pbot_7 : "chat_id ⎃āļ­āˇŠâ€āļēāˇāļ´āļąāļē āļšāˇ’āļģ⎓āļ¸āļ§ āļ…āļ´āˇœāˇ„āˇœāˇƒāļ­āˇŠ ⎀⎒āļē.\n\nāļ‘⎄⎒ ⎃āļ‚āļ›āˇŠâ€āļēāˇāļ­āˇŠāļ¸āļš āˇƒāˇ„ āļąāˇ’⎀⎐āļģāļ¯āˇ’ āļ†āļšāˇ˜āļ­āˇ’āļē āˇƒāˇ„āļ­āˇ’āļš āļšāļģ āļœāļąāˇŠāļą. āļšāļ­āˇāļļ⎃⎊ āļ´āļģ⎒⎁⎓āļŊāļš āļąāˇāļ¸āļē āˇ„āˇ ⎃āļļ⎐āļŗāˇ’ āļˇāˇāˇ€āˇ’āļ­āˇ āļąāˇœāļšāļģāļąāˇŠāļą." +pbot_8 : "āļšāļģ⎔āļĢāˇāļšāļģ āļģ⎐āļŗāˇ“ āˇƒāˇ’āļ§āˇ’āļąāˇŠāļą.... āļļāļŊāļēāļŊāļ­āˇŠ āļšāļ­āˇāļļ⎃⎊ āļŊāļļāˇ āļœāļąāˇ’āļ¸āˇ’āļąāˇŠ." +pbot_9 : "**āļŊāļļāˇ āļœāļ­āˇŠ āļšāļ­āˇāļļ⎃⎊:**\n\n" +pbot_10 : "āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļšāļ­āˇāļļ⎃⎊" +pbot_11 : "āļ…āˇ€āˇƒāļģ āļŊāļ­āˇŠ āļšāļ­āˇāļļ⎃⎊ ⎄āļ¸āˇ” āļąāˇœāˇ€āˇ“āļē" +pbot_12 : "āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļļ⎜āļ§āˇŠ āļ´āˇŠâ€āļģāļšāˇāļģāļē āļ…āļļāļŊ āļšāļģ āļ‡āļ­.\ āˇƒāˇ„\nāļ”āļļ⎚ āļļ⎜āļ§āˇŠ āļ´āˇ”āļ¯āˇŠāļœāļŊ⎒āļš āļļ⎜āļ§āˇŠ āļŊāˇ™āˇƒ āļˇāˇāˇ€āˇ’āļ­āˇ āļąāˇœāļšāļģāļąāˇŠāļą **PRIVATE_BOT_MODE** = **True** ⎃⎐āļšāˇƒāˇ“āļ¸āļ§ āˇ€āļœ āļļāļŊāˇ āļœāļąāˇŠāļą" +pbot_13 : "\n**āļŊāļļāˇ āļąāˇœāļœāļ­āˇŠ āļšāļ­āˇāļļ⎃⎊:**\n\n" + +#Gbanned +gban_1 : "You want to gban yourself? How Fool!" +gban_2 : "Should i block myself? Lol" +gban_3 : "You want to block a sudo user?" +gban_4 : "{0} is already **gbanned** from the bot." +gban_5 : "**Initializing Gobal Ban on {0}**\n\nExpected Time : {1}." +gban_6 : "**Gbanned Successfully**\n\nBanned **{0}** from **{1}** chats." +gban_7 : "{0} is not **gbanned **yet from the bot." +gban_8 : "**Ungbanning {0}**\n\nExpected Time : {1}." +gban_9 : "**UnGbanned Successfully**\n\nUnbanned **{0}** in **{1}** chats." +gban_10 : "No Gbanned Users Found." +gban_11 : "Please wait a while.. Fetching Gbanned users list" \ No newline at end of file diff --git a/strings/langs/tr.yml b/strings/langs/tr.yml new file mode 100644 index 0000000000000000000000000000000000000000..b52aac465700e27cae44e396c272b083783bd2f8 --- /dev/null +++ b/strings/langs/tr.yml @@ -0,0 +1,417 @@ +name : 🇹🇷 Turkish + +# General Strings +general_1 : "Bir kullanÄącÄąnÄąn mesajÄąnÄą yanÄątlayÄąn veya username/user_id verin." +general_2 : "Hata! Komutun YanlÄąÅŸ KullanÄąmÄą." +general_3 : "Sorgunuz işlenirken bazÄą **istisnalar oluştu**.\n\nİstisna TÃŧrÃŧ:- {0}" +general_4 : "Bu sohbet grubunda isimsiz bir yÃļneticisiniz!\nYÃļnetici HaklarÄąndan KullanÄącÄą HesabÄąna geri dÃļnÃŧn." +general_5 : "Bu eylemi gerçekleştirmek için sesli sohbet haklarÄąna sahip yÃļnetici olmanÄąz gerekir." +general_6 : "Bot sesli sohbette yayÄąn yapmÄąyor." + +# Classes - Telegram.py +tg_1 : "Bot şu anda indirilenlerle **aÅŸÄąrÄą yÃŧklenmiş**.\n\n**Deneme SÃŧresi:** {0} (__beklenen sÃŧre__))" +tg_2 : "Failed to download the media from telegram." + +# Core - Call.py +call_1 : "Bot, asistan hesabÄąnÄą kanalÄąnÄąza davet etmek için **YÃļnetici** İzni gerektirir.\n\nKanal oynatma modunu şununla devre dÄąÅŸÄą bÄąrakÄąn: : /playmode" +call_2 : "Asistan, grubunuz veya kanalÄąnÄązda yasaklanmÄąÅŸ, lÃŧtfen yasağı kaldÄąrÄąn.\n\n**Asistan KullanÄącÄą AdÄą:** @{0}\n**Asistan Kimliği:** {1}" +call_3 : "Asistan HesabÄąnÄą sohbetinize davet ederken İstisna Oluştu.\n\n**Nedeni**: {0}" +call_4 : "Bot, asistan hesabÄąnÄą sohbet grubunuza davet etmek için **KullanÄącÄąlarÄą BağlantÄą Yoluyla Davet Et** İzni gerektirir." +call_5 : "Asistan HesabÄą 5 Saniye içinde katÄąlacak.. LÃŧtfen Bekleyin!" +call_6 : "Asistan HesabÄą[{0}] BaşarÄąyla KatÄąldÄą.\n\nMÃŧzik Şimdi BaşlatÄąlÄąyor" +call_7 : "**ZararlÄą YÃļnetici HakkÄą Verildi **\n\nLÃŧtfen ** KULLANICILARI YASAK** haklarÄąnÄą bottan kaldÄąrÄąn." +call_8 : "**ZararlÄą YÃļnetici HakkÄą Verildi **\n\nLÃŧtfen bottan **YENİ YÖNETİCİLER EKLE** haklarÄąnÄą kaldÄąrÄąn." +call_9 : "**YayÄąn değiştirilemedi**\nParçayÄą tekrar değiştirmek için /skip butonunu kullanÄąn." +call_10 : "Oynatma Listesinden Sonraki ParçayÄą İndirme" + +# PLUGINS - Auth.py +auth_1 : "Grubunuzun Yetkili KullanÄącÄąlar Listesinde yalnÄązca 20 KullanÄącÄąnÄąz olabilir (AUL)" +auth_2 : "Grubunuzun Yetkili KullanÄącÄąlar Listesine Eklendi." +auth_3 : "Zaten Yetkili KullanÄącÄąlar Listesinde." +auth_4 : "Bu Grubun Yetkili KullanÄącÄąlar Listesinden KaldÄąrÄąldÄą." +auth_5 : "Hedeflenen kullanÄącÄą Yetkili KullanÄącÄą değil." +auth_6 : "Yetkili KullanÄącÄąlar AlÄąnÄąyor... LÃŧtfen Bekleyin" +auth_7 : "**Yetkili KullanÄącÄąlar Listesi[AUL]:**\n\n" +auth_8 : "┗ TarafÄąndan eklendi:-" + +# PLUGINS - Admins +admin_1 : "MÃŧzik zaten DuraklatÄąldÄą." +admin_2 : "🎧 Sesli Sohbet DuraklatÄąldÄą {}!" +admin_3 : "MÃŧzik zaten yeniden başlatÄąldÄą." +admin_4 : "🎧 Sesli Sohbeti SÃŧrdÃŧren {}!" +admin_5 : "MÃŧziğin sesi zaten kapalÄą." +admin_6 : "🎧 Sesli Sohbetin Sesi KapatÄąldÄą {}!" +admin_7 : "MÃŧziğin sesi zaten aÃ§ÄąldÄą." +admin_8 : "🎧 Sesli Sohbetin Sesi AÃ§ÄąldÄą {}!" +admin_9 : "🎧 Sesli Sohbeti Bitiren/Durduran {}!" +admin_10 : "🎧 Sesli Sohbet {} tarafÄąndan atlandÄą!. SÄąrada ArtÄąk MÃŧzik Yok." +admin_11 : "AkÄąÅŸ **{0}** olarak değiştirilirken hata oluştu\n\nLÃŧtfen /skip komutunu tekrar kullanÄąn." +admin_12 : "DÃļngÃŧ çalmanÄąn etkinleştirilmesi nedeniyle belirli bir parçaya geçilemiyor. Bu Ãļzelliği kullanmak için lÃŧtfen dÃļngÃŧsel oynatmayÄą `/loop disable` Ãŧzerinden devre dÄąÅŸÄą bÄąrakÄąn." +admin_13 : "LÃŧtfen 1, 2 veya 4 gibi belirli parçalar için sayÄąsal sayÄąlar kullanÄąn." +admin_14 : "Belirli bir numaraya atlamak için sÄąrada en az 2 parça gerekir. /queue ile sÄąrayÄą kontrol et" +admin_15 : "Verdiğiniz değer için sÄąrada yeterli parça yok. LÃŧtfen 1 ile {0} arasÄąnda bir sayÄą seçin" +admin_16 : "Belirli bir parçaya geçilemedi.\n\nSÄąrayÄą /queue gÃļre kontrol edin" +admin_17 : "{0}.. LÃŧtfen bekleyin" +admin_18 : "YÃļnetici Listesi BulunamadÄą\n\nLÃŧtfen yÃļnetici listesini /admincache veya /reload yoluyla yeniden yÃŧkleyin" +admin_19 : "Bunu gerçekleştirmek için sesli sohbet haklarÄąna sahip yÃļnetici olmanÄąz gerekir.\nZaten yÃļneticiyseniz, /admincache aracÄąlığıyla admincache'i yeniden yÃŧkleyin " +admin_20 : "YÃļnetici Ãļnbelleği başarÄąyla yeniden yÃŧklendi." +admin_21 : "SÄąrada karÄąÅŸtÄąrÄąlacak bir şey yok" +admin_22 : "KarÄąÅŸtÄąrÄąlamadÄą.\n\nSÄąrayÄą kontrol edin: /queue" +admin_23 : "**SÄąra KarÄąÅŸtÄąrÄąldÄą: {0}**\n\nKarÄąÅŸtÄąrÄąlan sÄąrayÄą kontrol edin: /queue" +admin_24 : "**KullanÄąm:**\n/loop [enable/disable] veya [1-10 arasÄą sayÄą]\n\n**Örnek:** /loop 5" +admin_25 : "DÃļngÃŧ, {0} tarafÄąndan **{1}** kez etkinleştirildi. Bot şimdi sesli sohbette çalmakta olan mÃŧziği **{1}** kez tekrarlayacak" +admin_26 : "DÃļngÃŧ oynatma için lÃŧtfen 1-10 arasÄąndaki sayÄąlarÄą kullanÄąn" +admin_27 : "DÃļngÃŧ Oynatma devre dÄąÅŸÄą bÄąrakÄąldÄą" + +# Bot +# Start +start_1 : "Beni {0}'e davet ettiğiniz için teşekkÃŧrler.\n{1} çalÄąÅŸÄąyor.\n\nHerhangi bir yardÄąm için destek grubumuza veya kanalÄąmÄąza gÃļz atÄąn.." +start_2 : "Merhaba, Benim adÄąm {0}.\n\nBazÄą kullanÄąÅŸlÄą Ãļzelliklere sahip bir telegram mÃŧzik botuyum. Youtube, Spotify, Resso, AppleMusic , Soundcloud vb. Destekleyici platformlar\n\nBeni gruplarÄąnÄąza eklemekten çekinmeyin." +start_3 : "Hoş Geldiniz {0}\n\nÇalÄąÅŸmak için herhangi bir **yÃļnetici iznine** ihtiyacÄąm yok ( isteninceye kadar).\n\nAsistan KullanÄącÄą AdÄą:- @{1}\nAsistan Kimliği:- {2}" +start_4 : "{0}'s Owner[{1}] sohbetinize katÄąldÄą." +start_5 : "{0} adlÄą kullanÄącÄąnÄąn Sudo KullanÄącÄąsÄąnÄąn[{1}] bir Ãŧyesi sohbetinize az Ãļnce katÄąldÄą." +start_6 : "â—ī¸ **SÃŧper Grup Gerekli** â—ī¸\n\nLÃŧtfen **grubunuzu** **sÃŧper gruba** dÃļnÃŧştÃŧrÃŧn ve sonra beni tekrar ekleyin.\n\n**Üst grup nasÄąl yapÄąlÄąr?**\n✅ Grubunuzun sohbet geçmişini oluşturun **gÃļrÃŧnÃŧr** yapÄąn Ãļnce." + +# Help +help_1 : "Daha fazla bilgi için aşağıdaki butonlara tÄąklayÄąn. Komutlar ve Ãļğreticileri gÃļrmek istiyorsanÄąz ( botun nasÄąl çalÄąÅŸtığı hakkÄąnda merak edilenler ve her şey ):-\n\nTÃŧm komutlar aşşağıdaki butonlara basarak gÃļrebilirsiniz: /" +help_2 : "YardÄąm için PM'den bana ulaÅŸÄąn." + +# Settings +setting_1 : "âš™ī¸ **MÃŧzik Botu AyarlarÄą**\n\n🖇**Grup:** {0}\n🔖**Grup Kimliği:** `{1}`\n\n💡**Aşağıdan istediğiniz işlev butonlarÄąnÄą seçin dÃŧzenlemek veya değiştirmek için.**" +setting_3 : "â‰ī¸ Bu Nedir?\n\n1) Doğrudan: Arama sorgularÄąnÄą doğrudan oynatÄąr. VideolarÄą doğrudan modda oynatmak için -v kullanÄąn.\n\n2) SatÄąr İçi: Video ve ses arasÄąnda seçim yapmak için SatÄąr İçi İşaretleme DÃŧğmelerini dÃļndÃŧrÃŧr." +setting_4 : "â‰ī¸ Bu Nedir?\n\nđŸ‘Ĩ Herkes: Bu grupta bulunan yÃļnetici komutlarÄąnÄą (skip, pause, resume vb.) herkes kullanabilir.\n\n🙍 YalnÄązca YÃļnetici: YalnÄązca yÃļneticiler ve yetkili kullanÄącÄąlar yÃļnetici komutlarÄąnÄą kullanabilir." +setting_5 : "Yetkili KullanÄącÄą BulunamadÄą\n\nYÃļnetici olmayan herhangi bir kişinin /auth ile yÃļnetici komutlarÄąmÄą kullanmasÄąna ve /unauth kullanarak kullanmamasÄąna izin verebilirsiniz" +setting_9 : "â‰ī¸ Bu Nedir?\n\nEtkinleştirildiğinde Bot, sohbetinizi temiz ve anlaÅŸÄąlÄąr kÄąlmak için {0} tarihinden sonra mesajÄąnÄą siler.." +setting_10 : "â‰ī¸ Bu Nedir?\n\n1) Grup: Komutun verildiği gruptaki mÃŧziği çalar.\n\n2) Kanal: İstediğiniz kanaldaki mÃŧziği çalar. /channelplay ile kanal kimliğini ayarla" +setting_11 : "â‰ī¸ Bu Nedir?\n\n1) Herkes: Bu grupta bulunan herkes burada mÃŧzik çalabilir.\n\n2) YalnÄązca YÃļnetici: Bu gruptaki mÃŧziği yalnÄązca yÃļneticiler çalabilir." +setting_12 : "❌ Kanal modu için tanÄąmlanmÄąÅŸ kanal kimliğiniz yok. LÃŧtfen /channelplay ile tanÄąmlayÄąn." +setting_13 : "Etkin grup aramasÄąnda oynatma modu değiştirilemez. LÃŧtfen Ãļnce /stop ile sesli sohbeti durdurun." +setting_14 : "â‰ī¸ Bu Nedir?\n\nEtkinleştirildiğinde, Bot yÃŧrÃŧtÃŧlen komutlarÄą (/play, /pause, /shuffle, /stop vb.) hemen siler.\n\nBot, bunun dÃŧzgÃŧn çalÄąÅŸmasÄą için admin hakkÄąnÄąn mesajlarÄą sil yetkisi gerektirecektir.." +setting_15 : "Eş çÃļzÃŧmlenemedi, KanalÄąnÄąza bot eklediğinizden ve onu yÃļnetici olarak terfi ettirdiğinizden emin olun.\n\n/channelplay'i tekrar ayarlamayÄą deneyin..." + +set_cb_1 : "Ses Kalitesi Panelini Alma..." +set_cb_2 : "Video Kalitesi Alma Paneli..." +set_cb_3 : "Auth KullanÄącÄąlarÄą Panelini Alma..." +set_cb_4 : "Oynatma Modu Panelini Alma..." +set_cb_5 : "Temizleme Modu Panelini Alma..." +set_cb_6 : "Değişiklikleri Ayarlama." +set_cb_7 : "Auth KullanÄącÄą Listesi AlÄąnÄąyor.. LÜTFEN BEKLEYİNİZ." +set_cb_8 : "Geri alma.." + +# Misc +gstats_1 : "Global İstatistikleri Alma, Bu Biraz Zaman Alabilir..." +gstats_2 : "Global İstatistik BulunamadÄą." +gstats_3 : "**Bot'taki Toplam Sorgu:** {0}\n\n{1}, şu ana kadar **{2}** parça çalmÄąÅŸ ve **{3}** gibi çok sayÄąda parça çalmÄąÅŸtÄąr.\n\n**En İyi {4} Parçalar:**\n" + +ustats_1 : "KullanÄącÄą İstatistikleri BulunamadÄą." +ustats_2 : "Selamlar!, Şimdiye kadar çok sayÄąda **{1}** kez **{0}** parça çaldÄąnÄąz.\n\nEn çok {2} çaldığınÄąz parça:\n\n" + +tops_1 : "Botun Global İlk 10 Sohbetini Alma, Bu biraz zaman alabilir..." +tops_2 : "İstatistik BulunamadÄą" +tops_3 : "**{1}'in En İyi {0} Sohbetleri:**\n\n" +tops_4 : "Botun Global İlk 10 KullanÄącÄąsÄąnÄą Alma, Bu Biraz Zaman Alabilir..." +tops_5 : "**{1}'nin En İyi {0} KullanÄącÄąsÄą:**\n\n" +tops_6 : "Bu Sohbetin En İyi 10 ParçasÄąnÄą Almak, Bu Biraz Zaman Alabilir..." +tops_7 : "Botun Global İlk 10 ParçasÄąnÄą Alma, Bu Biraz Zaman Alabilir..." +tops_8 : "Bu sohbet grubu, şu ana kadar **{1}** defadan fazla sayÄąda **{0}** parça çaldÄą.\n\nBu sohbet grubu tarafÄąndan en çok çalÄąnan {2} parça:\n\n" +tops_9 : "Bot'un Genel İstatistiklerini Ve Bilgilerini Almak.. Bu Biraz Zaman Alabilir..." +tops_10 : "**BOT'UN GLOBAL İSTATİSTİKLERİ**\n\nBot sunucularÄąndan genel istatistikleri kontrol etmek istediğiniz butonlarÄą aşağıdan seçin." + + +# Play +#Play Callback +playcb_1 : "Bu Senin İçin Değil! Kendi ŞarkÄąnÄą Ara." +playcb_2 : "Sonraki Sonucu Alma" + +# Channel Play +cplay_1 : "Bu sohbetteki kanallarda[{0}] herhangi bir kanala veya sohbetinizin bağlantÄąlÄą kanalÄąna mÃŧzik çalabilirsiniz.\n\n**BağlÄą kanal için:**\n`/{1}bağlÄą`\n\n** Diğer herhangi bir kanal için:**\n`/{1} [Kanal Kimliği]`" +cplay_2 : "Bu sohbette bağlantÄąlÄą kanal yok." +cplay_3 : "{0}\n\n__Kanal Kimliği__ ile TanÄąmlanmÄąÅŸ Kanal: {1}" +cplay_4 : "Kanal alÄąnamadÄą.\n\nKanalÄąnÄąza bot eklediğinizden ve onu yÃļnetici olarak terfi ettirdiğinizden emin olun.\nKanalÄą /channelplay ile değiştirin veya /playmode ile kanal oynatma modunu devre dÄąÅŸÄą bÄąrakÄąn" +cplay_5 : "YalnÄązca Kanallar Desteklenir." +cplay_6 : "KanalÄą bu gruba bağlamak için[{0}] kanalÄąn **Sahibi** olmanÄąz gerekir.\n**Kanal Sahibi:** @{1}\n\nAlternatif olarak grubunuzu o kanala bağlayabilirsiniz. ve ardÄąndan `/channelplay bağlantÄąlÄą ile bağlanmayÄą deneyin`" + +#Play +play_1 : "🔄 Sorgu İşleniyor... LÃŧtfen Bekleyin!" +play_2 : "**🏷Kanal Oynatma Modu**\n🔄 Sorgu İşleniyor... LÃŧtfen Bekleyin!\n\n**BağlÄą Kanal:** {0}" +play_3 : "Sorgu İşlenemedi!" +play_4 : "🖇 **YalnÄązca YÃļneticiler OynatÄąr**\nYalnÄązca YÃļneticiler ve Yetkilendirme KullanÄącÄąlarÄą bu grupta mÃŧzik çalabilir.\n\nModu /playmode aracÄąlığıyla değiştirin ve zaten yÃļneticiyseniz, /admincache aracÄąlığıyla admincache'i yeniden yÃŧkleyin" +play_5 : "Ses dosyasÄą işlenemedi.\n\nSes DosyasÄą Boyutu 100 mb'den KÃŧçÃŧk OlmalÄą" +play_6 : "**SÃŧre SÄąnÄąrÄą AÅŸÄąldÄą**\n\n**İzin Verilen SÃŧre: **{0} dakika\n**AlÄąnan SÃŧre:** {1} dakika(s)" +play_7 : "ÜzgÃŧnÃŧm! Bot, CPU aÅŸÄąrÄą yÃŧkleme sorunlarÄą nedeniyle yalnÄązca sÄąnÄąrlÄą sayÄąda gÃļrÃŧntÃŧlÃŧ gÃļrÃŧşmeye izin verir. Diğer birçok sohbet şu anda gÃļrÃŧntÃŧlÃŧ aramayÄą kullanÄąyor. Sese geçmeyi deneyin veya daha sonra tekrar deneyin" +play_8 : "Geçerli Bir Video DosyasÄą UzantÄąsÄą Değil!\n\n**Desteklenen Biçimler:** {0}" +play_9 : "Video Dosya Boyutu 1 GB'den KÃŧçÃŧk OlmalÄą" +play_10 : "**Youtube Oynatma Listesi Özelliği**\n\nYoutube Oynatma Listesinin tamamÄąnÄą oynatmak istediğiniz Modu seçin" +play_11 : "🔘BaşlÄąk: **{0}\n\nâąī¸SÃŧre:** {1} Dakika" +play_12 : "**Spotify Oynatma Listeleri**\n\n👉Talep Eden:- {0}" +play_13 : "**Apple Oynatma Listeleri**\n\n👉Talep Eden:- {0}" +play_14 : "**URL doğrulanamÄąyor.**\nBot, bu url'nin şu platformlardan birine ait olup olmadığınÄą merak ediyor: Youtube, AppleMusic, Spotify, Resso ve Soundcloud.\n\nM3u8 veya Uzak BağlantÄąlar için /stream'i kullanabilirsiniz.." +play_15 : "**CanlÄą YayÄąn AlgÄąlandÄą**\n\nSistemler, stream bağlantÄąnÄązÄą canlÄą yayÄąn olarak algÄąladÄą. CanlÄą yayÄąn oynamak istiyormusunuz ?" +play_16 : "Parça ayrÄąntÄąlarÄą getirilemedi. başka şarkÄą dene." + + +#Playlist +playlist_1 : "**KullanÄąm:** /play [MÃŧzik AdÄą veya Youtube BağlantÄąsÄą veya Sesi YanÄątla]\n\nBot'un Sunucu Oynatma Listesini oynatmak istiyorsanÄąz! Aşağıdaki butona basÄąn." +playlist_2 : "Çalma listeniz alÄąnÄąyor. LÃŧtfen bekleyin" +playlist_3 : "Bot Sunucusunda oynatma listeniz yok." +playlist_4 : "Getirilen Oynatma Listesit:\n\n" +playlist_5 : " SÃŧre - {0} Dakika" +playlist_6 : "Çalma Listelerini silmek için PM'de bana ulaÅŸÄąn." +playlist_7 : "Çalma Listesindeki Parçalar: {0}\n\nÇalma Listenizdeki Belirli Bir ParçayÄą Silmek İçin Butonlara BasÄąn.\n\nTÃŧm Çalma Listesini Silmek İçin: Del Butonuna BasÄąn." +playlist_8 : "Zaten Var\n\nBu parça çalma listenizde var." +playlist_9 : "ÜzgÃŧnÃŧm! Bir oynatma listesinde yalnÄązca {0} mÃŧziğiniz olabilir." +playlist_10 : "Oynatma Listesi Ekleme\n\n{0}\ Oynatma Listenize Eklendi." +playlist_11 : "Listeniz başarÄąyla silindi." +playlist_12 : "Listeniz silinemedi." +playlist_13 : "TÃŧm çalma listelerinizi sunucudan silindi. " +playlist_14 : "**TÃŧm oynatma listenizi silmek istediğinizden emin misiniz?**\n\nOynatma listenizi kaybedeceksiniz ve bu daha sonra kurtarÄąlamaz." +playlist_15 : "[TÃŧm Oynatma Listesini Kontrol Et]({0})" +playlist_16 : "SÄąraya AlÄąnmÄąÅŸ Oynatma Listesi:" +playlist_17 : "SÄąradaki Pozisyon-" +playlist_18 : "[TÃŧm SÄąradaki Oynatma Listesini Kontrol Et]({0})\n\nSon SÄąradaki Pozisyon : **{1}**" + + +#Playmode +playmode_1 : "Grubunuzdaki sorgularÄą oynatmak istediğiniz modu seçin[{0}]." +playmode_2 : "Ayarlar {0} tarafÄąndan başarÄąyla değiştirildi ve kaydedildi" + +#Stream +str_1 : "LÃŧtfen M3u8 BağlantÄąlarÄą veya Dizin BağlantÄąlarÄą SağlayÄąn." +str_2 : "✅ Geçerli AkÄąÅŸ DoğrulandÄą\n\nLÃŧtfen bağlantÄąnÄąn işlenmesini bekleyin.." +str_3 : "Youtube canlÄą yayÄąn akÄąÅŸÄą yapÄąlamÄąyor. CanlÄą Biçim BulunamadÄą" + +#TopPlay +tracks_1 : "**{0} En İyi 10 Oynatma Listesi işleniyor**\n\n**👉Talep Eden:** {1}\nđŸ“ĸ**Kanal Oynatma:** {2}\n\n /stats'a gÃļre En İyi 10 parçayÄą kontrol edin" +tracks_2 : "**Hata**\n\nBot'un sunucularÄąnda **{0} En İyi 10 Oynatma Listesi** yok. LÃŧtfen başka bir oynatma listesi deneyin" + + +# TOOLS + +#Lyrics +lyrics_1 : "**KullanÄąm:**\n\n/lyrics [ ŞarkÄą ADÄą]" +lyrics_2 : "ŞarkÄą SÃļzleri Arama" +lyrics_3 : "❌ ŞarkÄą sÃļzleri getirilemedi😭.\n\n💡**Aramaya çalÄąÅŸÄąldÄą:** {0}" +lyrics_5 : +lyrics_4 : "Uzun spam tÃŧrlerinde şarkÄą sÃļzÃŧ aramasÄąndan kaÃ§Äąnmak için aşağıdaki dÃŧğmeyi tÄąklayÄąn ve aranÄąlan şarkÄą sÃļzlerini alÄąn." + +#Ping +ping_1 : "Ping!!!!" + +# Song +song_1 : "YouTube'dan MÃŧzik veya Video'yu yalnÄązca Ãļzel sohbette indirebilirsiniz. LÃŧtfen beni Ãļzel sohbette başlat." +song_2 : "**KullanÄąm:**\n\n/song [ŞarkÄą AdÄą] veya [Youtube Link]" +song_3 : "CanlÄą BağlantÄą AlgÄąlandÄą. CanlÄą youtube videolarÄąnÄą indiremiyorum. " +song_4 : "**🔘 BaşlÄąk:**- {0}\n\nİndirmek istediğiniz tÃŧrÃŧ seçin." +song_5 : "Geçerli bir Youtube BağlantÄąsÄą değil" +song_6 : "Format AlÄąnÄąyor.. \n\nLÃŧtfen Bekleyin.." +song_7 : "Video için kullanÄąlabilir biçimler alÄąnamadÄą. LÃŧtfen başka bir parça deneyin." +song_8 : "İndirme BaşladÄą\n\nİndirme hÄązÄą yavaş olabilir. LÃŧtfen bekleyin.." +song_9 : "Youtube-DL'den şarkÄą indirilemedi\n\n**Nedeni:** {0}" +song_10 : "Sunuculardan telegrama yÃŧklenemedi." +song_11 : "YÃŧkleme BaşladÄą\n\nYÃŧkleme hÄązÄą yavaş olabilir. LÃŧtfen bekleyin.." + +# Tools - Queue +queue_1 : "LÃŧtfen Bekleyin.. SÄąra AlÄąnÄąyor.." +queue_2 : "SÄąrada Hiç Birşey Yok." +queue_3 : "**Queued Tracks:** [Checkout More Queued Tracks From Here]({0})" +queue_4 : "âŗ SÄąraya eklendi **#{0}\n\n🔘BaşlÄąk:** {1}\n**⏱SÃŧre:** {2}\n👉**Talep Eden:** {3}" + +# All Streaming Lines +stream_1 : "📡 **YayÄąn BaşladÄą**\n\n👉**Talep Eden:** {0}\nđŸ”Ļ**Bilgi: **[Buradan]({1})" +stream_2 : "📡 **URL ile YayÄąna BaşladÄą **\n\n👉**Talep Eden:** {0}" +stream_3 : "📡 **YayÄąn BaşladÄą**\n\n**🔘BaşlÄąk:** {0}\nâŒ›ī¸**SÃŧre**: {1}\n👤**İsteyen:** {2}" +stream_4 : "📡 **AkÄąÅŸ BaşlatÄąldÄą**\n\n**🔘BaşlÄąk:** [{0}]({1})\nâŒ›ī¸**SÃŧre**: {2}\n👤**İsteyen:** {3}" + +# Inline Buttons + +#General Buttons +CLOSE_BUTTON : "🗑 Kapat" +CLOSEMENU_BUTTON : "🗑 MenÃŧyÃŧ Kapat" +BACK_BUTTON : "âŦ… Geri" +UNBAN_BUTTON : "🗑 AsistanÄąn yasağınÄą kaldÄąr" + +#Lyrics +L_B_1 : "🚀 ŞarkÄą SÃļzlerini Şimdi Kontrol Et" + +# Start +S_B_1 : "🗒 Komutlar" +S_B_2 : "🔧 Ayarlar" +S_B_3 : "📨 Destek" +S_B_4 : "📨 Kanal" +S_B_5 : "✚ Beni Grubuna ekle" +S_B_6 : "💡 Git Repo" +S_B_7 : "👤 Bot Owner" +S_B_8 : "🔎 NasÄąl kullanÄąlÄąr? Komutlar MenÃŧsÃŧ." + +#Help +H_B_1 : "Admin Commands" +H_B_2 : "Play Commands" +H_B_3 : "Bot Commands" +H_B_4 : "Extra Commands" +H_B_5 : "Close Menu" + +#PlayMode +PM_B_1 : "DirectPlay" +PM_B_2 : "InlineMarkup" +PM_B_3 : "ChannelPlay" + +#Play +P_B_1 : "đŸŽĩ Play Audio" +P_B_2 : "đŸŽĨ Play Video" +P_B_3 : "🏮 Start Live Stream" +P_B_4 : "đŸŽĩ Play Playlist" + +#Playlist +PL_B_1 : "🚀 Play Playlist" +PL_B_2 : "✚ Playlists" +PL_B_3 : "✚ Additional" +PL_B_4 : "📡 Play Mode" +PL_B_5 : "🔄 Del Whole Playlist" +PL_B_6 : "â†—ī¸ Delete Playlist" +PL_B_7 : "â—ī¸ Yes, I'm sure. Delete it" +PL_B_8 : "đŸ”ĸ Play Top 10" +PL_B_9 : "🤖 Play Global Top 10 Tracks" +PL_B_10 : "🏘 Play Group's Top 10 Tracks" +PL_B_11 : "👤 Play Personal Top 10 Tracks" + +#Settings +ST_B_1 : "🔊 Aud Quality" +ST_B_2 : "đŸŽĨ Vid Quality" +ST_B_3 : "🎩 Auth Users" +ST_B_4 : "📱 Dashboard" +ST_B_5 : "â–ļī¸ Play Mode" +ST_B_6 : "đŸŗī¸â€đŸŒˆ Language" +ST_B_7 : "🔄 Clean Mode" +ST_B_8 : "{0} Low Quality Audio" +ST_B_9 : "{0} Medium Quality Audio" +ST_B_10 : "{0} High Quality Audio" +ST_B_11 : "{0} Low Quality Video" +ST_B_12 : "{0} Medium Quality Video" +ST_B_13 : "{0} High Quality Video" +ST_B_14 : "✅ Enabled" +ST_B_15 : "❌ Disabled" +ST_B_16 : "👤 Admins" +ST_B_17 : "đŸ‘Ĩ Everyone" +ST_B_18 : "📋 Authorized Users Lists" +ST_B_19 : "🔎 Search Mode" +ST_B_20 : "✅ Direct" +ST_B_21 : "✅ Inline" +ST_B_22 : "⏯ Play Mode" +ST_B_23 : "🏘 Group" +ST_B_24 : "🏷 Channel" +ST_B_25 : "đŸĢ‚ Play Type" +ST_B_26 : "🗑 Command Clean" + +#Song +SG_B_1 : "â†—ī¸ Open Private Chat" +SG_B_2 : "🔊 Audio" +SG_B_3 : "đŸŽĨ Video" + +#Stats +SA_B_1 : "đŸ“ĸ Top 10 Chat" +SA_B_2 : "đŸ”ĸ Top 10 Tracks" +SA_B_3 : "🧛 Top 10 Users" +SA_B_4 : "🏷 Top 10 Here" +SA_B_5 : "💡 Overall Stats" +SA_B_6 : "👤 User Stats" +SA_B_7 : "đŸ”ĸ Global Top 10 Stats" +SA_B_8 : "🤖 Bot Stats" + + + +# Sudo Users [ If you are translating this to some other language .. you can leave all these strings in english language] + +#Sudo +sudo_1 : "{0} zaten bir sudo kullanÄącÄąsÄą." +sudo_2 : "Sudo KullanÄącÄąlarÄąna **{0}** eklendi." +sudo_3 : "Bot'un Sudo'sunun bir parçasÄą değil." +sudo_4 : "Bot'un Sudo KullanÄącÄąsÄąndan kaldÄąrÄąldÄą" +sudo_5 : "â­ī¸ **Owners:**\n" +sudo_6 : "\nâ­ī¸ **Sudo Users:**\n" +sudo_7 : "Sudo KullanÄącÄąsÄą Yok" + +#Block +block_1 : "{0} bot tarafÄąndan zaten engellendi." +block_2 : "Botun Engellenenler Listesine **{0}** eklendi. KullanÄącÄą artÄąk hiçbir koşulda bot kullanamayacak.\n\nEngellenen kullanÄącÄąlarÄą kontrol edin: /blockedusers" +block_3 : "KullanÄącÄą zaten Ãŧcretsiz ve engellenmedi." +block_4 : "KullanÄącÄą engelleme listesinden kaldÄąrÄąldÄą. KullanÄącÄą artÄąk bot kullanabilecek." +block_5 : "Engellenen KullanÄącÄą BulunamadÄą" +block_6 : "Engellenen KullanÄącÄąlar Listesi AlÄąnÄąyor.. LÃŧtfen Bekleyin" +block_7 : "**Engellenmiş kullanÄącÄąlar:**\n\n" + +#Blacklist Chats +black_1 : "**KullanÄąm:**\n/blacklistchat [CHAT_ID]" +black_2 : "Sohbet zaten kara listeye alÄąndÄą." +black_3 : "Sohbet başarÄąyla kara listeye alÄąndÄą" +black_4 : "**KullanÄąm:**\n/whitelistchat [CHAT_ID]" +black_5 : "Sohbet zaten beyaz listede." +black_6 : "Sohbet başarÄąyla beyaz listeye alÄąndÄą" +black_7 : "**Kara Listeye AlÄąnmÄąÅŸ Sohbetler:**\n\n" +black_8 : "Kara Listeye AlÄąnmÄąÅŸ Sohbet Yok" + +#videolimit +vid_1 : "**KullanÄąm:**\n/set_video_limit [İzin verilen sohbet sayÄąsÄą] veya [Disable]" +vid_2 : "LÃŧtfen Limiti Ayarlamak için SayÄąsal Rakamlar KullanÄąn." +vid_3 : "GÃļrÃŧntÃŧlÃŧ GÃļrÃŧşmelerin Maksimum SÄąnÄąrÄą, {0} Sohbet İçin TanÄąmlandÄą." +vid_4 : "GÃļrÃŧntÃŧlÃŧ GÃļrÃŧşmeler Devre DÄąÅŸÄą" + +#maintenance +maint_1 : "**KullanÄąm:**\n/maintenance [enable|disable]" +maint_2 : "BakÄąm için Etkinleştirildi" +maint_3 : "BakÄąm Modu Devre DÄąÅŸÄą" + +#log +log_1 : "**KullanÄąm:**\n/logger [enable|disable]" +log_2 : "GÃŧnlÃŧk Loglar Etkin" +log_3 : "GÃŧnlÃŧk Loglar Devre DÄąÅŸÄą" + +#videomode + +vidmode_1 : "**KullanÄąm:**\n/videomode [download|m3u8]" +vidmode_2 : "Video Oynatma Modu, indirici olarak ayarlandÄą. Bot şimdi parçalarÄą indirecek." +vidmode_3 : "Video Oynatma Modu m3u8 olarak ayarlandÄą. Bot şimdi parçalarÄą canlÄą olarak çalacak." + +#broadcast +broad_1 : "**Bottan {1} Pinli {0} Sohbette YayÄąnlanan Mesaj.**" +broad_2 : "Asistan YayÄąnÄą BaşlatÄąldÄą..." +broad_3 : "**YardÄąmcÄą YayÄąn:**\n\n" +broad_4 : "Asistan 1, {0} sohbette yayÄąnlandÄą\n" +broad_5 : "Asistan 2, {0} sohbette yayÄąnlandÄą\n" +broad_6 : "Asistan 3, {0} sohbette yayÄąnlandÄą\n" +broad_7 : "Asistan 4, {0} sohbette yayÄąnlandÄą\n" +broad_8 : "Asistan 5, {0} sohbette yayÄąnlandÄą\n" +broad_9 : "**KullanÄąm**:\n/broadcast [Mesaj] veya [Bir MesajÄą YanÄątla]" +broad_10 : "LÃŧtfen yayÄąnlamak için biraz metin sağlayÄąn." +broad_11 : "**{0} KullanÄącÄąya YayÄąnlanan Mesaj.**" + +#Heroku +heroku_1 : "Please make sure your Heroku API Key, Your App name are configured correctly in the heroku" +heroku_2 : "You can only get logs of Heroku Apps" +heroku_3 : "**Usage:**\n/get_var [Var Name]" +heroku_4 : "Unable to find any such var." +heroku_5 : ".env file not found." +heroku_6 : "**Usage:**\n/del_var [Var Name]" +heroku_7 : "{0} Deleted." +heroku_8 : "**Usage:**\n/set_var [Var Name] [Var Value]" +heroku_9 : "{0} has been updated successfully" +heroku_10 : "{0} has been added successfully" +heroku_11 : "Only for Heroku Apps" +heroku_12 : "Checking Heroku Usage. Please Wait" +heroku_13 : "Checking for available updates..." +heroku_14 : "Git Command Error" +heroku_15 : "Invalid Git Repsitory" + +#Private bot mode +pbot_1 : "**KullanÄąm:**\n/authorize [CHAT_ID]" +pbot_2 : "**KullanÄąm:**\n/unauthorize [CHAT_ID]" +pbot_3 : "Yetkili listeye verilen sohbet eklendi" +pbot_4 : "Verilen sohbet yetkili listeden kaldÄąrÄąldÄą" +pbot_5 : "Sohbet zaten yetkili listede" +pbot_6 : "Yetkili listede bÃļyle bir sohbet yok" +pbot_7 : "Chat_id doğrulanamadÄą.\n\nSayÄąsal olduğundan ve doğru biçimde olduğundan emin olun. Sohbet kullanÄącÄą adÄą veya bağlantÄąlarÄą kullanmayÄąn." +pbot_8 : "LÃŧtfen bekleyin... Yetkili sohbetler getiriliyor." +pbot_9 : "**Getirilen Sohbetler:**\n\n" +pbot_10 : "Özel sohbet" +pbot_11 : "Yetkili sohbet bulunamadÄą" +pbot_12 : "Özel Bot Modu devre dÄąÅŸÄą.\n\nBotunuzu Ãļzel bot olarak kullanmak için **PRIVATE_BOT_MODE** = **True** olarak ayarladığınÄązdan emin olun" +pbot_13 : "\n**Getirilmeyen Sohbetler:**\n\n" diff --git a/strings/readme.md b/strings/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..038bdff5702a3fec7d7976cf468f2a849697ce5b --- /dev/null +++ b/strings/readme.md @@ -0,0 +1,18 @@ +# Yukki Multi-Language Support + +- These all are the languages currently available in Yukki Music Bot. You can edit or change all strings available. + +| Code | Language | Contributor | +|-|-------|-------| +| en | English | Thanks to [TeamYukki](https://t.me/TeamYukki) +| si | Sinhala | Thanks to [Damantha](https://t.me/MrItzme) & [Supun](https://t.me/Supunma) +| hi | Hindi | Thanks to [TeamYukki](https://t.me/TeamYukki) +| ar | Arabic | Thanks to [Mustafa](https://t.me/tr_4z) +| te | Telugu | Thanks to [Telugu Coders](https://t.me/tgshadow_fighters) + + +### We need your help in translating Yukki Music Bot. How to Contribute? + +You can edit [`en.yml`](https://github.com/TeamYukki/YukkiMusicBot/blob/master/strings/langs/en.yml) present in langs folder to your own language and send us the edited file at [@YukkiSupport](https://t.me/YukkiSupport) + +- > Points to remember while editing :
- Make sure you dont change any `{0}` or `{1}` while editing your codes
- Don’t change "general_1" or any other such keys present.