action的reply_message设置为数据模型,维护typing以及增强稳定性
This commit is contained in:
@@ -53,6 +53,15 @@ from .apis import (
|
||||
get_logger,
|
||||
)
|
||||
|
||||
from src.common.data_models.database_data_model import (
|
||||
DatabaseMessages,
|
||||
DatabaseUserInfo,
|
||||
DatabaseGroupInfo,
|
||||
DatabaseChatInfo,
|
||||
)
|
||||
from src.common.data_models.info_data_model import TargetPersonInfo, ActionPlannerInfo
|
||||
from src.common.data_models.llm_data_model import LLMGenerationDataModel
|
||||
|
||||
|
||||
__version__ = "2.0.0"
|
||||
|
||||
@@ -103,4 +112,12 @@ __all__ = [
|
||||
# "ManifestGenerator",
|
||||
# "validate_plugin_manifest",
|
||||
# "generate_plugin_manifest",
|
||||
# 数据模型
|
||||
"DatabaseMessages",
|
||||
"DatabaseUserInfo",
|
||||
"DatabaseGroupInfo",
|
||||
"DatabaseChatInfo",
|
||||
"TargetPersonInfo",
|
||||
"ActionPlannerInfo",
|
||||
"LLMGenerationDataModel"
|
||||
]
|
||||
|
||||
@@ -39,7 +39,7 @@ class BaseAction(ABC):
|
||||
chat_stream: ChatStream,
|
||||
log_prefix: str = "",
|
||||
plugin_config: Optional[dict] = None,
|
||||
action_message: Optional[dict] = None,
|
||||
action_message: Optional["DatabaseMessages"] = None,
|
||||
**kwargs,
|
||||
):
|
||||
# sourcery skip: hoist-similar-statement-from-if, merge-else-if-into-elif, move-assign-in-block, swap-if-else-branches, swap-nested-ifs
|
||||
@@ -114,16 +114,13 @@ class BaseAction(ABC):
|
||||
|
||||
if self.action_message:
|
||||
self.has_action_message = True
|
||||
else:
|
||||
self.action_message = {}
|
||||
|
||||
if self.has_action_message:
|
||||
if self.action_name != "no_action":
|
||||
self.group_id = str(self.action_message.get("chat_info_group_id", None))
|
||||
self.group_name = self.action_message.get("chat_info_group_name", None)
|
||||
self.group_id = str(self.action_message.chat_info.group_info.group_id if self.action_message.chat_info.group_info else None)
|
||||
self.group_name = self.action_message.chat_info.group_info.group_name if self.action_message.chat_info.group_info else None
|
||||
|
||||
self.user_id = str(self.action_message.get("user_id", None))
|
||||
self.user_nickname = self.action_message.get("user_nickname", None)
|
||||
self.user_id = str(self.action_message.user_info.user_id)
|
||||
self.user_nickname = self.action_message.user_info.user_nickname
|
||||
if self.group_id:
|
||||
self.is_group = True
|
||||
self.target_id = self.group_id
|
||||
|
||||
Reference in New Issue
Block a user