阻止Hubot(使用Flowdock)响应自身?

时间:2014-09-23 12:52:21

标签: coffeescript hubot

我正在将Hubot与Hubot-Flowdock适配器一起使用。

我正在使用robot.hear来回复其中包含特定字符串的消息(例如“巧克力”)。

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

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

我正试图找到让Hubot不回应的方法。

从我收集的内容来看,Hubot Campfire适配器似乎包括一个特定的检查,以防止Hubot自行收听:

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

但是,其他适配器似乎没有这个。

是否有其他方法可以使用robot.hearmsg.send编写Hubot脚本,以便它不会响应自身?

1 个答案:

答案 0 :(得分:1)

我找到了答案--Hubot 意味着回应/听到自己。

每个适配器都有责任处理这些消息的过滤。

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

对于hubot-flowdock,它将根据Flowdock"显示名称"检查hubot bot名称。您认证的用户 - 因此您只需要确保这些匹配(通过更改"显示名称"在Flowdock帐户页面上,或使用-n标记或{{1用于设置机器人名称的环境变量。)