robot.respond(/standup | stand up | scrum/i, function(msg) { createCanduit(canduitConfig, function(err, conduit) { if (err) { console.log("error:", err); return msg.send("ERROR: " + err); } else { conduit.exec('user.query', {}, function(error, results) { if (error) { console.log("error: ", error); return; } else { var i = 1; async.eachSeries(results, function(user, cb) { user.tQindex = i; user.tQlength = results.length; if (user.userName === 'admin') { cb(); } else { taskQuery(conduit, user, function(err2, slackMessage) { if (err2) { console.log("error2: ", err2); } else { if (robot.adapterName == "slack") { robot.emit('slack-attachment', { channel: msg.envelope.room, content: slackMessage, username: process.env.HUBOT_SLACK_BOTNAME, text: "" }); } else { msg.send(slackMessage[0].title); msg.send(slackMessage[0].text); } setTimeout(function() { i++; cb(); }, 1000); } }); } }, function(err) { return; }); } }); } }); });
robot.hear(/(?:^|[\[\s])([TDPQFV][0-9]+|r[A-Z]+[a-f0-9]+)(?:\s*(-v))?(?=\W|$)/g, function(msg) { createCanduit(canduitConfig, function(err, conduit) { if (err) { console.log("error:", err); return msg.send("ERROR: " + err); } else { var names = (function() { var ref = msg.match; var results = []; for (var i = 0; i < ref.length; i++) { var match = ref[i]; results.push(match.trim()); } return results; })(); conduit.exec('phid.lookup', { names: names }, function(error, result) { if (error) { console.log("error: ", error); return msg.send("was an error: " + JSON.stringify(error)); } else { var results = []; var len = Object.keys(result).length; for (var i = 0; i <= len; i++) { if (i === len) { if (results.length > 0) { return msg.send(results.join("\n")); } else { return; } } else { var info = result[Object.keys(result)[i]]; results.push("^ " + info.fullName + "(" + info.status + ") - " + info.uri); } } } }); } }); });
robot.respond(/show (.*) tasks/i, function(msg) { var username = msg.match[1]; console.log("msg.match: ", msg.match); var brain_current = robot.brain.get("phab_alias"); console.log("brain current", brain_current); if (brain_current !== null) { for (var k = 0; k <= Object.keys(brain_current).length; k++) { if (k === Object.keys(brain_current).length) { createCanduit(canduitConfig, function(err, conduit) { if (err) { console.log("error:", err); return msg.send("ERROR: " + err); } else { conduit.exec('user.query', { usernames: [username] }, function(error, results) { if (error) { console.log("error: ", error); return; } else { if (results.length === 1) { taskQuery(conduit, results[0], function(err2, slackMessage) { if (err2) { console.log("error2: ", err2); } else { if (robot.adapterName == "slack") { robot.emit('slack-attachment', { channel: msg.envelope.room, content: slackMessage, username: process.env.HUBOT_SLACK_BOTNAME, text: "" }); } else { msg.send(slackMessage[0].title); msg.send(slackMessage[0].text); } return; } }); } else { return; } } }); } }); } else { if (brain_current[Object.keys(brain_current)[k]] === msg.match[1]) { username = Object.keys(brain_current)[k]; } } } } else { createCanduit(canduitConfig, function(err, conduit) { if (err) { console.log("error:", err); return msg.send("ERROR: " + err); } else { conduit.exec('user.query', { usernames: [username] }, function(error, results) { if (error) { console.log("error: ", error); return; } else { if (results.length === 1) { taskQuery(conduit, results[0], function(err2, slackMessage) { if (err2) { console.log("error2: ", err2); } else { if (robot.adapterName == "slack") { robot.emit('slack-attachment', { channel: msg.envelope.room, content: slackMessage, username: process.env.HUBOT_SLACK_BOTNAME, text: "" }); } else { msg.send(slackMessage[0].title); msg.send(slackMessage[0].text); } return; } }); } else { return; } } }); } }); } });