support mutiple channels
This commit is contained in:
parent
1003fa0f4f
commit
2fab1e3f1e
31
src/ctdo.js
31
src/ctdo.js
|
@ -45,10 +45,10 @@ module.exports = function(robot) {
|
|||
// topic
|
||||
robot.adapter.bot.addListener('topic', function(channel, topic) {
|
||||
robot.brain.data.topics[channel] = topic
|
||||
setTopic(topic);
|
||||
setTopic(channel, topic);
|
||||
});
|
||||
|
||||
function setTopic(currentTopic) {
|
||||
function setTopic(channel, currentTopic) {
|
||||
robot.http("https://status.ctdo.de/api/simple/v2")
|
||||
.header('Accept', 'application/json')
|
||||
.get()(function(err, res, body) {
|
||||
|
@ -76,14 +76,18 @@ module.exports = function(robot) {
|
|||
}
|
||||
}
|
||||
if(newTopic !== currentTopic) {
|
||||
robot.brain.data.topics[process.env['HUBOT_IRC_ROOMS']] = newTopic;
|
||||
robot.adapter.topic({room: process.env['HUBOT_IRC_ROOMS']}, newTopic);
|
||||
robot.brain.data.topics[channel] = newTopic;
|
||||
robot.adapter.topic({room: channel}, newTopic);
|
||||
}
|
||||
})
|
||||
}
|
||||
// topic interval
|
||||
setInterval(function() {
|
||||
setTopic(robot.brain.data.topics[process.env['HUBOT_IRC_ROOMS']]);
|
||||
var channels = process.env['HUBOT_IRC_ROOMS'];
|
||||
channels = channels.split(',');
|
||||
channels.forEach(function(c) {
|
||||
setTopic(robot.brain.data.topics[c]);
|
||||
}
|
||||
}, 5000);
|
||||
// gem
|
||||
var gem = false;
|
||||
|
@ -113,4 +117,21 @@ module.exports = function(robot) {
|
|||
r.reply("Ich erkenne niemanden im Treff.");
|
||||
})
|
||||
});
|
||||
// disco
|
||||
var discoInterval;
|
||||
function disco() {
|
||||
setLampel(Math.random() >= 0.5, Math.random() >= 0.5, Math.random() >= 0.5);
|
||||
}
|
||||
robot.respond(/(disco|disco ([0-9]{1,3}))$/i, function(r) {
|
||||
if(typeof(discoInterval) !== 'undefined') {
|
||||
clearInterval(discoInterval); // hebt den interval auf.
|
||||
return discoInterval = undefined;
|
||||
}
|
||||
if(r.match.length === 2) {
|
||||
console.log(parseInt(r.match[1]));
|
||||
setInterval(disco, r.match[1]);
|
||||
} else {
|
||||
setInterval(disco, 500); // 120bpm!
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue