Spaces:
Runtime error
Runtime error
| from pyrogram.types import ( | |
| InlineKeyboardButton, | |
| InlineKeyboardMarkup, | |
| InlineQueryResultPhoto, | |
| ) | |
| from youtubesearchpython.__future__ import VideosSearch | |
| from Devine import app | |
| from Devine.utils.inlinequery import answer | |
| from config import 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 | |