在传入的Webhook中使用python将文件上传到最重要的频道

时间:2019-07-16 11:18:19

标签: python mattermost

如何使用python将文件发送至最重要的分组。

我尝试过this solution,但它给我错误404。

之前,我使用过matterhook这个lib,使用它我可以向频道发送消息。

现在我要在同一频道中上传文件。

所以我已经修改了代码(对我不屑一顾),下面是我的代码(将此代码添加到了物质钩的入库.py文件中)

@property
def incoming_file_upload(self):
    return "{}/files".format(self.url)

def upload_file(self, message, file_path, channel=None, icon_url=None):

    payload = {"text": message}

    if channel or self.channel:
        payload["channel"] = channel or self.channel
    if icon_url or self.icon_url:
        payload["icon_url"] = icon_url or self.icon_url

    if os.path.isfile(file_path):
        print("file exist")

    payload["files"] = {
        "files": {'filename':file_path,'file': open(file_path)}}

    headers = {"authorization": self.api_key}
    print(payload)
    r = requests.post(self.incoming_file_upload, json=payload)

    if r.status_code != 200:
        raise HTTPError(r.text)

我面临的错误是

  

TypeError:TextIOWrapper类型的对象不可JSON序列化

但是在官方文档curl in curl命令中,这种方式我们用代码打开文件。

我很困惑,无法找到任何例子。

谢谢

0 个答案:

没有答案