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

标签 python slack slack-api

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

我已经成功地使用以下代码发送了一条机器人消息:

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 文档用户名 似乎不可用。

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

最佳答案

您必须使用机器人用户的机器人用户 token 发送文件。您可以在官方文档中找到更多信息 https://api.slack.com/bot-users

关于python - 如何通过 slackclient 将图像作为 slack bot 发送到 Slack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417750/

相关文章:

python - 线程模块中相同的程序不同的输出

python - 如何在Python中将列表拆分为特定长度的子列表并将剩余部分拆分为单独的子列表?

slack - Slack App安装中的环境变量?

rest - 从 Slack slash 命令调用 Jenkins

node.js - 在 Microsoft Bot 构建器 node.js 中处理由 Slack 中的提示生成的先前按钮的输入时出现问题

坐标之间的Python转换

Python 3 : How do I make a game using user input and retrieving answer from a list of dictionaries, 然后用点系统?

slack - 如何使 Slack 应用程序独立于我的帐户

slack-api - 使用 Slack API 获取 channel 消息的可共享链接

Slack `member_joined_channel` - 如何检查我的机器人是否被邀请?