from pyrogram.types import ( InlineKeyboardButton, InlineKeyboardMarkup, InlineQueryResultPhoto, ) from youtubesearchpython.__future__ import VideosSearch from DragMusic import app from DragMusic.utils.inlinequery import answer from config import BANNED_USERS @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} ᴍɪɴᴜᴛᴇs | {channel} | {published}" buttons = InlineKeyboardMarkup( [ [ InlineKeyboardButton( text="ʏᴏᴜᴛᴜʙᴇ 🎄", url=link, ) ], ] ) searched_text = f""" ❄ ᴛɪᴛʟᴇ : {title}ᴅᴜʀᴀᴛɪᴏɴ : {duration} ᴍɪɴᴜᴛᴇs 👀 ᴠɪᴇᴡs : {views} 🎥 ᴄʜᴀɴɴᴇʟ : {channel}ᴘᴜʙʟɪsʜᴇᴅ ᴏɴ : {published} ➻ ɪɴʟɪɴᴇ sᴇᴀʀᴄʜ ᴍᴏᴅᴇ ʙʏ {app.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