首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的松弛自定义命令如何生成像链接一样的/remind?

我的松弛自定义命令如何生成像链接一样的/remind?
EN

Stack Overflow用户
提问于 2015-11-28 18:40:54
回答 2查看 1.4K关注 0票数 5

我正在编写一个自定义松弛命令,该命令实现了像接口这样的任务管理器(我知道.有很多是:-),我与odesk/upwork的接口用于外包我的微任务:-) )。

无论如何,我非常喜欢/remind命令如何在其输出中包含完整的Delete链接,以便于随后与输入该命令的用户进行交互,并且我正在试图找出如何做同样的技巧。

到目前为止,我所想的是在我的输出中包含链接,这些链接是. GET /slack-link?method=POST&token=xxx&team_id=xx&command=.. (在其查询字符串中进行的),这是松弛从正常的自定义命令中产生的完整的json有效负载。slack-link充当一个“代理”,它的唯一作用是将一个帖子提交回我的正常松弛端点。我甚至可以为这些命令链接重用相同的response_url。

我还没有试过,但是我认为这些URL会打开另一个窗口,这样路径就不能正常工作了……

以前有人试过这样的东西吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-23 22:47:38

正如您所了解的,这些命令目前只适用于内置命令。但是,由于我很好奇,并且想知道这些是如何实现的,我查看了API,发现URL只是正常格式化,但是有一个特殊的“协议”:

代码语言:javascript
复制
You asked me to remind you to “test”.
​_<slack-action://BSLACKBOT/reminders/complete/D01234567/1234//0/0/5678|Mark as complete>
or remind me later: <slack-action://BSLACKBOT/reminders/snooze/D01234567/1234//0/0/5678/15|15 mins> [...]

单击这样的链接会产生对方法chat.action的API请求,其中包含以下参数:

代码语言:javascript
复制
bot: BSLACKBOT
payload: reminders/complete/D01234567/1234//0/0/5678
token: xoxs-tokenhere-nowayiampostingithere

看起来这些URL有三个部分:

代码语言:javascript
复制
<slack-action://BSLACKBOT/reminders/complete/[...]|Mark as complete>
  1. slack-action://:类似于“协议”的前缀让斯拉克知道这是一个聊天动作网址。
  2. BSLACKBOT:哪个机器人(谁?)将收到有效载荷。只能是bot用户,并且ID必须以B开头,否则invalid_bot请求将失败。
  3. URL的其余部分:传递给bot的有效负载。这看起来不像是被分析过的,也不是斯拉克专门处理的。

这实际上不是一个新特性,因为他们过去在2013年底或2014年初就有API URL(我不记得很清楚),是因为“安全原因”而删除的。

看看我们是否可以在自定义的机器人上使用聊天操作,如果可以的话,我们可以用它做些什么,这可能会很有趣。

票数 4
EN

Stack Overflow用户

发布于 2015-12-16 04:06:27

我从斯拉克支持处得到了答案:

关于您最初的问题:目前Slack没有提供在我们的自定义集成中嵌入“action”链接的能力。目前只有像/remind这样的内置特性才能利用这些特性。对于外部服务,您需要链接到在外部web浏览器中打开的URL。 我们希望为将来的定制集成提供类似的功能,允许交互消息。 谢谢, 本

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33975024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档