如何让 Hubot 知道 he/she 正在私聊中收到消息?
How to make Hubot know he/she is receiving the message in a private chat?
我正在创建一个 Hubot 脚本来做一些事情。然而,由于某些情况,我们需要确保某些命令 仅在通过 PM(私人消息)而不是渠道 发送时有效(例如告诉机器人保存一些密码)。
作为解决方法,我目前正在使用此检查器功能:
is_private = (res) -> res.message.room == res.message.user.name
我们目前在 Slack 中使用它,但需要使脚本也能与 其他适配器 一起使用,因为我们打算将其作为开源项目发布。
这个方法靠谱吗?有没有内置的方法来检查这个?
Adapter 接口在私人消息上是无用的(第一个适配器 Campfire 完全不支持 PM)。我认为您的方法适用于大多数适配器,但跨适配器 PM 行为是一个持续存在的问题。也许,某个时候,我会着手处理 Adapter 接口,但目前我的大部分工作都集中在消息处理流程上。
我建议使用它并在发布后留意问题。
对于您的情况,考虑使用 hubot-auth
来控制您的用户的权限
https://www.npmjs.com/package/hubot-auth
或
How to setup Hubot basic permissions?
我正在创建一个 Hubot 脚本来做一些事情。然而,由于某些情况,我们需要确保某些命令 仅在通过 PM(私人消息)而不是渠道 发送时有效(例如告诉机器人保存一些密码)。
作为解决方法,我目前正在使用此检查器功能:
is_private = (res) -> res.message.room == res.message.user.name
我们目前在 Slack 中使用它,但需要使脚本也能与 其他适配器 一起使用,因为我们打算将其作为开源项目发布。
这个方法靠谱吗?有没有内置的方法来检查这个?
Adapter 接口在私人消息上是无用的(第一个适配器 Campfire 完全不支持 PM)。我认为您的方法适用于大多数适配器,但跨适配器 PM 行为是一个持续存在的问题。也许,某个时候,我会着手处理 Adapter 接口,但目前我的大部分工作都集中在消息处理流程上。
我建议使用它并在发布后留意问题。
对于您的情况,考虑使用 hubot-auth
来控制您的用户的权限
https://www.npmjs.com/package/hubot-auth
或
How to setup Hubot basic permissions?