无法获取Slack应用发布的消息的时间戳记

时间:2019-02-26 03:42:59

标签: slack slack-api slack-commands

每当我的应用程序向Slack频道发布短暂消息时(响应用户的查询),我都无法获得Slack应用程序响应的时间戳。因为我想在用户使用按钮之一进行选择后将其删除。尽管我已经订阅了“ message.channels”事件,但是只要我的应用程序在频道中发布(响应用户输入),我都不会收到应用程序的通知,因此,我无法获取消息的时间戳我将使用它来删除它。我想要的只是我的应用发布的消息的时间戳,以便可以删除它,但我无法收到该时间戳。请帮忙!

例如在Giphy应用中获取Slack。假设用户通过调用“ / giphy [dog]”来调用应用,其中“ dog”只是搜索项的一个示例。该应用程序通过发送gif进行响应,用户可以发送gif,随机播放到下一个gif或取消它。我希望具有类似的取消应用程序响应的功能,但是我需要消息的时间戳才能这样做,因此我需要帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的方法行不通,因为Slack处理短暂消息的方式与“正常”消息的方式不同。它们仅对一个用户可见,不能通过API方法进行修改(例如删除)。

但是,当然有可能取代短暂的信息。方法如下:

您的应用程序可以通过新消息回复来自Slack的交互式消息请求。默认情况下,该新消息将覆盖原始消息,包括临时消息。

您可以通过两种方式答复:

  • 在3秒内直接回复Slack的请求并显示一条消息
  • 在30分钟内从Slack请求中向response_url发送一条消息。

有关如何响应交互式消息的官方文档,请参见here

此方法适用于交互式消息和斜杠命令。

有关类似情况,另请参见this answer