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)