Остановить Hubot (с Flowdock) от ответа самому себе?

Я использую Hubot с адаптером Hubot-Flowdock.

Я использую robot.hear для ответа на сообщения с определенной строкой в ​​них (например, «шоколад»).

Затем я вызываю msg.send с сообщением, которое также содержит строку триггера ("шоколад").

Это приводит к тому, что Hubot слышит сам себя, а затем просто бесконечно зацикливается, запускаясь снова и снова.

Я пытаюсь найти способ заставить Hubot не реагировать на себя.

Из того, что я понял, адаптер Hubot Campfire, кажется, включает специальную проверку, чтобы Hubot не прослушивал себя:

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

Тем не менее, другие адаптеры, похоже, не имеют этого.

Есть ли другой способ написать сценарий Hubot с robot.hear и msg.send, чтобы он не отвечал сам на себя?


person victorhooi    schedule 23.09.2014    source источник


Ответы (1)


Я нашел ответ на этот вопрос: Hubot не должен отвечать/слышать сам себя.

Ответственность за фильтрацию этих сообщений лежит на каждом адаптере.

Некоторые адаптеры (например, hubot-hipchat) на самом деле устанавливают имя бота hubot на имя пользователя, которого вы аутентифицируете в Hubot.

В случае с hubot-flowdock он будет сравнивать имя бота hubot с «Отображаемым именем» Flowdock пользователя, под которым вы аутентифицируетесь, поэтому вам просто нужно убедиться, что они совпадают (либо изменив «Отображаемое имя» на на странице учетной записи Flowdock или с помощью флага -n или переменной среды HUBOT_NAME для установки имени бота).

person victorhooi    schedule 24.09.2014