Mon, 05 Dec 2011 16:24:13 +0100
verse: Add stream:info() for emitting info-level log message.
226 | 1 | local xmlns_carbons = "urn:xmpp:carbons:1"; |
2 | local xmlns_forward = "urn:xmpp:forward:0"; | |
3 | ||
4 | -- This line squishes verse each time you run, | |
5 | -- handy if you're hacking on Verse itself | |
6 | --os.execute("squish --minify-level=none verse"); | |
7 | ||
8 | require "verse" -- Verse main library | |
9 | require "verse.client" -- XMPP client library | |
10 | ||
11 | c = verse.new();--verse.logger()); | |
12 | c:add_plugin "carbons" | |
13 | ||
14 | c:hook("disconnected", verse.quit); | |
15 | local jid, password = unpack(arg); | |
16 | assert(jid and password, "You need to supply JID and password as arguments"); | |
17 | c:connect_client(jid, password); | |
18 | ||
19 | -- Print a message after authentication | |
20 | c:hook("authentication-success", function () c:debug("Logged in!"); end); | |
21 | c:hook("authentication-failure", function (err) | |
22 | c:error("Failed to log in! Error: "..tostring(err.condition)); | |
23 | c:close(); | |
24 | end); | |
25 | ||
26 | c:hook("carbon", function(carbon) | |
27 | local dir, ts, st = carbon.dir, carbon.timestamp, carbon.stanza; | |
28 | print("", ts, dir:upper()); | |
29 | print(st); | |
30 | end); | |
31 | ||
32 | -- Catch the "ready" event to know when the stream is ready to use | |
33 | c:hook("ready", function () | |
34 | c:debug("Connected"); | |
35 | c.carbons:enable(function(ok) | |
36 | if ok then | |
37 | c:debug("Carbons enabled") | |
38 | else | |
39 | c:error("Could not enable carbons, aborting"); | |
40 | c:close(); | |
41 | end | |
42 | end); | |
43 | end); | |
44 | ||
45 | verse.loop() |