Posted at

Hubotのパターンマッチをbreakさせる

More than 3 years have passed since last update.

Hubotのパターンマッチは上から順に評価される。

途中で止めたい場合はresponseオブジェクトにてfinish()を呼ぶ。

以降のパターンマッチは行われない。


sample


hubot.js

module.exports = (robot) => {

robot.hear(/hoge/i, (res) => {
res.send('unko');
});

robot.hear(/hoge/i, (res) => {
res.send('super unko');
res.finish(); // ここでbreak;
});

robot.hear(/hoge/i, (res) => {
res.send('ultra unko'); // 呼ばれない
});
};



result

# input

bot> hoge
# output
bot> unko
super unko


参考:

https://github.com/github/hubot/blob/v2.11.0/src/response.coffee