module.exports = function (sbot, cb) { var help = null sbot.help(function (err, data) { if(!data.type) data.type = 'group' help = data var keys = Object.keys(sbot) var n = keys.length + 1 keys.forEach(function (key) { if(sbot[key] && 'function' === typeof sbot[key].help) sbot[key].help(function (err, data) { if(!data.type) data.type = 'group' help.commands[key] = data done() }) else --n }) done() function done (err) { if(--n) return cb(null, help) } }) } if(!module.parent) require('ssb-client')(function (err, rpc) { if(err) throw err module.exports(rpc, function (err, data) { console.log(JSON.stringify(data, null, 2)) rpc.close() }) })