2014-09-23 50 views
0

我使用Hubot与Hubot-Flowdock适配器。停止Hubot(与Flowdock)响应自己?

我正在使用robot.hear来回复带有特定字符串的邮件(例如“巧克力”)。

然后我用一条消息调用msg.send,该消息也恰好包含触发字符串(“巧克力”)。

这会让Hubot听到自己的声音,然后无休止地循环,一遍又一遍地触发。

我试图找到一种方法让Hubot不对自己做出反应。

从我所收集的Hubot营火适配器似乎包括具体的检查,防止Hubot从倾听本身:

https://github.com/github/hubot/blob/b96ea30654ef2dbf93f710c6e310c909fa1bdd65/src/adapters/campfire.coffee#L71

然而,其它适配器似乎不具备这一点。

是否有另外一种方法可以用robot.hearmsg.send来编写Hubot脚本,使其不会响应自身?

回答

1

我找到了答案 - Hubot是而不是意思是回应/听到自己。

每个适配器负责处理这些消息。

某些适配器(例如hubot-hipchat)实际上会将hubot bot名称设置为您在Hubot身份验证的用户的名称。

在hubot-flowdock的情况下,它将根据您认证的用户的Flowdock“显示名称”来检查hubot机器人名称 - 因此您只需确保这些匹配(通过更改“显示名称“,或使用-n标志或HUBOT_NAME环境变量设置机器人名称)。