【问题标题】:Is it possible in slack bot to create textual links back to the botslack bot 中是否可以创建返回到 bot 的文本链接
【发布时间】:2017-09-24 21:02:15
【问题描述】:

我已经使用https://github.com/slack-ruby/slack-ruby-client成功部署了一个slack bot

我的机器人可以响应一长串命令。我想要一些命令返回一个“链接”到不同的命令。

所以例如我可能有类似的东西:

Me: Bot do_operation_one arguments=....

机器人将返回响应

Bot: "Result for operation one with arguments..."

然后我可能会将该响应链接到不同的命令,例如:

Bot do_operation_two arguments="Result_for_operation_one"

如果机器人可以返回带有指向其他操作的链接的结果,这些操作包括可以调用 operation_two/operation_three 等的必要参数,而无需键入它会更方便。

在我的特殊情况下,我从我的机器人返回一个来自机器人的版本列表:

Me: bot list version

Bot: 1.0,1.1,1.2,1.3,.....

理想情况下,每个版本都可以应用其他操作,使用版本作为参数:

Bot: 1.0: link_operation1, link_operation2, link_operation3 ... 1.1: link_operation1, link_operation2, link_operation3 ... 1.2: link_operation1, link_operation2, link_operation3 ...

这在 slack 机器人中是否可行?

【问题讨论】:

    标签: ruby bots slack-api slack


    【解决方案1】:

    从技术上讲,它可以提供调用这些“不同命令”的链接,但我相信有更好的解决方案。

    您当然可以在响应中包含动态创建的 HTML 链接并将它们连接到您的脚本,但这种方法存在两个问题: 1) 这些链接将始终是 GET 请求,因此这些链接中包含的所有上下文信息(例如用户 ID)将对用户可见。这可能是一个安全问题。关于这个主题有一个完整的讨论,但一种解决方案可能是加密 URL 中的所有参数。 2) 单击链接将始终打开一个浏览器窗口,用户需要再次手动关闭该窗口。这不一定是阻碍,但它可能会混淆和/或惹恼一些用户。

    由于这些问题,我会建议另一种更安全和用户友好的方法。

    我建议不要提供链接,而是以message buttons 或message menu 的形式提供建议的“不同命令”列表。

    由于似乎有很多建议的“不同命令”,我相信动态生成的所有“不同命令”的下拉列表效果最好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 2019-02-28
      • 2017-02-26
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多