优化ai消息内容
This commit is contained in:
@@ -8,6 +8,8 @@ from base.plugin_common.plugin_interface import PluginStatus
|
|||||||
from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager
|
from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager
|
||||||
from utils.wechat.contact_manager import ContactManager
|
from utils.wechat.contact_manager import ContactManager
|
||||||
from wechat_ipad import WechatAPIClient
|
from wechat_ipad import WechatAPIClient
|
||||||
|
from wechat_ipad.models.message import MessageType
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
from .bot_ai import InterventionBot
|
from .bot_ai import InterventionBot
|
||||||
|
|
||||||
@@ -113,6 +115,7 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
|||||||
if roomid not in self.group_messages:
|
if roomid not in self.group_messages:
|
||||||
self.group_messages[roomid] = []
|
self.group_messages[roomid] = []
|
||||||
|
|
||||||
|
msg_type = message.get("type")
|
||||||
# 获取发送者昵称
|
# 获取发送者昵称
|
||||||
sender_id = message.get("sender", "")
|
sender_id = message.get("sender", "")
|
||||||
try:
|
try:
|
||||||
@@ -121,16 +124,38 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
|||||||
except Exception:
|
except Exception:
|
||||||
sender_name = sender_id
|
sender_name = sender_id
|
||||||
|
|
||||||
# 添加新消息
|
# 仅追加文本(1)与应用消息(49),并对49提取标题
|
||||||
current_message = {
|
content_to_store = None
|
||||||
"timestamp": message.get("timestamp", ""),
|
try:
|
||||||
"message": content,
|
if msg_type == MessageType.TEXT:
|
||||||
"sender": sender_id,
|
content_to_store = content
|
||||||
"sender_name": sender_name
|
elif msg_type == MessageType.APP:
|
||||||
}
|
try:
|
||||||
|
root = ET.fromstring(content)
|
||||||
|
title_elem = root.find('.//title')
|
||||||
|
if title_elem is not None and title_elem.text:
|
||||||
|
content_to_store = title_elem.text
|
||||||
|
else:
|
||||||
|
content_to_store = "[应用消息]"
|
||||||
|
except Exception as e:
|
||||||
|
self.LOG.error(f"解析消息类型49出错: {e}")
|
||||||
|
content_to_store = "[应用消息]"
|
||||||
|
except Exception as e:
|
||||||
|
self.LOG.error(f"处理消息类型出错: {e}")
|
||||||
|
content_to_store = None
|
||||||
|
|
||||||
|
if content_to_store is not None:
|
||||||
|
# 添加新消息
|
||||||
|
current_message = {
|
||||||
|
"timestamp": message.get("timestamp", ""),
|
||||||
|
"message": content_to_store,
|
||||||
|
"sender": sender_id,
|
||||||
|
"sender_name": sender_name
|
||||||
|
}
|
||||||
|
|
||||||
# 添加新消息
|
# 添加新消息
|
||||||
self.group_messages[roomid].append(current_message)
|
if content_to_store is not None:
|
||||||
|
self.group_messages[roomid].append(current_message)
|
||||||
|
|
||||||
# 限制消息数量
|
# 限制消息数量
|
||||||
if len(self.group_messages[roomid]) > self.max_messages:
|
if len(self.group_messages[roomid]) > self.max_messages:
|
||||||
|
|||||||
Reference in New Issue
Block a user