如何从 hubot 控制台触发事件?

How to trigger an event from hubot console?

我正在尝试从 hubot 控制台调试和使用 hubot。

Hubot 脚本对 hubot 控制台中写入的消息作出反应。

所以如果我有这样的脚本:

module.exports = (robot) ->
  robot.respond /hi/, (msg) ->
    msg.send "hi guy"

在我的 hubot 控制台中我写了 "hubot hi",然后 hubot 会像这样回复:

$hubot> hubot hi
$hubot> hi guy

我的问题是如何对事件 (robot.on) 执行相同的操作。

如果我有这样的代码:

module.exports = (robot) ->
  robot.on "github-repo-event", (event) ->
    console.log "grrrr, I'm triggered"

那我如何从 hubot 控制台触发这个事件?

有没有这样的....?

$hubot> hubot trigger-event:github-repo-event

我发现我能做的最简单的事情就是添加一个脚本来发出我想要的事件。

所以添加如下内容:

# debug-script.coffee

module.exports = (robot) ->
  robot.respond /debug-github-repo-event/, (msg) ->
  robot.emit 'github-repo-event', eventData

然后你可以从控制台实现这个

$hubot> hubot debug-github-repo-event
$hubot> grrrr, I'm triggered

我不喜欢这个,但它确实有效。

我不想创建将事件添加到 shell 适配器的适配器。