HEXI/hexi/plugins/battlefield2042status/__init__.py

44 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",
)
status_aliases = {".盒", ".数据", ".武器", ".配备", ".专家", ".载具"}
status = on_command("2042战绩", aliases=status_aliases)
@status.handle()
async def handle_status(event: MessageEvent, state: T_State):
m_state = MessageState(state)
cmd = m_state.get_command()
msg = m_state.get_command_arg()
2023-11-03 10:28:27 +08:00
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 get_img(property[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)