|
1 local jid_split = require"util.jid".split; |
1 local bare_jid = require"util.jid".bare; |
2 local bare_jid = require"util.jid".bare; |
2 local parse_datetime = require"util.datetime".parse; |
3 local parse_datetime = require"util.datetime".parse; |
3 return function (opts, arg) |
4 return function (opts, arg) |
4 if opts.short_help then |
5 if opts.short_help then |
5 print("Fetch archived messages"); |
6 print("Fetch archived messages"); |
36 local datetime = require"util.datetime".datetime; |
37 local datetime = require"util.datetime".datetime; |
37 function print_message(i) |
38 function print_message(i) |
38 print(st.stanza("forwarded",{xmlns="urn:xmpp:forward:0"}) |
39 print(st.stanza("forwarded",{xmlns="urn:xmpp:forward:0"}) |
39 :tag("delay", {xmlns="urn:xmpp:delay", stamp=datetime(i.stamp)}):up() |
40 :tag("delay", {xmlns="urn:xmpp:delay", stamp=datetime(i.stamp)}):up() |
40 :add_child(i.message)); |
41 :add_child(i.message)); |
|
42 end |
|
43 elseif opts.format == "irc" then |
|
44 local date; |
|
45 local os_date = os.date; |
|
46 function print_message(i) |
|
47 local m = i.message; |
|
48 local body = m:get_child_text("body"); |
|
49 local a = m.attr; |
|
50 local _, _, nick = jid_split(a.from); |
|
51 |
|
52 local curdate = os_date("%F", i.stamp); |
|
53 if date ~= curdate then |
|
54 print("-!- "..curdate); |
|
55 date = curdate; |
|
56 end |
|
57 if nick and body then |
|
58 print(("%s <%s> %s"):format(os_date("%T", i.stamp), nick, body)); |
|
59 end |
41 end |
60 end |
42 end |
61 end |
43 |
62 |
44 local function on_connect(conn) |
63 local function on_connect(conn) |
45 if opts.debug then |
64 if opts.debug then |