38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
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 表示命令参数为空或无法解析
|