Mercurial > prosody-wiki
view mod_adhoc.wiki @ 128:24aaf4908824
Edited wiki page through web user interface.
author | florob@babelmonkeys.de |
---|---|
date | Fri, 21 May 2010 17:26:52 +0000 |
parents | 040360195e00 |
children | d7a9f3c69e49 |
line wrap: on
line source
#summary XEP-0050: Ad-Hoc Commands #labels Stage-Beta = Introduction = implementation of [http://xmpp.org/extensions/xep-0050.html XEP-0050: Ad-Hoc Commands]. = Details = Will offer any adhoc command registered via 'module:add_item("adhoc", ....)'. = Usage = First copy (or symlink) the directory "adhoc" which contains mod_adhoc to your plugins directory. Load mod_adhoc and then any module which provides an adhoc command, such as mod_adhoc_cmd_ping. If you want to build your own adhoc command, just register your adhoc command module with module:add_item and a descriptor for your command. A descriptor can be created like this: {{{ local adhoc_new = module:require "adhoc".new; local descriptor = adhoc_new("Name", "node", handler); module:add_item ("adhoc", descriptor) }}} A handler gets 2 parameters. A data table and a state. The data table has 4 fields: ||to||The to attribute of the stanza to be handled|| ||from||The from attribute of the stanza to be handled|| ||action||The action to be performed as specified in the stanza to be handled|| ||form||If the to be handled stanza contains a form this will contains the form element|| The handler should return to items. A data table and a state. The state will be saved and passed to the handler on any adhoc stanza with the same sessionid. The returned table can have the following fields: ||*Name*||*Explanation*||*Required?*|| ||status||Status of the command (One of: completed, canceled, error)||yes|| ||error||A table with the fields "type", "condition" and "message"||if status is "error"|| ||info||Informational info for the user||no|| ||warn||A warning for the user||no|| ||actions||The actions avaiable to the client||no|| ||form||A form to be filled out by the user||no|| ||result||A form of type result to be presented to the user||no|| ||other||Any other XML to be included in the response to the user||no|| For a simple module and details have a look at mod_adhoc_cmd_ping. = Compatibility = ||trunk||Works|| ||0.6||Most commands work||