我有一个正在运行的Slack机器人,可以从过去的Slack对话中获取信息。我希望包含指向过去的消息的链接,以便用户可以立即单击主题。我有ts,team,client_msg_id,频道和用户的每条消息。我该如何构建将它们带到线程的链接。
我尝试过
https://company.slack.com/archives/{team}/{channel}/?ts={ts}
https://company.slack.com/archives/{channel}/{ts}
https://company.slack.com/archives/{channel}/?ts={ts}
我尝试的所有操作都会将我重定向到正确的频道,但不会重定向到线程。我可以看到有人使用以p开头的id,但我不确定该值从何而来。
答案 0 :(得分:1)
如果要链接到消息,我将非常谨慎地重用通过检查HTML页面发现的一些内部语法。这些不是官方的。它们可能暂时起作用,但是它们随时可能更改。
请改为使用API方法chat.permalink创建消息的HTML链接。然后,您可以将其用作消息中的直接链接或链接按钮,并确保它始终可以正常工作。
答案 1 :(得分:0)
我在浏览器中使用的松弛版本中查找了这些“ p”引用。
以下是使用chrome inspector工具找到的一些链接:
每个线程都有一个与时间戳非常相似的“ p”引用。
channel:
https://company.slack.com/archives/chan/p1565761727026300
thread:
https://company.slack.com/archives/chan/p1565794300026800?thread_ts=1565761727.026300&cid=chan
timestamp:
1565761727.026300
"p" references to 2 separate messages in a thread:
p1565761727026300
p1565794300026800
看起来 p 是更多特定于线程条目的时间戳。 但是粘贴这些链接(即使您能够找到如何获取它们)只是将您转储到通道中,这并不会打开线程。
我认为这意味着即使您拥有它们,Slack也不会让您在线程视图中打开它们。