File size: 2,393 Bytes
a8e9b84 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
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"""
❄ <b>ᴛɪᴛʟᴇ :</b> <a href={link}>{title}</a>
⏳ <b>ᴅᴜʀᴀᴛɪᴏɴ :</b> {duration} ᴍɪɴᴜᴛᴇs
👀 <b>ᴠɪᴇᴡs :</b> <code>{views}</code>
🎥 <b>ᴄʜᴀɴɴᴇʟ :</b> <a href={channellink}>{channel}</a>
⏰ <b>ᴘᴜʙʟɪsʜᴇᴅ ᴏɴ :</b> {published}
<u><b>➻ ɪɴʟɪɴᴇ sᴇᴀʀᴄʜ ᴍᴏᴅᴇ ʙʏ {app.name}</b></u>"""
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
|