daleengelhorn / bestbuybot

Bot to buy the RTX 3080
17 stars 3 forks source link

bestbuy email verification #3

Open lanscapesystems opened 3 years ago

lanscapesystems commented 3 years ago

Could this program be easily altered to enter the BestBuy checkout verification code from the email they send to me?

ghost commented 3 years ago

Yes but this isn't really an issue more of a feature request.

Option 1: You need to first trigger the verification process, detect the verification code input field, and likely have more code included to grab the code from your email, then put that data in and submit/move on to checkout.

  1. So what you would likely do is throw an exception that states verification page detected please enter a code.

  2. First have Selenium login to Google or use existing session, search for the verification email, grab most recent one, copy to clipboard, and submit to step 1 via pasting. For this to be automated you would likely need an email which has two-step verification disabled or if account is set to never log out of session on chosen device.

  3. Maybe use a separate script for '2' that hooks into GMAIL API. For more info look here: https://developers.google.com/gmail/api/

Not sure how helpful this explanation would be for you but I hope it can clear some things up!

lanscapesystems commented 3 years ago

Very helpful info. I guess it could be considered a feature request but without it you risk missing out on a drop.

When does BestBuy require verification?

ghost commented 3 years ago

Honestly it's hard to say 100% but I can give you some general cases:

  1. New Logins Associated with your BestBuy Account.
  2. Lots of Requests originating from the Same Account/IP.
  3. If you or the bot fails the _abck token flag. I talk about it in the other issue that was opened regarding Chrome Automation. I think you commented on it before.

If this is happening every single time to you now, even when browsing from your web-browser without the Bot, I'd say its likely your account has been flagged on their end or you just need to wait a few hours, or if you can't wait access from a new IP. Proxies would be the ideal way to avoid this as you would program them to create a new session every time but you'd need to dish out extra cash to get private/residential proxies. This approach also opens the door to getting reCaptchas for verification, though. :(

Try increasing the wait time to 15 seconds and changing user agent in selenium; I posted how to do this on the other issues thread.

lanscapesystems commented 3 years ago

I'll try increasing the wait time.

Has anyone managed to acquire an rtx card with this?

ghost commented 3 years ago

Hey quick update for you. This in java but the instructions and code is all there to access GMAIL account via Selenium.

https://www.youtube.com/watch?v=tuJCXNqwUhY

lanscapesystems commented 3 years ago

Thanks! I checked the cookie and it has me flagged.