gpt4 book ai didi

slack - 从/archives 链接获取消息的 ts 值

转载 作者:行者123 更新时间:2023-12-05 07:40:13 24 4
gpt4 key购买 nike

Slack 具有复制链接功能,可将指向单个聊天消息的深层链接复制到剪贴板:

enter image description here

这是一个这样的深层链接(混淆)的例子:

https://myworkspace.slack.com/archives/CqwertGU/p1234567898000159

我想做的是,在给定该链接的情况下,从 Slack API 获取该消息的详细信息。

/archives/ 之后的第一个字符串是 channel 的 ID。不过,我不太清楚第二个字符串:

根据 Slack's API documentation

channels.history can also be used to pluck a single message from the archive.

You'll need a message's ts value, uniquely identifying it within a channel. You'll also need that channel's ID.

所以,我发现上面链接中的 p1234567898000159几乎是消息的 ts 值,但不完全是(Slack API 不接受它):需要删除前导 p,还必须有一个 . 在第 10 位数字后插入:1234567898.000159

将所有这些放在一个 API 请求中...

https://slack.com/api/channels.history?latest=1234567898.000159&channel=CqwertGU&count=1&pretty=1&token=mytoken123&inclusive=true

...我收到了包含所有消息详细信息的回复,这正是我所需要的。

我的问题是:我这样做对吗?我真的需要以这种方式从 URL 参数中制作消息的 ts 值,还是有更好、更稳健、官方支持的方式?

最佳答案

我是 python 的新手,但是我在创建 SlackBot(通过 SlackBolt)时遇到了同样的问题,我是这样解决的:

link = 'https://***.slack.com/archives/C03UGEVQ6BX/p1668769293636169'

#Grab information from link

wrong_link_list = link.split('/')
wrong_ts = wrong_link_list[-1]
t_ts = wrong_ts.replace('p', '', 1)
dot = '.'
char_count = 10

#Put information in variables

channel = wrong_link_list[-2]
text = 'Hey dude!'
mess_ts = t_ts[:char_count] + dot + t_ts[char_count:]

app.client.chat_postMessage(channel=channel, text=text, thread_ts = mess_ts)

希望对您有所帮助!

关于slack - 从/archives 链接获取消息的 ts 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46355373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com