在python-telegram-bot中使用sendDocument发送二进制文件

时间:2017-05-03 20:47:27

标签: python-telegram-bot

这项工作:

mybot.sendDocument(chat_id=chatid, document=open('bla.pdf', rb'))

但如果我之前做过:

with open('bla.pdf', 'rb') as fp:
    b = fp.read()

我做不到:

mybot.sendDocument(chat_id=chatid, document=b)

错误是:

  

TypeError:'bytes'类型的对象不是JSON可序列化的

我使用python 3.5.2 win或linux

感谢您的回答

2 个答案:

答案 0 :(得分:0)

尝试只发送一个文件对象:

mybot.sendDocument(chat_id=chatid, document=open('bla.pdf', 'rb'))

答案 1 :(得分:0)

抱歉,我没有看到你的答案。

我的麻烦是我想发送下载的文件,而不是磁盘上的文件。

我这样解决了:

mybot.sendDocument(chat_id=chatid,document=io.BytesIO(self.downloaded_file))