Slack 中的每条非线程消息都有一个“在线程中回复”按钮,当消息本身还不是线程时,该按钮会打开线程窗格。使用 Slack API 可以完成同样的行为吗?我能看到的唯一途径是发布一条线程消息,然后通过永久链接导航到该消息,这将非常笨重。
可以这样完成:
假设用户正在单击(操作)包含 url 的“查看”按钮。请参阅下面的示例以获得更好的理解。您需要在代码中对 slack 执行 ack() 操作。
它是块,
{
"blocks": [
{
"type": "section",
"text": {
"type": "plain_text",
"text": "This is message surface"
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "View"
},
"value": "click_me_123",
"action_id": "view_action_id",
"url": "https://domain.slack.com/archives/C05E***BCG/p1701250903039929?thread_ts=1701250903.039929"
}
]
}
]}
您只需将操作确认到代码中的松弛部分即可。 (Python)
@app.action("view_action_id")
def handle_some_action(ack, body, logger):
ack()
https://domain.slack.com/archives/C05E***BCG/p1701250903039929
将带您到主窗格中的消息。
https://domain.slack.com/archives/C05E***BCG/p1701250903039929?thread_ts=1701250903.039929
,在线程中添加 thread_ts
将转到 Reply in thread
窗格中的消息。请记住,对于您的情况,p 和 thread_ts 时间戳必须相同。 C05E***BCG 是您的频道 ID。