首页 > 解决方案 > 如何从hubot控制台触发事件?

问题描述

我正在尝试从 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

标签: hubot

解决方案


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

所以添加这样的东西:

# 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 适配器的适配器。


推荐阅读