HEXI/hexi/plugins/battlefield2042status/__init__.py

45 lines
1.5 KiB
Python
Raw Normal View History

2023-11-02 11:57:54 +08:00
from nonebot import on_command
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment
from nonebot.plugin import PluginMetadata
from nonebot.typing import T_State
2023-11-03 10:28:27 +08:00
from .picture_builder import builder
from .data import query_data, get_img
2023-11-02 11:57:54 +08:00
from ..core.message_handle import MessageState
__plugin_meta__ = PluginMetadata(
name="2042战绩查询",
description="根据对应指令查询对应数据",
usage="发送 [.盒/.数据/.武器/.配备/.专家/.载具] 游戏ID",
type="application",
)
2023-11-05 17:28:28 +08:00
status_aliases = {"/数据", "/武器", "/配备", "/专家", "/载具"}
2023-11-02 11:57:54 +08:00
status = on_command("2042战绩", aliases=status_aliases)
@status.handle()
async def handle_status(event: MessageEvent, state: T_State):
m_state = MessageState(state)
2023-11-08 18:42:53 +08:00
print(state)
2023-11-02 11:57:54 +08:00
cmd = m_state.get_command()
msg = m_state.get_command_arg()
2023-11-03 10:28:27 +08:00
cmd = cmd[0]
2023-11-05 17:28:28 +08:00
property = {"/数据": "0",
"/武器": "weapons",
"/配备": "gadgets",
"/专家": "classes",
"/载具": "vehicles"
2023-11-03 10:28:27 +08:00
}
2023-11-05 17:28:28 +08:00
msg_info = (MessageSegment.text(f"正在查询 {msg.text}{cmd.replace('/', '')} 数据,请耐心等待"))
2023-11-03 10:28:27 +08:00
await status.send(msg_info)
2023-11-05 17:28:28 +08:00
img_mes = await query_data(msg.text, 'pc', cmd)
2023-11-02 11:57:54 +08:00
message_id = event.message_id
2023-11-03 10:28:27 +08:00
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)