Enka_Panel_Bot/plugins/inline.py
2023-01-14 21:59:43 +08:00

40 lines
1.2 KiB
Python

from pyrogram import Client, emoji
from pyrogram.types import InlineQuery, InlineQueryResultCachedPhoto
from ci import app
from defs.bind import check_bind, get_bind_uid
from defs.player import Player
@app.on_inline_query()
async def answer_callback(_: Client, query: InlineQuery):
uid = None
if check_bind(query.from_user.id):
uid = get_bind_uid(query.from_user.id)
if query.query:
uid = query.query
if not uid:
return await query.answer(
results=[],
switch_pm_text=f'{emoji.CROSS_MARK} 没有搜索到任何结果',
switch_pm_parameter="start",
)
data = Player(uid)
if not data.all_char:
return await query.answer(
results=[],
switch_pm_text=f'{emoji.CROSS_MARK} 没有搜索到任何结果',
switch_pm_parameter="start",
)
inline_data = [
InlineQueryResultCachedPhoto(
photo_file_id=i.file_id, title=i.name, description=data.name
)
for i in data.all_char
]
await query.answer(
inline_data,
switch_pm_text=f'{emoji.KEY} 搜索到了 {len(data.all_char)} 个角色',
switch_pm_parameter="start",
)