繁体   English   中英

如何在不向每条消息添加hubot的情况下访问hubot?

[英]How can I access hubot without adding hubot with each message?

我正在使用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

但是,我希望我的机器人可以在不使用所有messenges的“hubot”的情况下访问。 我如何实现这一目标?

TIA

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

Hubot有两种方法可以与消息进行交互:

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

module.exports = (robot) ->
  robot.hear /ping/i, (res) ->
    res.send "PONG"

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

  • 我该如何ping服务器

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

响应 - 只有当文本与给定的正则表达式匹配时才会调用它,并且紧跟在机器人的名称或别名之后。 例:

module.exports = (robot) ->
  robot.respond /ping/i, (res) ->
    res.reply "PONG"

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

  • @Hubot ping
  • Hubot ping

由于未使用机器人的名称,因此不会调用以下内容。

  • 我该如何ping服务器

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM