我在 Slack 上有一个与 Bot 用户合作的应用程序。
我已经实现了以下使用模式,并且它与频道完美配合。但是,它在直接消息中不起作用。
- 用户使用我的斜杠命令 (/mycommand)
- 我返回一条带有要发送的文本预览的短暂消息,实际上是“随机词”
- 用户可以取消/随机播放/或发送。(取消删除临时消息。这在频道和 DM 中有效。Shuffle 就地更新临时消息。这也有效。发送将删除临时消息和 chat.postMessage 作为 Bot。这在频道中有效,但不适用于DMs。预览消失了,没有任何东西可以代替它。)
因为该操作以斜杠命令开始,所以我希望将用户意图保留为临时身份验证。我认为短暂的消息会删除此上下文,并阻止我在邀请 Bot 用户的情况下直接写信给 DM。将机器人添加到频道,将其变成多用户直接消息确实有效。然而,这是一个糟糕的用户体验,因为人类只是为了让机器人说话而丢失了他们的对话历史。
实现我想要的行为的应用程序的一个示例是 GIF 键盘。(只是随机发现,实际上与我的应用程序并不相似。)https://realtalk-headquarters.slack.com/apps/A0FLZ2GVB-gif-keyboard(它们的范围:命令,机器人,聊天:写入:机器人,用户:读取,用户:read.email)
似乎秘诀在于“机器人”范围仅适用于经典令牌(我认为我再也无法获得了。)
一些应用程序似乎通过用户令牌来处理此问题,因此它们可以改为以用户身份发布。理想情况下,我不想这样做。我可以邀请机器人加入直接消息,然后一切正常。这不是很好,因为我们开始了一条全新的消息,只针对 Bot,并且丢失了所有对话历史记录。
这可能吗?似乎经典机器人能够以新机器人无法提供的方式支持更好的用户体验。
谢谢!