Fixed the RetryAfter and MigrateToChat errors

This commit is contained in:
Alex Root Junior 2018-05-02 18:09:51 +03:00
parent 8a149b1ed5
commit b597f1e565

View file

@ -59,13 +59,14 @@ async def _check_result(method_name, response):
result_json = {}
description = result_json.get('description') or body
parameters = types.ResponseParameters(**result_json.get('parameters', {}) or {})
if HTTPStatus.OK <= response.status <= HTTPStatus.IM_USED:
return result_json.get('result')
elif 'retry_after' in result_json:
raise exceptions.RetryAfter(result_json['retry_after'])
elif 'migrate_to_chat_id' in result_json:
raise exceptions.MigrateToChat(result_json['migrate_to_chat_id'])
elif parameters.retry_after:
raise exceptions.RetryAfter(parameters.retry_after)
elif parameters.migrate_to_chat_id:
raise exceptions.MigrateToChat(parameters.migrate_to_chat_id)
elif response.status == HTTPStatus.BAD_REQUEST:
exceptions.BadRequest.detect(description)
elif response.status == HTTPStatus.NOT_FOUND: