重构并增强Napcat适配器的功能
- 更新了`BaseAdapter`以简化子进程处理。 - 对`AdapterManager`进行了重构,以便根据适配器的`run_in_subprocess`属性来管理适配器。 - 增强了`NapcatAdapter`,以利用新的`CoreSinkManager`实现更优的进程管理。 - 在`utils.py`中实现了针对群组和成员信息的缓存机制。 - 改进了`message_handler.py`中的消息处理,以支持各种消息类型和格式。 - 已将插件配置版本更新至7.8.3。
This commit is contained in:
@@ -16,6 +16,24 @@ class DatabaseUserInfo(BaseDataModel):
|
||||
user_nickname: str = field(default_factory=str) # 用户昵称
|
||||
user_cardname: str | None = None # 用户备注名或群名片,可为空
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, data: dict) -> "DatabaseUserInfo":
|
||||
"""从字典创建实例"""
|
||||
return cls(
|
||||
platform=data.get("platform", ""),
|
||||
user_id=data.get("user_id", ""),
|
||||
user_nickname=data.get("user_nickname", ""),
|
||||
user_cardname=data.get("user_cardname"),
|
||||
)
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
"""将实例转换为字典"""
|
||||
return {
|
||||
"platform": self.platform,
|
||||
"user_id": self.user_id,
|
||||
"user_nickname": self.user_nickname,
|
||||
"user_cardname": self.user_cardname,
|
||||
}
|
||||
|
||||
@dataclass
|
||||
class DatabaseGroupInfo(BaseDataModel):
|
||||
@@ -26,7 +44,23 @@ class DatabaseGroupInfo(BaseDataModel):
|
||||
group_name: str = field(default_factory=str) # 群组名称
|
||||
group_platform: str | None = None # 群组所在平台,可为空
|
||||
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, data: dict) -> "DatabaseGroupInfo":
|
||||
"""从字典创建实例"""
|
||||
return cls(
|
||||
group_id=data.get("group_id", ""),
|
||||
group_name=data.get("group_name", ""),
|
||||
group_platform=data.get("group_platform"),
|
||||
)
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
"""将实例转换为字典"""
|
||||
return {
|
||||
"group_id": self.group_id,
|
||||
"group_name": self.group_name,
|
||||
"group_platform": self.group_platform,
|
||||
}
|
||||
|
||||
@dataclass
|
||||
class DatabaseChatInfo(BaseDataModel):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user