-
Notifications
You must be signed in to change notification settings - Fork 8
Description
زمانی که نسخه جدید یعنی 1.6.12
را گرفتم در زمان بارگزاری فایل با خطای زیر مواجه شدم و ارتباط بات قطع می شد
Task exception was never retrieved,
future: <Task finished coro=<Bot.upload_file..file_upload_url_success..upload_data() done, defined at /usr/local/lib/python3.5/site-packages/balebot/bot.py:212> exception=AttributeError("'NoneType' object has no attribute 'body'",)>,
Traceback (most recent call last):,
File "/usr/local/lib/python3.5/site-packages/balebot/bot.py", line 219, in upload_data,
future.resolve(response=None),
File "/usr/local/lib/python3.5/site-packages/balebot/bale_future.py", line 22, in resolve,
self.success_callback(response, self.user_data),
File "amin.py", line 204, in file_upload_success,
bot.send_message(document_message, user_peer, success_callback=success, failure_callback=failure),
File "/usr/local/lib/python3.5/site-packages/balebot/bot.py", line 86, in send_message,
quoted_message=quoted_message, random_id=random_id),
File "/usr/local/lib/python3.5/site-packages/balebot/models/client_requests/messaging/send_message.py", line 28, in init,
raise ValueError(Error.unacceptable_object_type),
ValueError: object has unacceptable type,
,
During handling of the above exception, another exception occurred:,
,
Traceback (most recent call last):,
File "/usr/local/lib/python3.5/asyncio/tasks.py", line 240, in _step,
result = coro.send(None),
File "/usr/local/lib/python3.5/site-packages/balebot/bot.py", line 223, in upload_data,
future.reject(response=None),
File "/usr/local/lib/python3.5/site-packages/balebot/bale_future.py", line 26, in reject,
self.failure_callback(response, self.user_data),
File "amin.py", line 190, in failupload,
print("failure : ", result.body.tag),
AttributeError: 'NoneType' object has no attribute 'body',
کد بارگزاری فایل من به صورت زیر است
def upload_file(bot , user_peer , filepath , file_size, mime_type, caption_text=None):
def failupload(result, data):
print("failure : ", result.body.tag)
time.sleep(1)
upload_file(bot, user_peer, filepath, file_size, mime_type, caption_text)
def file_upload_success(result, user_data):
"""Its the link of upload photo but u cant see anything with it because you need to take a token from server.
actually this link is just for uploading a file not download. If you want to download this file you should
use get_file_download_url() and take a token from server.
"""
name = os.path.split(filepath)[1]
file_id = str(user_data.get("file_id", None))
access_hash = str(user_data.get("user_id", None))
document_message = DocumentMessage(file_id=file_id, access_hash=access_hash, name=name, file_size=file_size,
mime_type=mime_type, caption_text=caption_text)
bot.send_message(document_message, user_peer, success_callback=success, failure_callback=failure)
os.remove(filepath)
bot.upload_file(file=filepath, file_type="file", success_callback=file_upload_success,
failure_callback=failupload)