28 local function handle_archived_message(message) |
28 local function handle_archived_message(message) |
29 local result_tag = message:get_child("result", xmlns_mam); |
29 local result_tag = message:get_child("result", xmlns_mam); |
30 if result_tag and result_tag.attr.queryid == queryid then |
30 if result_tag and result_tag.attr.queryid == queryid then |
31 local forwarded = message:get_child("forwarded", xmlns_forward); |
31 local forwarded = message:get_child("forwarded", xmlns_forward); |
32 |
32 |
|
33 local id = result_tag.attr.id; |
33 local delay = forwarded:get_child("delay", xmlns_delay); |
34 local delay = forwarded:get_child("delay", xmlns_delay); |
34 local stamp = delay and delay.attr.stamp or nil; |
35 local stamp = delay and delay.attr.stamp or nil; |
35 |
36 |
36 local message = forwarded:get_child("message", "jabber:client") |
37 local message = forwarded:get_child("message", "jabber:client") |
37 |
38 |
38 results[#results+1] = { stamp = stamp, message = message }; |
39 results[#results+1] = { id = id, stamp = stamp, message = message }; |
39 return true |
40 return true |
40 end |
41 end |
41 end |
42 end |
42 |
43 |
43 self:hook("message", handle_archived_message, 1); |
44 self:hook("message", handle_archived_message, 1); |