如何将参数解析为 hubot 脚本

How to parse parameters to a hubot script

新手 hubot/coffeescript 继承和现有脚本。

我用谷歌搜索并发现了一些无用的东西,例如:

我想做的是能够将参数解析为我的 Hubot 消息。例如:

  startPlaceOrderListener = () ->
    robot.respond /order me (.*)/i, (res) ->

然后跟着你想点什么。

我显然可以重新发明轮子并自己解析 res.match[1],但 hubot 似乎已经内置了一些正则表达式解析供自己使用,我想知道是否有办法利用它来达到我自己的邪恶目的。

事实证明,coffeescript 内置了正则表达式。所以

/order me (.*)/i

是纯 coffeescript。

要匹配正则表达式,您可以这样做:

/order me (.*)/i.test("Bob")

如果不想忽略大小写,可以省略 i。

要解析 CoffeeScript 中的输入值,您可以执行以下操作:

robot.respond /open the (.*) doors/i, (res) ->
  doorType = res.match[1]
  if doorType is "pod bay"
    res.reply "I'm afraid I can't let you do that."
  else
    res.reply "Opening #{doorType} doors"