Mercurial > prosody-wiki
annotate mod_adhoc.wiki @ 86:d9d13329742a
Updated todos
author | t.ephraim |
---|---|
date | Sun, 08 Nov 2009 14:59:10 +0000 |
parents | 5012ffd5d569 |
children | 039a141a9c03 |
rev | line source |
---|---|
10 | 1 #summary XEP-0050: Ad-Hoc Commands |
33 | 2 #labels Stage-Beta |
9 | 3 |
4 = Introduction = | |
5 | |
6 implementation of [http://xmpp.org/extensions/xep-0050.html XEP-0050: Ad-Hoc Commands]. | |
7 | |
8 | |
9 | |
10 = Details = | |
11 | |
47
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
12 Will offer any adhoc command registered via 'module:add_item("adhoc", ....)'. |
9 | 13 |
14 | |
15 | |
16 = Usage = | |
47
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
17 |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
18 First copy (or symlink) the directory "adhoc" which contains mod_adhoc to your plugins directory. |
9 | 19 Load mod_adhoc and then any module which provides an adhoc command, such as |
20 mod_adhoc_cmd_ping. | |
21 | |
22 If you want to build your own adhoc command, just register your adhoc command module with | |
23 module:add_item and a dictonary with name, node and a handler. | |
24 | |
47
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
25 E.g. |
9 | 26 {{{ |
27 module:add_item ("adhoc", { name="Ping", node="ping", handler=ping_command_handler }); | |
28 }}} | |
29 | |
47
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
30 Such a dictionary can be created for you using functionality provided by mod_adhoc like this: |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
31 {{{ |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
32 local adhoc_new = module:require "adhoc".new; |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
33 local descriptor = adhoc_new("Name", "node", handler); |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
34 module:add_item ("adhoc", descriptor) |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
35 }}} |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
36 This will additionally grant you the possibility to use |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
37 {{{ |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
38 desc:cmdtag(status, sessionID, action) |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
39 }}} |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
40 to create a new command tag from within your handler. |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
41 In this example desc is the first parameter to your handler. |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
42 |
5012ffd5d569
Edited wiki page through web user interface.
florob@babelmonkeys.de
parents:
33
diff
changeset
|
43 For a simple module and details have a look at mod_adhoc_cmd_ping. |
12 | 44 |
24 | 45 = Compatibility = |
46 ||0.6||Works|| | |
33 | 47 ||0.5.2||Works|| |