--- a/libpurple/protocols/facebook/api.c Fri Dec 25 15:20:41 2015 -0500 +++ b/libpurple/protocols/facebook/api.c Sat Dec 26 18:01:00 2015 -0500 @@ -1441,6 +1441,8 @@ fb_json_values_add(values, FB_JSON_TYPE_INT, FALSE, "$.deltaNewMessage.messageMetadata" ".threadKey.threadFbId"); + fb_json_values_add(values, FB_JSON_TYPE_INT, FALSE, + "$.deltaNewMessage.messageMetadata.timestamp"); fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, "$.deltaNewMessage.body"); fb_json_values_add(values, FB_JSON_TYPE_INT, FALSE, @@ -1460,6 +1462,7 @@ msg.uid = fb_json_values_next_int(values, 0); oid = fb_json_values_next_int(values, 0); msg.tid = fb_json_values_next_int(values, 0); + msg.tstamp = fb_json_values_next_int(values, 0); if (msg.uid == priv->uid) { msg.flags |= FB_API_MESSAGE_FLAG_SELF; @@ -2258,6 +2261,8 @@ fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, "$.message_sender.messaging_actor.id"); fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, "$.message.text"); + fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, + "$.timestamp_precise"); fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, "$.sticker.id"); fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, "$.message_id"); fb_json_values_set_array(values, FALSE, "$.messages.nodes"); @@ -2274,6 +2279,9 @@ msg.uid = FB_ID_FROM_STR(str); msg.tid = tid; + str = fb_json_values_next_str(values, "0"); + msg.tstamp = g_ascii_strtoll(str, NULL, 10); + if (body != NULL) { dmsg = fb_api_message_dup(&msg, FALSE); dmsg->text = g_strdup(body);