我正在尝试使用Python的库slackclient
通过Slack API交付视频。
我经常使用slack.api_call('chat.postMessage'...)
,并且我熟悉'files.upload'
,但是当我执行
slack = SlackClient(TOKEN)
slack.api_call('files.upload', file=open('video.mp4', 'rb')...)
文件将上载到给定频道,但不会作为消息发布。
我试图实现的是创建一个消息,我可以将其作为私有消息发送,或者发送到一个看起来像这样的频道
如果可能的话,可以在上面加上一些文字。
我已经浏览了文档中的Attachment部分,但找不到任何与文件相关的内容。 如果有一种方法不提供二进制格式的文件,但作为链接,也可以(只要它是以嵌入式方式显示)。
这个脚本示例怎么样?它对文件使用
io.BytesIO(f.read())
。为了使用它,files:write:user
必须包含在作用域中。关于文本,可以使用initial_comment
导入它。在我的环境中,attachments
不能用于files.upload
。API文档是https://api.slack.com/methods/files.upload。脚本:
结果:
如果我误解了你的问题,我很抱歉。
这对我有效:
我遇到这个问题是因为我有同样的问题-我的文件会上传,我会得到回应,但文件不会发布到我发送的频道。结果我在阅读Slack API文档方面做得很差。我已经多次使用
chat.postMessage
,并且包含了一个“channel”参数。这是API:https://api.slack.com/methods/chat.postMessagefiles.upload
方法希望在“channels”参数中使用逗号分隔的通道列表。请参阅https://api.slack.com/methods/files.upload一旦我从“channel”更改为“channels”并确保将其作为列表传递,我就成功地将图像发布到了所需的频道。对于最初的问题,在您使用的代码(https://ibb.co/hwH5hF)的链接中,尝试将
channel='bla'
更改为channels=['bla']
相关问题 更多 >
编程相关推荐