HEXI/hexi/plugins/core/message_handle.py

38 lines
1.0 KiB
Python
Raw Normal View History

2023-11-02 11:57:54 +08:00
from nonebot.adapters.onebot.v11 import MessageSegment
class TextMessage:
def __init__(self, text):
self.text = text
class ImageMessage:
def __init__(self, image):
self.image = image
class UnknownMessage:
def __init__(self, raw):
self.raw = raw
class MessageState:
def __init__(self, data_dict):
self.data_dict = data_dict
# 获取命令头
def get_command(self):
return self.data_dict['_prefix']['command']
# 获取命令参数
def get_command_arg(self):
command_arg_list = self.data_dict['_prefix']['command_arg']
if command_arg_list:
command_arg = command_arg_list[0]
if isinstance(command_arg, MessageSegment):
if command_arg.type == 'text':
return TextMessage(command_arg.data['text'])
elif command_arg.type == 'image':
return ImageMessage(command_arg.data['url'])
return None # 返回 None 表示命令参数为空或无法解析