slack - 无法通过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:')
解决方案
所以这是我迄今为止找到的最好的解决方案,它支持任何文件类型,并且不需要支持。
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
推荐阅读
- sql - Teradata 触发器语法(为条件插入引用类似的行)
- linux-kernel - 在 grub.cfg 中获取“console=tty1 console=ttyS0 panic=-1”
- react-native - 反应本机navigationOptions调用函数错误
- java - Camel CXF(代码优先)Tomcat示例——如何部署客户端
- java - Hadoop MapReduce 使用相同的键添加值 - Java
- android - 如何将 Android 照片发送到 Azure 虚拟机
- swift - 呈现 UIAlert 时的长时间延迟
- javascript - 为什么 nginx 不能在 AJAX 请求中处理 base64 图像(Laravel、Javascript、Nginx)
- spring - Junit/Fongo:如何在单元测试中使用 Fongo 来检查 NotNull
- amazon-web-services - AWS Certificate Manager 中处于待处理状态的证书