如何通过API在松弛App中向用户发送消息?

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

创建一个松弛的应用程序时,它会在左侧菜单中创建一个新的“通道”。我希望能够向特定用户发送消息,而不是向工作区中与应用程序集成的所有用户发送消息。

例如,如果我发出以下请求:

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/ABxxx/CDxxx/EFxxxxxx

它会向已与我的应用程序集成的所有用户发送一条消息,其中包含“Hello World”文本。

但我只想在没有通知user A的情况下向User B发送消息。

我不想直接向用户发送消息,而且它似乎来自松散的机器人。我希望消息看起来来自我的机器人/应用程序。

如何通过松弛API实现这一目标?

我发现这很难解释所以如果你想让我澄清一下,请告诉我。

enter image description here

slack slack-api
1个回答
1
投票

您请求使用绑定到特定通道的挂钩URL的问题(您在Slack App安装期间选择它)。

要代表您的机器人向用户发送直接消息,您需要考虑以下事项(这不是实现它的单一方式,但对我有用):

  1. 确保您已为Slack App注册机器人。
  2. 在App安装过程中请求botchat:write:bot权限(example for Slack Install buttonhere)。
  3. 成功安装时存储机器人访问令牌(see for details)。
  4. 现在使用bot访问令牌,您可以发送Slack API请求。
  5. 要实现您的需求,请使用chat.postMessage API方法。 channel参数可以是用户ID(例如U0G9QF9C6)。通过将as_user参数设置为true,您的消息将始终代表您的机器人(名称和图标)发送(似乎是机器人令牌,它总是这样,但建议它明确指定它)。

希望能帮助到你。随意询问详情。

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