45 lines
1.5 KiB
Python
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)
|