feat: 实现消息编解码器和消息处理模型
- 添加编解码器,用于序列化和反序列化MessageEnvelope对象。 - 创建消息模型,包括分段(Seg)、群组信息(GroupInfo)、用户信息(UserInfo)、格式信息(FormatInfo)、模板信息(TemplateInfo)、基础消息信息(BaseMessageInfo)和消息基础(MessageBase)。 引入路由器以管理消息路由和连接。 - 实现运行时机制,通过钩子和路由来处理消息处理。 - 使用HTTP和WebSocket客户端和服务器开发传输层,以进行消息传输。 - 为消息内容和信封定义类型,以标准化消息结构。
This commit is contained in:
@@ -3,7 +3,7 @@ import re
|
||||
import traceback
|
||||
from typing import Any
|
||||
|
||||
from maim_message import UserInfo
|
||||
from mofox_bus import UserInfo
|
||||
|
||||
from src.chat.message_manager import message_manager
|
||||
from src.chat.message_receive.chat_stream import ChatStream, get_chat_manager
|
||||
@@ -353,7 +353,7 @@ class ChatBot:
|
||||
return
|
||||
|
||||
# 先提取基础信息检查是否是自身消息上报
|
||||
from maim_message import BaseMessageInfo
|
||||
from mofox_bus import BaseMessageInfo
|
||||
temp_message_info = BaseMessageInfo.from_dict(message_data.get("message_info", {}))
|
||||
if temp_message_info.additional_config:
|
||||
sent_message = temp_message_info.additional_config.get("echo", False)
|
||||
|
||||
@@ -2,7 +2,7 @@ import asyncio
|
||||
import hashlib
|
||||
import time
|
||||
|
||||
from maim_message import GroupInfo, UserInfo
|
||||
from mofox_bus import GroupInfo, UserInfo
|
||||
from rich.traceback import install
|
||||
from sqlalchemy.dialects.mysql import insert as mysql_insert
|
||||
from sqlalchemy.dialects.sqlite import insert as sqlite_insert
|
||||
@@ -358,7 +358,7 @@ class ChatManager:
|
||||
def register_message(self, message: DatabaseMessages):
|
||||
"""注册消息到聊天流"""
|
||||
# 从 DatabaseMessages 提取平台和用户/群组信息
|
||||
from maim_message import GroupInfo, UserInfo
|
||||
from mofox_bus import GroupInfo, UserInfo
|
||||
|
||||
user_info = UserInfo(
|
||||
platform=message.user_info.platform,
|
||||
|
||||
@@ -4,7 +4,7 @@ from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
import urllib3
|
||||
from maim_message import BaseMessageInfo, MessageBase, Seg, UserInfo
|
||||
from mofox_bus import BaseMessageInfo, MessageBase, Seg, UserInfo
|
||||
from rich.traceback import install
|
||||
|
||||
from src.chat.message_receive.chat_stream import ChatStream
|
||||
|
||||
@@ -7,7 +7,7 @@ import time
|
||||
from typing import Any
|
||||
|
||||
import orjson
|
||||
from maim_message import BaseMessageInfo, Seg
|
||||
from mofox_bus import BaseMessageInfo, Seg
|
||||
|
||||
from src.chat.utils.self_voice_cache import consume_self_voice_text
|
||||
from src.chat.utils.utils_image import get_image_manager
|
||||
@@ -430,9 +430,9 @@ def get_message_info_from_db_message(db_message: DatabaseMessages) -> BaseMessag
|
||||
Returns:
|
||||
BaseMessageInfo: 重建的消息信息对象
|
||||
"""
|
||||
from maim_message import GroupInfo, UserInfo
|
||||
from mofox_bus import GroupInfo, UserInfo
|
||||
|
||||
# 从 DatabaseMessages 的 user_info 转换为 maim_message.UserInfo
|
||||
# 从 DatabaseMessages 的 user_info 转换为 mofox_bus.UserInfo
|
||||
user_info = UserInfo(
|
||||
platform=db_message.user_info.platform,
|
||||
user_id=db_message.user_info.user_id,
|
||||
@@ -440,7 +440,7 @@ def get_message_info_from_db_message(db_message: DatabaseMessages) -> BaseMessag
|
||||
user_cardname=db_message.user_info.user_cardname or ""
|
||||
)
|
||||
|
||||
# 从 DatabaseMessages 的 group_info 转换为 maim_message.GroupInfo(如果存在)
|
||||
# 从 DatabaseMessages 的 group_info 转换为 mofox_bus.GroupInfo(如果存在)
|
||||
group_info = None
|
||||
if db_message.group_info:
|
||||
group_info = GroupInfo(
|
||||
|
||||
@@ -8,7 +8,7 @@ from typing import Any
|
||||
|
||||
import numpy as np
|
||||
import rjieba
|
||||
from maim_message import UserInfo
|
||||
from mofox_bus import UserInfo
|
||||
|
||||
from src.chat.message_receive.chat_stream import get_chat_manager
|
||||
|
||||
|
||||
Reference in New Issue
Block a user