我在使用python telegram bot从文件发送照片时遇到问题。 它在图片URL方面效果很好,但在尝试从磁盘发送文件时却没有。
bot.send_photo(chat_id=update.message.chat_id, photo=open('/mydir/log.jpg', 'rb'))
收到错误
*** BadRequest: Url host is empty
OS:Osx
Python:2.7 python
-m电报
根据doc,我们可以从磁盘传递文件: https://github.com/python-telegram-bot/python-telegram-bot/wiki/Code-snippets#post-an-image-file-from-disk
答案 0 :(得分:2)
问题在于unicode照片的路径。
photo = open(('/mydir/log.jpg').encode('utf-8'), 'rb')
bot.send_photo(chat_id=update.message.chat_id, photo=photo)
在telegram.inputfile的_方法中如果不发送完全unicode表单,则联接会生成UnicodeDecodeError。