Hubot - 未输入参数/输入参数

时间:2015-11-22 22:43:25

标签: javascript node.js hubot

我最近刚开始使用Hubot。

我想知道是否使用了命令,但没有输入任何参数。

robot.respond(/dothis (.*)/i, function(res) { ... };

如果没有输入任何参数,则不会返回任何内容,即使它接受0个或多个参数。

robot.respond(/dothis/i, function(res) { ... };

这不接受任何参数,但在调用时会响应。

不太确定如何解决这个问题,有可能吗?

2 个答案:

答案 0 :(得分:1)

我认为你需要一个能够以直接的方式处理正面观察的正规表达引擎,而且我不认为V8(这是Node在引擎盖下使用的)在撰写本文时。

但是还有很多其他的解决方法。这是使用\b检查字边界的人:

  robot.respond(/dothis\b(.*)/i, function(res) { 
    if (res.match[1]) {
      res.send('We got the paramater: ' + res.match[1].trim());
    } else {
      res.send('Command called with no parameter.');
    }
  });

答案 1 :(得分:0)

robot.respond(/dothis(.*)/i, function(res) { ... };

这是有效的,这个空间会有所不同。它现在将一个空字符串作为参数。