如何动态定义hubot命令的帮助?

时间:2016-02-02 09:57:34

标签: coffeescript hubot

Hubot通常希望脚本具有以下形式的标题:

# Commands:
#   hubot foo - Hubot says foo.

但是,如果我想为我的命令动态定义文本触发器怎么办?例如。如果我有一个命令:

fooCommandText = process.env.HUBOT_FOO_COMMAND || 'foo'

module.exports = (robot) ->
  robot.respond ///#{fooCommandText}///, (response) ->
    response.send 'foo'

我仍然希望hubot help能够正常工作,但我不能使用静态标头来定义我的命令。

在Hubot本身看看robot.coffee,我可以看到parseHelp显式读取脚本文件并解析标题。

如何使hubot help适用于文本触发器是动态的命令?

1 个答案:

答案 0 :(得分:2)

您可以附加到robot.commands,而不是定义帮助块:

module.exports = (robot) ->
  robot.commands.push "hubot #{fooCommandText} - Hubot says foo."