Enka_Genshin_bot/plugins/inline.py

38 lines
1.3 KiB
Python
Raw Permalink Normal View History

2022-06-04 04:32:48 +00:00
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)
data.restore()
if not data.all_char:
return await query.answer(
results=[],
switch_pm_text=f'{emoji.CROSS_MARK} 没有搜索到任何结果',
switch_pm_parameter="start",
)
inline_data = []
for i in data.all_char:
inline_data.append(InlineQueryResultCachedPhoto(photo_file_id=i["file_id"],
title=i["name"],
description=data.name))
await query.answer(inline_data,
switch_pm_text=f'{emoji.KEY} 搜索到了 {len(data.all_char)} 个角色',
switch_pm_parameter="start")