python 通过slackbot向渠道或用户发送消息的正确方式是什么?

6rvt4ljy  于 2023-06-04  发布在  Python
关注(0)|答案(1)|浏览(192)

我正在研究一个解决方案,使用slackbot自动化某个过程。实际的过程是使用流水线自动化的。如果用户输入命令,slackbot会通过API请求为用户启动管道。然后,slackbot应该在管道完成时通知用户。
什么是正确的方法来做到这一点?我是否必须设置一个API端点,管道可以调用它,然后让机器人发送消息?
我正在使用Python库的螺栓。

mspsb9vt

mspsb9vt1#

有两种方法可以使用Slack API向用户或通道发送消息。如果你在一个监听者的上下文中有相关的对话,你可以使用Bolt的say()方法。在任何其他情况下,您都可以使用附加到Bolt示例的客户端的chat_postMessage()方法。
然后,还有一个问题,slackbot应该如何与管道交互。你需要在slackbot中创建一个用户可以触发的监听器。使用斜杠命令是一种很好的方法。一旦监听器被触发,你的slackbot就可以向管道发出一个API请求,管道会启动它并等待结果。或者,您可以在Bolt应用程序旁边运行Flask(或类似)Web服务器,管道可以在完成后向其发出请求。
在这两种情况下,Slack都希望您在3秒内响应侦听器。如果管道花费的时间较长,则应立即确认并保留用户或通道ID,以便在作业完成时通知他们。

相关问题