libpurple/protocols/facebook/api.c

changeset 37475
643d7b0aadbd
parent 37474
1852eb9052a0
child 37478
c7a1976029ea
--- 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);

mercurial