Skip to content

Conversation

@aUniqueUser
Copy link

login/dologin/ was borked by valve, pr addresses issue by using the new login system

todo:

  • steam email/mobile guard support
  • replace WebAuth class with WebAuth2 class
@aUniqueUser
Copy link
Author

aUniqueUser commented Oct 24, 2023

resolves #451 #450 after completion.
#452 will need to be looked into, anyone welcome to contribute.

@negstek
Copy link

negstek commented Oct 24, 2023

@aUniqueUser I gave a try with your code but it does not work. I tried this:

user = wa.WebAuth2(STEAM_BOT_NAME) steam_session = user.login(STEAM_BOT_PASSWORD) item_name="AK-47 | Aquamarine Revenge (Factory New)" url = f"https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name={item_name}" request = steam_session.get(url) result = json.loads(request.text) print(result) 

but I get this exception:
, line 144, in _startSessionWithCredentials self.clientID = r['response']['client_id'] ~~~~~~~~~~~~~^^^^^^^^^^^^^ KeyError: 'client_id'
response is empty except for interval argument:

r = {'response': {'interval': 5, 'extended_error_message': ''}}

@negstek
Copy link

negstek commented Oct 24, 2023

Forget about my previous answer, you changed a bit the behavior of the login method so my legacy code failed but after a deeper look into your code it works fine using login with username and password attributes

user = wa.WebAuth2() steam_session = user.login(STEAM_BOT_NAME, STEAM_BOT_PASSWORD) item_name="AK-47 | Aquamarine Revenge (Factory New)" url = f"https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name={item_name}" request = steam_session.get(url) result = json.loads(request.text) print(result) 

works fine, thank you very much for your help.

@aUniqueUser
Copy link
Author

Yea before final merge I will need to correct it to work better with legacy code, good to see it working though 👍

'platform_type': '2',
'persistence': '1',
'website_id': 'Community'
}, 'IAuthentication', 'BeginAuthSessionViaCredentials', 1)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since I use the steam authenticator app I added support for it by adding the following lines here at line 144:

if "allowed_confirmations" in r['response']: print("Respond to steam guard within 10 seconds") sleep(10) 

and of course adding sleep to the import at row 58.

If you reply to the authentication before the _pollLoginStatus the login will continue as normal.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the info, ill full implement when i get some time and will add email auth aswell. Need to figure out what 'guard_data' is in here https://steamapi.xpaw.me/#IAuthenticationService/BeginAuthSessionViaCredentials

@Revibess
Copy link

Has anyone figured out how to add email authentication to this.

@artur1214
Copy link

Has anyone figured out how to add email authentication to this.

Yeah. I will write some staff into codebase and add pull request (about 1 day) mayble sooner, but it's 3 AM for me

@Revibess
Copy link

Has anyone figured out how to add email authentication to this.

Yeah. I will write some staff into codebase and add pull request (about 1 day) mayble sooner, but it's 3 AM for me

No worries, take your time.

@artur1214
Copy link

I added

Has anyone figured out how to add email authentication to this.

Yeah. I will write some staff into codebase and add pull request (about 1 day) mayble sooner, but it's 3 AM for me

No worries, take your time.

I added some changes, and will add MUCH more later. you can check them out in another PR: #454

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants