From e136d77ade761bf34de5d23e81d3605c8879ff07 Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Sat, 20 Jul 2019 16:00:32 +0200 Subject: [PATCH] Fix 2FA login error, closes #442, replaces #443 --- fbchat/_client.py | 7 ++++++- fbchat/_state.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fbchat/_client.py b/fbchat/_client.py index 3415883..63e6334 100644 --- a/fbchat/_client.py +++ b/fbchat/_client.py @@ -251,7 +251,12 @@ class Client(object): for i in range(1, max_tries + 1): try: - state = State.login(email, password, user_agent=user_agent) + state = State.login( + email, + password, + on_2fa_callback=self.on2FACode, + user_agent=user_agent, + ) uid = state.get_user_id() if uid is None: raise FBchatException("Could not find user id") diff --git a/fbchat/_state.py b/fbchat/_state.py index 28965e9..08f0aec 100644 --- a/fbchat/_state.py +++ b/fbchat/_state.py @@ -107,7 +107,7 @@ class State(object): } @classmethod - def login(cls, email, password, user_agent=None): + def login(cls, email, password, on_2fa_callback, user_agent=None): session = session_factory(user_agent=user_agent) soup = find_input_fields(session.get("https://m.facebook.com/").text)