echo消息处理

pull/61/head
UnCLAS-Prommer 2025-09-14 16:19:06 +08:00
parent ca27153fe6
commit df5a874a60
No known key found for this signature in database
2 changed files with 39 additions and 14 deletions

View File

@ -1,3 +1,4 @@
from typing import Dict
from src.logger import logger
from maim_message import MessageBase, Router
@ -26,6 +27,18 @@ class MessageSending:
except Exception as e:
logger.error(f"发送消息失败: {str(e)}")
logger.error("请检查与MaiBot之间的连接")
async def send_custom_message(self, custom_message: Dict, platform: str, message_type: str) -> bool:
"""
发送自定义消息
"""
try:
await self.maibot_router.send_custom_message(platform=platform, message_type_name=message_type, message=custom_message)
return True
except Exception as e:
logger.error(f"发送自定义消息失败: {str(e)}")
logger.error("请检查与MaiBot之间的连接")
return False
message_send_instance = MessageSending()

View File

@ -1,7 +1,7 @@
import json
import uuid
import websockets as Server
from maim_message import MessageBase, Seg
from maim_message import MessageBase
from src.response_pool import get_response
from src.logger import logger
@ -29,21 +29,33 @@ class NCMessageSender:
return response
async def message_sent_back(self, message_base: MessageBase, qq_message_id: str) -> None:
# 修改 additional_config添加 echo 字段
if message_base.message_info.additional_config is None:
message_base.message_info.additional_config = {}
# # 修改 additional_config添加 echo 字段
# if message_base.message_info.additional_config is None:
# message_base.message_info.additional_config = {}
message_base.message_info.additional_config["echo"] = True
# message_base.message_info.additional_config["echo"] = True
# 获取原始的 mmc_message_id
# # 获取原始的 mmc_message_id
# mmc_message_id = message_base.message_info.message_id
# # 修改 message_segment 为 notify 类型
# message_base.message_segment = Seg(
# type="notify", data={"sub_type": "echo", "echo": mmc_message_id, "actual_id": qq_message_id}
# )
# await message_send_instance.message_send(message_base)
# logger.debug("已回送消息ID")
# return
platform = message_base.message_info.platform
mmc_message_id = message_base.message_info.message_id
# 修改 message_segment 为 notify 类型
message_base.message_segment = Seg(
type="notify", data={"sub_type": "echo", "echo": mmc_message_id, "actual_id": qq_message_id}
)
await message_send_instance.message_send(message_base)
logger.debug("已回送消息ID")
return
echo_data = {
"type": "echo",
"echo": mmc_message_id,
"actual_id": qq_message_id,
}
success = await message_send_instance.send_custom_message(echo_data, platform, "message_id_echo")
if success:
logger.debug("已回送消息ID")
else:
logger.error("回送消息ID失败")
nc_message_sender = NCMessageSender()