You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create an operation with the above mentioned aspects
Ex:
def run_bot(token):
def make_pasta(update, context):
msg = update.message
if msg.reply_to_message is None:
msg.reply_text(responses.NOT_A_REPLY)
return
if msg.reply_to_message.document is None:
msg.reply_text(responses.NOT_A_DOC)
return
telegram_file = File(msg.reply_to_message.document.file_id)
telegram_file.download()
updater = Updater(token, use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler('hello', hello))
dp.add_handler(CommandHandler('make_pasta', make_pasta))
print('Log: Seu bot iniciou! (:')
updater.start_polling()
updater.idle()
(I know this is not exactly a MWE, sorry)
Expected behaviour
According to the documentation, it should download the file directly to my current working directory Download this file. By default, the file is saved in the current working directory with its original filename as reported by Telegram.
Actual behaviour
on telegram/files/file.py, on the download function, we get a type error since self.file_path is NoneType, not str or os.PathLike object
Hey there. Your problem is you, not us ;) As pointed put by tsnoam, this was totally unecessary, my apologies. Heat of the moment.
You create here telegram_file = File(msg.reply_to_message.document.file_id) a new file object without settings its filename. Thats why you see the NoneType error. In the wild (meaning: Retreived from Telegram), files always have a filename.
This is what you actually want: telegram_file = msg.reply_to_message.document.get_file()
Then filename is set and you can download it without an error
Steps to reproduce
Ex:
(I know this is not exactly a MWE, sorry)
Expected behaviour
According to the documentation, it should download the file directly to my current working directory
Download this file. By default, the file is saved in the current working directory with its original filename as reported by Telegram.
Actual behaviour
on
telegram/files/file.py
, on the download function, we get a type error sinceself.file_path
is NoneType, not str or os.PathLike objectConfiguration
Ubuntu 18.04
python-telegram-bot 12.2.0
certifi 2019.09.11
future 0.18.1
Python 3.7.3 (default, Apr 3 2019, 19:16:38) [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]]
The text was updated successfully, but these errors were encountered: