通过 API 打开 Slack 线程窗格

问题描述 投票:0回答:1

Slack 中的每条非线程消息都有一个“在线程中回复”按钮,当消息本身还不是线程时,该按钮会打开线程窗格。使用 Slack API 可以完成同样的行为吗?我能看到的唯一途径是发布一条线程消息,然后通过永久链接导航到该消息,这将非常笨重。

slack-api
1个回答
0
投票

可以这样完成:

假设用户正在单击(操作)包含 url 的“查看”按钮。请参阅下面的示例以获得更好的理解。您需要在代码中对 slack 执行 ack() 操作。

Image of view button in message surface

它是块,

{
"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。

© www.soinside.com 2019 - 2024. All rights reserved.