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

时间:2019-02-12 21:43:08

标签: slack slack-api

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

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

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

我不想直接向用户发送消息,并且该消息似乎来自松弛机器人。我希望该消息似乎来自我的机器人/应用。

如何通过slack API来实现?

我发现这很难解释,因此,如果您希望我进行澄清,请告诉我。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

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

希望有帮助。随时询问详细信息。