调整目录结构,将框架内容放到base里面
This commit is contained in:
58
base/event_system/events/plugin_events.py
Normal file
58
base/event_system/events/plugin_events.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Dict, Any, Optional
|
||||
from datetime import datetime
|
||||
|
||||
from base.event_system.event_manager import Event
|
||||
|
||||
|
||||
@dataclass
|
||||
class PluginCallStartEvent(Event):
|
||||
"""插件调用开始事件"""
|
||||
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):
|
||||
"""插件调用结束事件"""
|
||||
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()
|
||||
|
||||
|
||||
@dataclass
|
||||
class PluginCallErrorEvent(Event):
|
||||
"""插件调用错误事件"""
|
||||
plugin_name: str # 插件名称
|
||||
command: str # 触发的命令
|
||||
user_id: str # 用户ID
|
||||
group_id: Optional[str] # 群组ID,私聊为None
|
||||
is_group: bool # 是否群聊
|
||||
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()
|
||||
Reference in New Issue
Block a user