diff --git a/src/plugins/storage/storage.py b/src/plugins/storage/storage.py
index c35f55be5..d07b02719 100644
--- a/src/plugins/storage/storage.py
+++ b/src/plugins/storage/storage.py
@@ -1,3 +1,4 @@
+import re
from typing import Union
from ...common.database import db
@@ -7,19 +8,34 @@ from src.common.logger import get_module_logger
logger = get_module_logger("message_storage")
-
class MessageStorage:
async def store_message(self, message: Union[MessageSending, MessageRecv], chat_stream: ChatStream) -> None:
"""存储消息到数据库"""
try:
+ # 莫越权 救世啊
+ pattern = r".*?|.*?|.*?"
+
+ processed_plain_text = message.processed_plain_text
+ if processed_plain_text:
+ filtered_processed_plain_text = re.sub(pattern, "", processed_plain_text, flags=re.DOTALL)
+ else:
+ filtered_processed_plain_text = ""
+
+ detailed_plain_text = message.detailed_plain_text
+ if detailed_plain_text:
+ filtered_detailed_plain_text = re.sub(pattern, "", detailed_plain_text, flags=re.DOTALL)
+ else:
+ filtered_detailed_plain_text = ""
+
message_data = {
"message_id": message.message_info.message_id,
"time": message.message_info.time,
"chat_id": chat_stream.stream_id,
"chat_info": chat_stream.to_dict(),
"user_info": message.message_info.user_info.to_dict(),
- "processed_plain_text": message.processed_plain_text,
- "detailed_plain_text": message.detailed_plain_text,
+ # 使用过滤后的文本
+ "processed_plain_text": filtered_processed_plain_text,
+ "detailed_plain_text": filtered_detailed_plain_text,
"memorized_times": message.memorized_times,
}
db.messages.insert_one(message_data)