如何在Slak App中通过API给用户发消息? [英] How to message a user in a slack App via API?

查看:15
本文介绍了如何在Slak App中通过API给用户发消息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

它将向所有集成了我的应用程序的用户发送一条消息,并带有文本"Hello World"。

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

我不想直接给用户发消息,它看起来像是来自Slak机器人。我希望消息显示在我的机器人/应用程序中。

如何通过Slak API实现这一点?

我发现这很难解释,所以如果您想让我澄清什么,请告诉我。

推荐答案

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

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

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

希望它能有所帮助。请随时询问详细信息。

这篇关于如何在Slak App中通过API给用户发消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆