strophe.cmds.js is a plugin to provide Ad-Hoc Commands ( XEP-0050 ).
cmd = new Strophe.Commands.RemoteCommand(conn, jid, node);
cmd.execute({
success: function(res, cmd){
proccessFields( cmd.form.fields );
doSomething();
resp = new Strophe.x.Form();
cmd.complete({ responseForm: resp });
error: myErrorFunction
}});
You can also use the interactive GUI mode
cmd.execute({gui:true});
conn.cmds.add({node: "nodename", name: "Command description"},
function(request, result) {
var command_successful = doSomething(request);
result.attrs({status: "completed"});
if (command_successful) {
result.c('note', {type: "info"}, 'infotext');
} else {
result.c('note', {type: "info"}, 'infotext');
result.c('error', {type: 'cancel'});
result.c('forbidden', {xmlns: 'urn:ietf:params:xml:ns:xmpp-stanzas'});
}
return result;
});
- strophe.disco.js
- strophe.x.js
- jQuery
- jQueryUI (for GUI mode)
- Write specs for UI commands
- Write better documentation