如何在不为每封邮件添加hubot的情况下访问hubot?

Him*_*nav 2 javascript hubot facebook-messenger

我正在使用hubot和hubot-fb适配器开发一个Facebook Messenger机器人。所有基本设置均已完成且工作正常。但是,为了与机器人聊天,我需要在所有命令中添加hubot。如果是Facebook聊天,这没有什么意义。当前聊天看起来像这样:

user: hubot ping
bot: PONG
user: hubot the rules
bot: 0. A robot may not harm humanity, or, by inaction, allow humanity to come to harm.
1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
2. A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.
3. A robot must p
Run Code Online (Sandbox Code Playgroud)

但是,我希望我的机器人可以在不使用“ hubot”所有消息的情况下进行访问。我该如何实现?

TIA

Mon*_*ois 5

您可以使用“听”方法,而不是“响应”方法。

Hubot有两种方法与消息交互:

听到 -每当消息室中的文本与给定的正则表达式匹配时,就会调用此方法。在这种情况下,将不使用机械手的名称。例:

module.exports = (robot) ->
  robot.hear /ping/i, (res) ->
    res.send "PONG"
Run Code Online (Sandbox Code Playgroud)

以下消息将导致robot.hear回调被调用:

  • ping
  • 我如何ping服务器

注意:这种情况下的正则表达式非常简单,可以修改,因此在“如何ping服务器”情况下不调用回调。

响应 -仅当文本与给定的正则表达式匹配且机器人名称或别名紧随其后时才调用此方法。例:

module.exports = (robot) ->
  robot.respond /ping/i, (res) ->
    res.reply "PONG"
Run Code Online (Sandbox Code Playgroud)

以下消息将导致robot.respond回调被调用:

  • @Hubot平
  • 平底锅

由于未使用机械手的名称,因此在以下情况下不会调用它。

  • ping
  • 我如何ping服务器

有关更多详细信息,请参见Hubot脚本文档