我正在尝试使用 Python 的库 slackclient
通过 Slack API 传送视频。
我经常使用 slack.api_call('chat.postMessage'...)
并且我熟悉 'files.upload'
但是当我执行时
slack = SlackClient(TOKEN)
slack.api_call('files.upload', file=open('video.mp4', 'rb')...)
文件已上传到给定 channel ,但未作为消息发布。
我想要实现的是创建一条消息,我可以将其作为私有(private)消息发送或发送到看起来像这样的 channel
如果可能的话,也许可以在上面添加一些文字。
我探索了 Attachment文档中的部分,但找不到与文件相关的任何内容。 如果有办法不以二进制格式提供文件,而是作为链接也可以(只要它以嵌入式方式显示)。
最佳答案
这个示例脚本怎么样?它对文件使用 io.BytesIO(f.read())
。为了使用它,files:write:user
必须包含在作用域中。关于文本,您可以使用initial_comment
导入它。在我的环境中,附件
不能用于files.upload
。 API文档为https://api.slack.com/methods/files.upload .
脚本:
with open('./sample.mp4', 'rb') as f:
slack.api_call(
"files.upload",
channels='#sample',
filename='sample.mp4',
title='sampletitle',
initial_comment='sampletext',
file=io.BytesIO(f.read())
)
结果:
如果我误解了你的问题,我很抱歉。
关于python - 通过 Slack API 将文件发布到聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45531212/