调整指令信息

This commit is contained in:
liuwei
2025-03-18 17:53:25 +08:00
parent 1d7ee9f953
commit 345439be90
4 changed files with 121 additions and 154 deletions
+47 -63
View File
@@ -1,74 +1,58 @@
from dataclasses import dataclass
from typing import Dict, Any, Optional
from datetime import datetime
from event_system.event_manager import Event
from typing import Optional, Dict, Any
@dataclass
class PluginCallStartEvent(Event):
"""插件调用开始事件"""
def __init__(self, plugin_name: str, command: str, user_id: str,
group_id: Optional[str] = None, **kwargs):
"""
Args:
plugin_name: 插件名称
command: 触发的命令
user_id: 用户ID
group_id: 群组ID,私聊为None
"""
super().__init__(
plugin_name=plugin_name,
command=command,
user_id=user_id,
group_id=group_id,
**kwargs
)
plugin_name: str # 插件名称
command: str # 触发的命令
full_command: str # 完整命令内容
user_id: str # 用户ID
group_id: Optional[str] = None # 群组ID,私聊为None
is_group: bool = False # 是否群聊
message: Dict[str, Any] = None # 原始消息内容
timestamp: datetime = None # 事件时间戳
def __post_init__(self):
if self.timestamp is None:
self.timestamp = datetime.now()
@dataclass
class PluginCallEndEvent(Event):
"""插件调用结束事件"""
def __init__(self, plugin_name: str, command: str, user_id: str,
group_id: Optional[str], success: bool,
process_time_ms: float, result: Any = None, **kwargs):
"""
Args:
plugin_name: 插件名称
command: 触发的命令
user_id: 用户ID
group_id: 群组ID,私聊为None
success: 是否调用成功
process_time_ms: 处理时间(毫秒)
result: 处理结果
"""
super().__init__(
plugin_name=plugin_name,
command=command,
user_id=user_id,
group_id=group_id,
success=success,
process_time_ms=process_time_ms,
result=result,
**kwargs
)
plugin_name: str # 插件名称
command: str # 触发的命令
user_id: str # 用户ID
group_id: Optional[str] = None # 群组ID,私聊为None
is_group: bool = False # 是否群聊
process_result: bool = True # 处理结果:True成功,False失败
result_message: Optional[str] = None # 处理结果消息
process_time: int = 0 # 处理耗时(毫秒)
timestamp: datetime = None # 事件时间戳
def __post_init__(self):
if self.timestamp is None:
self.timestamp = datetime.now()
class PluginErrorEvent(Event):
"""插件错误事件"""
def __init__(self, plugin_name: str, command: str, user_id: str,
group_id: Optional[str], error_message: str,
stack_trace: Optional[str] = None, **kwargs):
"""
Args:
plugin_name: 插件名称
command: 触发的命令
user_id: 用户ID
group_id: 群组ID,私聊为None
error_message: 错误信息
stack_trace: 堆栈跟踪
"""
super().__init__(
plugin_name=plugin_name,
command=command,
user_id=user_id,
group_id=group_id,
error_message=error_message,
stack_trace=stack_trace,
**kwargs
)
@dataclass
class PluginCallErrorEvent(Event):
"""插件调用错误事件"""
plugin_name: str # 插件名称
command: str # 触发的命令
user_id: str # 用户ID
group_id: Optional[str] = None # 群组ID,私聊为None
is_group: bool = False # 是否群聊
error_message: str # 错误信息
stack_trace: Optional[str] = None # 堆栈跟踪
process_time: int = 0 # 处理耗时(毫秒)
timestamp: datetime = None # 事件时间戳
def __post_init__(self):
if self.timestamp is None:
self.timestamp = datetime.now()