Slack斜杠命令:以用户身份而不是应用程序响应

时间:2020-07-13 14:46:40

标签: slack slack-api

当发送对Slack斜杠命令的响应时,我想将其发送给已启动slach命令的用户。

我用斜杠命令创建了一个Slack应用程序。它调用了我的Flask Web服务,并且我使用“ response_url” webhook将某些内容写回到通道中。频道中的响应由我的应用提供。这按预期工作。但是我希望显示的响应就像用户给出的一样。

一个例子是giphy的Slack插件。如果我叫它,我会收到一条短暂消息,选择我想要的gif。但随后它将以的名字发布在频道中。

所以我有2个问题:

  1. API调用如何以特定用户的身份响应斜线命令?
  2. 要允许应用具有此类行为,我的应用需要哪些权限?

Slack API文档非常全面,但是很多研究并未产生我想要的结果。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用response_url时,无法自定义用户名或图标。为此,您需要使用chat.postMessage API方法。现在有两种方法可以满足您的需求:

  1. 使用user token:这使您可以代表用户执行操作。不过,您需要获得要向其发布消息的每个用户的授权。

  2. 使用机器人令牌请求chat:write.customize范围:您可以发布带有icon_urlusername参数的消息,在其中可以分别提供这两个参数的用户图标和名称。这很容易,因为它只需要一次性授权。

official documentation中的更多信息。

相关问题