debug: 修改了从db取message的字段问题

This commit is contained in:
tcmofashi
2025-03-03 21:31:52 +08:00
parent 5736d97c1f
commit 22b98b9544
2 changed files with 46 additions and 39 deletions

View File

@@ -127,15 +127,15 @@ class MessageStream:
# 从数据库中查询最近的消息 # 从数据库中查询最近的消息
recent_messages = list(db.db.messages.find( recent_messages = list(db.db.messages.find(
{"group_id": self.group_id}, {"group_id": self.group_id},
{ # {
"time": 1, # "time": 1,
"user_id": 1, # "user_id": 1,
"user_nickname": 1, # "user_nickname": 1,
# "user_cardname": 1, # # "user_cardname": 1,
"message_id": 1, # "message_id": 1,
"raw_message": 1, # "raw_message": 1,
"processed_text": 1 # "processed_text": 1
} # }
).sort("time", -1).limit(count)) ).sort("time", -1).limit(count))
if not recent_messages: if not recent_messages:
@@ -145,17 +145,21 @@ class MessageStream:
from .message import Message from .message import Message
messages = [] messages = []
for msg_data in recent_messages: for msg_data in recent_messages:
msg = Message( try:
time=msg_data["time"], msg = Message(
user_id=msg_data["user_id"], time=msg_data["time"],
user_nickname=msg_data.get("user_nickname", ""), user_id=msg_data["user_id"],
user_cardname=msg_data.get("user_cardname", ""), user_nickname=msg_data.get("user_nickname", ""),
message_id=msg_data["message_id"], user_cardname=msg_data.get("user_cardname", ""),
raw_message=msg_data["raw_message"], message_id=msg_data["message_id"],
processed_plain_text=msg_data.get("processed_text", ""), raw_message=msg_data["raw_message"],
group_id=self.group_id processed_plain_text=msg_data.get("processed_text", ""),
) group_id=self.group_id
messages.append(msg) )
messages.append(msg)
except KeyError:
print("[WARNING] 数据库中存在无效的消息")
continue
return list(reversed(messages)) # 返回按时间正序的消息 return list(reversed(messages)) # 返回按时间正序的消息

View File

@@ -142,14 +142,14 @@ def get_recent_group_messages(db, group_id: int, limit: int = 12) -> list:
# 从数据库获取最近消息 # 从数据库获取最近消息
recent_messages = list(db.db.messages.find( recent_messages = list(db.db.messages.find(
{"group_id": group_id}, {"group_id": group_id},
{ # {
"time": 1, # "time": 1,
"user_id": 1, # "user_id": 1,
"user_nickname": 1, # "user_nickname": 1,
"message_id": 1, # "message_id": 1,
"raw_message": 1, # "raw_message": 1,
"processed_text": 1 # "processed_text": 1
} # }
).sort("time", -1).limit(limit)) ).sort("time", -1).limit(limit))
if not recent_messages: if not recent_messages:
@@ -159,16 +159,20 @@ def get_recent_group_messages(db, group_id: int, limit: int = 12) -> list:
from .message import Message from .message import Message
message_objects = [] message_objects = []
for msg_data in recent_messages: for msg_data in recent_messages:
msg = Message( try:
time=msg_data["time"], msg = Message(
user_id=msg_data["user_id"], time=msg_data["time"],
user_nickname=msg_data.get("user_nickname", ""), user_id=msg_data["user_id"],
message_id=msg_data["message_id"], user_nickname=msg_data.get("user_nickname", ""),
raw_message=msg_data["raw_message"], message_id=msg_data["message_id"],
processed_plain_text=msg_data.get("processed_text", ""), raw_message=msg_data["raw_message"],
group_id=group_id processed_plain_text=msg_data.get("processed_text", ""),
) group_id=group_id
message_objects.append(msg) )
message_objects.append(msg)
except KeyError:
print("[WARNING] 数据库中存在无效的消息")
continue
# 按时间正序排列 # 按时间正序排列
message_objects.reverse() message_objects.reverse()
@@ -181,7 +185,6 @@ def get_recent_group_detailed_plain_text(db, group_id: int, limit: int = 12,comb
"time": 1, # 返回时间字段 "time": 1, # 返回时间字段
"user_id": 1, # 返回用户ID字段 "user_id": 1, # 返回用户ID字段
"user_nickname": 1, # 返回用户昵称字段 "user_nickname": 1, # 返回用户昵称字段
"user_cardname": 1, #返回用户群昵称
"message_id": 1, # 返回消息ID字段 "message_id": 1, # 返回消息ID字段
"detailed_plain_text": 1 # 返回处理后的文本字段 "detailed_plain_text": 1 # 返回处理后的文本字段
} }