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

Hubot - no arguments entered/parameters entered

本文关键字:参数 输入 未输 Hubot-      更新时间:2023-09-26

我最近刚开始使用Hubot。

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

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

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

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

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

不太确定该怎么做,有可能吗?

我认为你需要一个处理正面外观的正则表达式引擎来以一种简单的方式做到这一点,而我认为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.');
    }
  });
robot.respond(/dothis(.*)/i, function(res) { ... };

这是有效的,这个空间让一切变得不同。它现在将使用一个空字符串作为参数。