BinaryONe
Refresh Update
2f67506
#
# 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