无法获取 Slack App 发布的消息的时间戳
Unable to get timestamp of the message posted by Slack App
每当我的应用程序向 Slack 频道发布临时消息(以响应用户的查询)时,我无法获得 Slack 应用程序响应的时间戳。因为我想在用户使用其中一个按钮进行选择后将其删除。尽管我已经订阅了 'message.channels' 事件,但每当我的应用程序在频道中发帖(响应用户输入)时,我都不会收到我的应用程序的通知,因此,我无法获取消息的时间戳我会用它来删除它。我想要的只是我的应用程序发布的消息的时间戳,这样我就可以删除它,但我无法收到时间戳。请帮忙!
例如在 Slack 的 Giphy 应用程序中。假设用户通过调用“/giphy [dog]”来调用应用程序,其中 'dog' 只是搜索词的一个示例。该应用程序通过发送一个 gif 来响应,用户可以发送它、随机播放到下一个或取消它。我想要取消应用程序响应的类似功能,但我需要消息的时间戳才能这样做,因此我正在寻求帮助。
谢谢。
您的方法行不通,因为 Slack 处理临时消息的方式不同于 "normal" 消息。它们仅对一个用户可见,并且不能通过 API 方法(例如删除)进行修改。
但当然可以替换临时消息。方法如下:
您的应用程序可以使用新消息回复来自 Slack 的交互式消息请求。默认情况下,新消息将覆盖原始消息,包括临时消息。
您可以通过两种方式回复:
- 3秒内直接通过消息回复Slack的请求
- 在 30 分钟内从 Slack 请求向
response_url
发送消息。
有关如何响应交互式消息的官方文档,请参阅 here。
此方法适用于交互式消息和斜杠命令。
另请参阅