Merge 0.10->trunk
[prosody.git] / plugins / mod_ping.lua
1 -- Prosody IM
2 -- Copyright (C) 2008-2010 Matthew Wild
3 -- Copyright (C) 2008-2010 Waqas Hussain
4 --
5 -- This project is MIT/X11 licensed. Please see the
6 -- COPYING file in the source package for more information.
7 --
8
9 local st = require "util.stanza";
10
11 module:add_feature("urn:xmpp:ping");
12
13 local function ping_handler(event)
14         return event.origin.send(st.reply(event.stanza));
15 end
16
17 module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler);
18 module:hook("iq-get/host/urn:xmpp:ping:ping", ping_handler);
19
20 -- Ad-hoc command
21
22 local datetime = require "util.datetime".datetime;
23
24 function ping_command_handler (self, data, state)
25         local now = datetime();
26         return { info = "Pong\n"..now, status = "completed" };
27 end
28
29 local adhoc_new = module:require "adhoc".new;
30 local descriptor = adhoc_new("Ping", "ping", ping_command_handler);
31 module:add_item ("adhoc", descriptor);
32