如何在Slak App中通过API给用户发消息? [英] How to message a user in a slack App via API?
本文介绍了如何在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期间选择它)的问题。
要代表您的机器人向用户发送直接消息,您需要考虑以下事项(这不是实现它的单一方法,但对我有效):
- 确保您已为您的Slack应用注册了机器人。
- 在App安装过程中请求
bot
和chat:write:bot
权限(example for Slack Install button和here)。 - 成功安装时存储机器人访问令牌(see for details)。
- 现在使用bot访问令牌,您可以发送Slack API请求。
- 如需,请使用chat.postMessageAPI方法。
channel
参数可以是用户ID(例如U0G9QF9C6
)。通过将as_user
参数设置为True,您的消息将始终代表您的机器人(名称和图标)发送(对于机器人令牌,似乎总是这样,但建议它显式指定)。
希望它能有所帮助。请随时询问详细信息。
这篇关于如何在Slak App中通过API给用户发消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文