|
@@ -38,6 +38,7 @@ from mauigpapi.errors import (
|
|
|
IGLoginInvalidUserError,
|
|
|
IGLoginRequiredError,
|
|
|
IGLoginTwoFactorRequiredError,
|
|
|
+ IGLoginUnusablePasswordError,
|
|
|
IGNotLoggedInError,
|
|
|
IGResponseError,
|
|
|
)
|
|
@@ -290,6 +291,22 @@ class ProvisioningAPI:
|
|
|
status=403,
|
|
|
headers=self._acao_headers,
|
|
|
)
|
|
|
+ except IGLoginUnusablePasswordError as e:
|
|
|
+ self.log.debug(
|
|
|
+ "%s tried to log in as %s with an unusable password: %s",
|
|
|
+ user.mxid,
|
|
|
+ username,
|
|
|
+ e.body.serialize(),
|
|
|
+ )
|
|
|
+ track(user, "$login_failed", {"error": "unusable-password"})
|
|
|
+ return web.json_response(
|
|
|
+ data={
|
|
|
+ "error": "Unusable password - please check the Instagram website or app first",
|
|
|
+ "status": "unusable-password",
|
|
|
+ },
|
|
|
+ status=403,
|
|
|
+ headers=self._acao_headers,
|
|
|
+ )
|
|
|
except Exception as e:
|
|
|
return self._unknown_error(user, username, e, after="password")
|
|
|
return await self._finish_login(user, state, api, login_resp=resp, after="password")
|