import asyncio import time from pyrogram import filters from pyrogram.enums import ChatType from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message from youtubesearchpython.__future__ import VideosSearch import config from DragMusic import app from DragMusic.misc import _boot_ from DragMusic.plugins.sudo.sudoers import sudoers_list from DragMusic.utils.database import ( add_served_chat, add_served_user, blacklisted_chats, get_lang, is_banned_user, is_on_off, ) from DragMusic.utils.decorators.language import LanguageStart from DragMusic.utils.formatters import get_readable_time from DragMusic.utils.inline import help_pannel, private_panel, start_panel from config import BANNED_USERS, OWNER_ID from strings import get_string @app.on_message(filters.command(["start"]) & filters.private & ~BANNED_USERS) @LanguageStart async def start_pm(client, message: Message, _): await add_served_user(message.from_user.id) loading_1 = await message.reply_text("🔥") await asyncio.sleep(0.3) await loading_1.edit_text("ʟᴏᴀᴅɪɴɢ") await asyncio.sleep(0.2) await loading_1.edit_text("ʟᴏᴀᴅɪɴɢ.") await asyncio.sleep(0.1) await loading_1.edit_text("ʟᴏᴀᴅɪɴɢ..") await asyncio.sleep(0.1) await loading_1.edit_text("ʟᴏᴀᴅɪɴɢ...") await asyncio.sleep(0.1) await loading_1.delete() started_msg = await message.reply_text(text="sᴛᴀʀᴛᴇᴅ...") await asyncio.sleep(0.2) await started_msg.delete() if len(message.text.split()) > 1: name = message.text.split(None, 1)[1] if name.startswith("help"): keyboard = help_pannel(_) await message.reply_text( text=( f"ʏᴏᴏ {message.from_user.mention}, 🫧\n\n" f"ɪ'ᴍ {app.mention}\n" f"ɪ ᴄᴀɴ sᴛʀᴇᴀᴍ ʜɪɢʜ-ǫᴜᴀʟɪᴛʏ ᴍᴜsɪᴄ ᴀɴᴅ ᴠɪᴅᴇᴏs ᴇғғᴏʀᴛʟᴇssʟʏ ᴡɪᴛʜ ᴛʜɪs ᴀᴅᴠᴀɴᴄᴇᴅ ᴛᴇʟᴇɢʀᴀᴍ ʙᴏᴛ.\n\n" f"sʜᴀʀᴇ ᴛʀᴀᴄᴋs ᴀɴᴅ ᴄʀᴇᴀᴛᴇ ᴛʜᴇ ᴘᴇʀғᴇᴄᴛ ᴀᴛᴍᴏsᴘʜᴇʀᴇ ғᴏʀ ᴇᴠᴇʀʏ ᴄʜᴀᴛ." ), reply_markup=keyboard, ) if name.startswith("sud"): await sudoers_list(client=client, message=message, _=_) if await is_on_off(2): await app.send_message( chat_id=config.LOGGER_ID, text=f"{message.from_user.mention} ᴄʜᴇᴄᴋᴇᴅ sᴜᴅᴏʟɪsᴛ.\n\n" f"• ɪᴅᴇɴᴛɪғɪᴇʀ ⌯ {message.from_user.id}\n" f"• ʜᴀɴᴅʟᴇ ⌯ @{message.from_user.username}", message_thread_id=9, ) return if name.startswith("inf"): m = await message.reply_text("⚡️") query = name.replace("info_", "", 1) query = f"https://www.youtube.com/watch?v={query}" results = VideosSearch(query, limit=1) next_result = await results.next() if isinstance(next_result, dict) and "result" in next_result: for result in next_result["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 = _["start_6"].format( title, duration, views, published, channellink, channel ) key = InlineKeyboardMarkup( [[InlineKeyboardButton(text="ʏᴏᴜᴛᴜʙᴇ", url=link)]] ) await m.delete() await app.send_photo( chat_id=message.chat.id, photo=thumbnail, caption=searched_text, reply_markup=key, ) if await is_on_off(2): await app.send_message( chat_id=config.LOGGER_ID, text=f"{message.from_user.mention} ᴄʜᴇᴄᴋᴇᴅ ᴛʀᴀᴄᴋ ɪɴғᴏ.\n\n" f"• ɪᴅᴇɴᴛɪғɪᴇʀ ⌯ {message.from_user.id}\n" f"• ʜᴀɴᴅʟᴇ ⌯ @{message.from_user.username}", message_thread_id=9, ) else: await m.edit_text("ғᴀɪʟᴇᴅ ᴛᴏ ʀᴇᴛʀɪᴇᴠᴇ ɪɴғᴏʀᴍᴀᴛɪᴏɴ.") return else: out = private_panel(_) await message.reply_text( text=( f"ʏᴏᴏ {message.from_user.mention}, 🫧\n\n" f"ɪ'ᴍ {app.mention}\n" f"ɪ ᴄᴀɴ sᴛʀᴇᴀᴍ ʜɪɢʜ-ǫᴜᴀʟɪᴛʏ ᴍᴜsɪᴄ ᴀɴᴅ ᴠɪᴅᴇᴏs ᴇғғᴏʀᴛʟᴇssʟʏ ᴡɪᴛʜ ᴛʜɪs ᴀᴅᴠᴀɴᴄᴇᴅ ᴛᴇʟᴇɢʀᴀᴍ ʙᴏᴛ.\n\n" f"sʜᴀʀᴇ ᴛʀᴀᴄᴋs ᴀɴᴅ ᴄʀᴇᴀᴛᴇ ᴛʜᴇ ᴘᴇʀғᴇᴄᴛ ᴀᴛᴍᴏsᴘʜᴇʀᴇ ғᴏʀ ᴇᴠᴇʀʏ ᴄʜᴀᴛ." ), reply_markup=InlineKeyboardMarkup(out), ) if await is_on_off(2): await app.send_message( chat_id=config.LOGGER_ID, text=f"{message.from_user.mention} sᴛᴀʀᴛᴇᴅ ᴛʜᴇ ʙᴏᴛ.\n\n" f"• ɪᴅᴇɴᴛɪғɪᴇʀ ⌯ {message.from_user.id}\n" f"• ʜᴀɴᴅʟᴇ ⌯ @{message.from_user.username}", message_thread_id=9, ) @app.on_message(filters.command(["start"]) & filters.group & ~BANNED_USERS) @LanguageStart async def start_gp(client, message: Message, _): out = start_panel(_) uptime = int(time.time() - _boot_) await message.reply_text( text=_["start_1"].format(app.mention, get_readable_time(uptime)), reply_markup=InlineKeyboardMarkup(out), ) await add_served_chat(message.chat.id)