无法获取Slack App发布的消息的时间戳

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

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

对于例如在Slack的Giphy应用程序中。假设用户通过调用'/ giphy [dog]来调用应用程序,其中'dog'只是搜索词的一个示例。应用程序通过发送gif进行响应,用户可以发送它,随机播放或取消它。我想要一个类似的功能来取消应用程序响应,但我需要消息的时间戳才能这样做,因此我正在寻求帮助。

谢谢。

slack slack-api slack-commands
1个回答
1
投票

你的方法无法工作,因为Slack处理短暂的消息与“普通”消息不同。它们仅由一个用户可见,并且不能通过API方法修改(例如删除)。

但当然可以取代短暂的消息。方法如下:

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

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

  • 直接回复来自Slack的请求,并在3秒内收到消息
  • 在30分钟内从Slack请求发送消息到response_url

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

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

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

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