mirror of
https://github.com/KnugiHK/WhatsApp-Chat-Exporter.git
synced 2026-05-26 19:09:00 +00:00
Support missed call (PM) metadata for Android
This commit is contained in:
@@ -189,10 +189,13 @@ def messages(db, data, media_folder):
|
|||||||
messages_quotes.key_id as quoted,
|
messages_quotes.key_id as quoted,
|
||||||
messages.key_id,
|
messages.key_id,
|
||||||
messages_quotes.data as quoted_data,
|
messages_quotes.data as quoted_data,
|
||||||
messages.media_caption
|
messages.media_caption,
|
||||||
|
missed_call_logs.video_call
|
||||||
FROM messages
|
FROM messages
|
||||||
LEFT JOIN messages_quotes
|
LEFT JOIN messages_quotes
|
||||||
ON messages.quoted_row_id = messages_quotes._id
|
ON messages.quoted_row_id = messages_quotes._id
|
||||||
|
LEFT JOIN missed_call_logs
|
||||||
|
ON messages._id = missed_call_logs.message_row_id
|
||||||
WHERE messages.key_remote_jid <> '-1';"""
|
WHERE messages.key_remote_jid <> '-1';"""
|
||||||
)
|
)
|
||||||
except sqlite3.OperationalError:
|
except sqlite3.OperationalError:
|
||||||
@@ -213,7 +216,8 @@ def messages(db, data, media_folder):
|
|||||||
message_quoted.text_data as quoted_data,
|
message_quoted.text_data as quoted_data,
|
||||||
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
|
||||||
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
|
||||||
@@ -231,6 +235,8 @@ def messages(db, data, media_folder):
|
|||||||
ON jid_global._id = chat.jid_row_id
|
ON jid_global._id = chat.jid_row_id
|
||||||
LEFT JOIN jid jid_group
|
LEFT JOIN jid jid_group
|
||||||
ON jid_group._id = message.sender_jid_row_id
|
ON jid_group._id = message.sender_jid_row_id
|
||||||
|
LEFT JOIN missed_call_logs
|
||||||
|
ON message._id = missed_call_logs.message_row_id
|
||||||
WHERE key_remote_jid <> '-1';"""
|
WHERE key_remote_jid <> '-1';"""
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -346,11 +352,17 @@ def messages(db, data, media_folder):
|
|||||||
invalid = True
|
invalid = True
|
||||||
else:
|
else:
|
||||||
# Private chat
|
# Private chat
|
||||||
if content["data"] is None and content["thumb_image"] is None:
|
if content["video_call"] is not None: # Missed call
|
||||||
invalid = True
|
message.meta = True
|
||||||
|
if content["video_call"] == 1:
|
||||||
|
message.data = "A video call was missed"
|
||||||
|
elif content["video_call"] == 0:
|
||||||
|
message.data = "A voice call was missed"
|
||||||
|
elif content["data"] is None and content["thumb_image"] is None:
|
||||||
|
invalid = True # Unhandle metadata
|
||||||
else:
|
else:
|
||||||
if content["media_wa_type"] == 20: # Sticker
|
# Real message
|
||||||
|
if content["media_wa_type"] == 20: # Sticker is a message
|
||||||
message.sticker = True
|
message.sticker = True
|
||||||
if content["key_from_me"] == 1:
|
if content["key_from_me"] == 1:
|
||||||
if content["status"] == 5 and content["edit_version"] == 7 or table_message and content["media_wa_type"] == 15:
|
if content["status"] == 5 and content["edit_version"] == 7 or table_message and content["media_wa_type"] == 15:
|
||||||
|
|||||||
Reference in New Issue
Block a user