Fix incorrect group message sender name

This commit is contained in:
KnugiHK
2023-06-20 16:03:24 +08:00
parent 6c740e69a5
commit 1e3ee5e322

View File

@@ -224,7 +224,8 @@ def messages(db, data, media_folder):
message.message_type as media_wa_type, message.message_type as media_wa_type,
jid_group.raw_string as group_sender_jid, jid_group.raw_string as group_sender_jid,
chat.subject as chat_subject, chat.subject as chat_subject,
missed_call_logs.video_call missed_call_logs.video_call,
message.sender_jid_row_id
FROM message FROM message
LEFT JOIN message_quoted LEFT JOIN message_quoted
ON message_quoted.message_row_id = message._id ON message_quoted.message_row_id = message._id
@@ -284,26 +285,20 @@ def messages(db, data, media_folder):
continue continue
invalid = False invalid = False
if "-" in content["key_remote_jid"] and content["key_from_me"] == 0: if "-" in content["key_remote_jid"] and content["key_from_me"] == 0:
name = None name = fallback = None
if table_message: if table_message:
if content["chat_subject"] is not None: if content["sender_jid_row_id"] > 0:
_jid = content["group_sender_jid"] _jid = content["group_sender_jid"]
else:
_jid = content["key_remote_jid"]
if _jid in data: if _jid in data:
name = data[_jid].name name = data[_jid].name
fallback = _jid.split('@')[0] if "@" in _jid else None if "@" in _jid:
else: fallback = _jid.split('@')[0]
fallback = None
else: else:
if content["remote_resource"] is not None:
if content["remote_resource"] in data: if content["remote_resource"] in data:
name = data[content["remote_resource"]].name name = data[content["remote_resource"]].name
if "@" in content["remote_resource"]: if "@" in content["remote_resource"]:
fallback = content["remote_resource"].split('@')[0] fallback = content["remote_resource"].split('@')[0]
else:
fallback = None
else:
fallback = None
message.sender = name or fallback message.sender = name or fallback
else: else: