首页 > 解决方案 > 无法通过python使用slack api将上传的文件附加到消息

问题描述

我正在尝试上传我必须松弛的本地文件,然后将其附加到我正在发送的消息中,但是当我运行我的脚本时,我只得到消息文本,没有文件。任何帮助,将不胜感激。

谢谢。

client = slack_sdk.WebClient(token=SLACK_TOKEN)
response=client.files_upload(file='1.jpg')
payoff=response['file']['permalink']
attachment='[{"text": "r", "image_url": "'+payoff+'"}]'
client.chat_postMessage(channel='#testChannel', text="Sample Text", username='Bot name', attachment=attachment, icon_emoji=':emoji:')

标签: slackslack-api

解决方案


所以这是我迄今为止找到的最好的解决方案,它支持任何文件类型,并且不需要支持。

def postMessageWithFiles(message,fileList,channel):
    import slack_sdk
    SLACK_TOKEN = "slackTokenHere"
    client = slack_sdk.WebClient(token=SLACK_TOKEN)
    for file in fileList:
        upload=client.files_upload(file=file,filename=file)
        message=message+"<"+upload['file']['permalink']+"| >"
    outP = client.chat_postMessage(
        channel=channel,
        text=message
    )
postMessageWithFiles(
    message="Here is my message",
    fileList=["1.jpg", "1-Copy1.jpg"],
    channel="myFavoriteChannel",
)

这几乎就是此处概述的方法 通过 API 将多个文件发送到 Slack


推荐阅读