This commit is contained in:
mwiegand 2022-04-10 21:19:36 +02:00
parent 9107e00bb2
commit dd7f82ee0b

54
app.py
View file

@ -9,37 +9,48 @@ from os import environ
import imaplib import imaplib
import email import email
from time import sleep from time import sleep
from os import path
# get previously known message ids from imap server
print('loggin into IMAP Server:', environ['IMAP_HOST'])
Mailbox = imaplib.IMAP4_SSL(environ['IMAP_HOST'])
Mailbox.login(environ['IMAP_USER'], environ['IMAP_PASSWORD'])
Mailbox.select()
typ, data = Mailbox.search(None, '(FROM "noreply@steampowered.com" SUBJECT "Your Steam account: Access from new web or mobile device")')
old_msg_ids = data[0].split()
# perform steam login
print('loggin into STEAM:', environ['STEAM_USERNAME']) print('loggin into STEAM:', environ['STEAM_USERNAME'])
user = wa.MobileWebAuth(environ['STEAM_USERNAME'])
user = wa.WebAuth(environ['STEAM_USERNAME']) # try oauth token
try: try:
print('trying oauth login')
with open('oauth_token', 'r') as file:
user.oauth_login(file.read(), steam_id=environ['STEAM_ID'], language='english')
print('oauth login successful')
except (wa.LoginIncorrect, FileNotFoundError) as exp:
print('oauth login failed:', exp)
# get previously known message ids from imap server
print('loggin into IMAP Server:', environ['IMAP_HOST'])
Mailbox = imaplib.IMAP4_SSL(environ['IMAP_HOST'])
Mailbox.login(environ['IMAP_USER'], environ['IMAP_PASSWORD'])
Mailbox.select()
typ, data = Mailbox.search(None, '(FROM "noreply@steampowered.com" SUBJECT "Your Steam account: Access from new web or mobile device")')
old_msg_ids = data[0].split()
# perform steam login
try:
user.login(environ['STEAM_PASSWORD']) user.login(environ['STEAM_PASSWORD'])
except (wa.LoginIncorrect) as exp: except (wa.LoginIncorrect) as exp:
print('ERROR: loggin incorrect') print('ERROR: loggin incorrect')
raise raise
except (wa.CaptchaRequired) as exp: except (wa.CaptchaRequired) as exp:
print('ERROR: captcha required:', user.captcha_url) print('ERROR: captcha required:', user.captcha_url)
#user.login(password=environ['STEAM_PASSWORD'], captcha=input("Captcha: ")) #user.login(password=environ['STEAM_PASSWORD'], captcha=input("Captcha: "))
raise raise
except wa.TwoFactorCodeRequired: except wa.TwoFactorCodeRequired:
print('ERROR: 2FA code required') print('ERROR: 2FA code required')
#user.login(twofactor_code=input("2FA Code: ")) #user.login(twofactor_code=input("2FA Code: "))
raise raise
except wa.EmailCodeRequired: except wa.EmailCodeRequired:
print('getting email code') print('getting email code')
while True: while True:
typ, data = Mailbox.search(None, '(FROM "noreply@steampowered.com" SUBJECT "Your Steam account: Access from new web or mobile device")') typ, data = Mailbox.search(None, '(FROM "noreply@steampowered.com" SUBJECT "Your Steam account: Access from new web or mobile device")')
@ -65,7 +76,12 @@ except wa.EmailCodeRequired:
break break
print('code found:', code) print('code found:', code)
user.login(email_code=code) user.login(email_code=code, language='english')
with open('oauth_token', 'w') as file:
file.write(user.oauth_token)
print('password login successful')
# CRAWL # CRAWL