HEXI/hexi/plugins/battlefield2042status/__init__.py
2023-11-08 18:42:53 +08:00

45 lines
1.5 KiB
Python

from nonebot import on_command
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment
from nonebot.plugin import PluginMetadata
from nonebot.typing import T_State
from .picture_builder import builder
from .data import query_data, get_img
from ..core.message_handle import MessageState
__plugin_meta__ = PluginMetadata(
name="2042战绩查询",
description="根据对应指令查询对应数据",
usage="发送 [.盒/.数据/.武器/.配备/.专家/.载具] 游戏ID",
type="application",
)
status_aliases = {"/数据", "/武器", "/配备", "/专家", "/载具"}
status = on_command("2042战绩", aliases=status_aliases)
@status.handle()
async def handle_status(event: MessageEvent, state: T_State):
m_state = MessageState(state)
print(state)
cmd = m_state.get_command()
msg = m_state.get_command_arg()
cmd = cmd[0]
property = {"/数据": "0",
"/武器": "weapons",
"/配备": "gadgets",
"/专家": "classes",
"/载具": "vehicles"
}
msg_info = (MessageSegment.text(f"正在查询 {msg.text}{cmd.replace('/', '')} 数据,请耐心等待"))
await status.send(msg_info)
img_mes = await query_data(msg.text, 'pc', cmd)
message_id = event.message_id
if img_mes[0]:
res = MessageSegment.image(img_mes[1])
else:
res = MessageSegment.text(img_mes[1])
msg_gen = (MessageSegment.reply(message_id), res)
await status.finish(msg_gen)