猿问

如何通过 slackclient 将图像作为 slack bot 发送到 Slack?

我正在构建一个简单的机器人来定期生成图表作为图像并通过 python slackclient包发布到 slack 。


我已经设法使用以下代码发送机器人消息:


def post_message_to_channel(self, channel_id, message=DEFAULT_TEST_MESSAGE):

    sc = SlackClient(TOKEN)

    sc.api_call(

        "chat.postMessage",

        channel=channel_id,

        username='mybot',

        text='test text message'

    )

但是当我尝试对文件上传做同样的事情时,图像被正确发送,但它显示了我的名字,而不是指定的机器人名称:


def post_image_to_channel(self, channel_name, filepath, tile='Test Upload'):

    sc = SlackClient(TOKEN)

    with open(filepath, 'rb') as file_content:

        sc.api_call(

                "files.upload",

                channels=channel_id,

                file=file_content,

                title=tile,

                username='mybot',               

            )

查看files.upload的 slack API 文档,似乎username不可用。


如何使用机器人名称发送files.upload图像?


芜湖不芜
浏览 195回答 3
3回答

蝴蝶不菲

另一种方法是将您的图像作为邮件附件的一部分发送。这样,您还可以在图表周围包含一些上下文信息。而且由于您正在发送消息,因此您仍然可以完全控制用户名等。
随时随地看视频慕课网APP

相关分类

Python
我要回答