jef / streetmerchant

🤖 The world's easiest, most powerful stock checker
https://jef.buzz/streetmerchant
MIT License
4.96k stars 1.31k forks source link

[Bug]: MAX_PRICE_SERIES_* Not Working on Amazon (US) #2926

Closed designbystephen closed 2 years ago

designbystephen commented 2 years ago

Expected Behavior

Product should be ignored if above max value filter.

info :: ✖ [amazon] [msi (3090)] gaming x trio :: IN STOCK, PRICE xxxx EXCEEDS LIMIT xxxxThe product

Current Behavior

Currently, the app is logging to the console as "in stock", notifications are being triggered, the web browser is opening, and the product is attempting to add to a cart.

What operating system are you seeing the problem on?

Windows

Relevant log output

info :: 🚀🚨 [amazon] [msi (3090)] gaming x trio :: IN STOCK 🚨🚀

Configuration

# ** All configuration variables are optional **
# Copy this file and name it as `dotenv` (without backticks)
# Read https://jef.buzz/streetmerchant/getting-started/#customization for help on customizing this file
########################################################################################################

ASCII_BANNER=
ASCII_COLOR=
APNS_AUTHKEY=
APNS_BUNDLEID=
APNS_DEVICETOKEN=
APNS_KEYID=
APNS_PRODUCTION=
APNS_TEAMID=
AUTO_ADD_TO_CART=
BROWSER_TRUSTED=
CAPTCHA_HANDLER_CAPTURE_TYPE=
CAPTCHA_HANDLER_POLL_INTERVAL=
CAPTCHA_HANDLER_RESPONSE_TIMEOUT=
CAPTCHA_HANDLER_SERVICE=
CAPTCHA_HANDLER_TOKEN=
CAPTCHA_HANDLER_USER_ID=
DESKTOP_NOTIFICATIONS=
DISCORD_NOTIFY_GROUP=
DISCORD_NOTIFY_GROUP_3060=
DISCORD_NOTIFY_GROUP_3060TI=
DISCORD_NOTIFY_GROUP_3070=
DISCORD_NOTIFY_GROUP_3070TI=
DISCORD_NOTIFY_GROUP_3080=
DISCORD_NOTIFY_GROUP_3080TI=
DISCORD_NOTIFY_GROUP_3090=
DISCORD_NOTIFY_GROUP_CORSAIR_SF=
DISCORD_NOTIFY_GROUP_RX6800=
DISCORD_NOTIFY_GROUP_RX6800XT=
DISCORD_NOTIFY_GROUP_RX6900XT=
DISCORD_NOTIFY_GROUP_RYZEN5600=
DISCORD_NOTIFY_GROUP_RYZEN5800=
DISCORD_NOTIFY_GROUP_RYZEN5900=
DISCORD_NOTIFY_GROUP_RYZEN5950=
DISCORD_NOTIFY_GROUP_SONYPS5C=
DISCORD_NOTIFY_GROUP_SONYPS5DE=
DISCORD_NOTIFY_GROUP_XBOXSX=
DISCORD_NOTIFY_GROUP_XBOXSS=
DISCORD_NOTIFY_GROUP_TEST=
DISCORD_WEB_HOOK=
EMAIL_PASSWORD=
EMAIL_TO=
EMAIL_USERNAME=
GOTIFY_PRIORITY=
GOTIFY_TOKEN=
GOTIFY_URL=
HEADLESS=
IN_STOCK_WAIT_TIME=
INCOGNITO=
LOG_LEVEL=
LOW_BANDWIDTH=true
MAX_PRICE_SERIES_3060=
MAX_PRICE_SERIES_3060TI=
MAX_PRICE_SERIES_3070=
MAX_PRICE_SERIES_3070TI=
MAX_PRICE_SERIES_3080=
MAX_PRICE_SERIES_3080TI=
MAX_PRICE_SERIES_3090=1599
MAX_PRICE_SERIES_CORSAIR_SF=
MAX_PRICE_SERIES_RX6800=
MAX_PRICE_SERIES_RX6800XT=
MAX_PRICE_SERIES_RX6900XT=
MAX_PRICE_SERIES_RYZEN5600=
MAX_PRICE_SERIES_RYZEN5800=
MAX_PRICE_SERIES_RYZEN5900=
MAX_PRICE_SERIES_RYZEN5950=
MAX_PRICE_SERIES_SONYPS5C=
MAX_PRICE_SERIES_SONYPS5DE=
MAX_PRICE_SERIES_XBOXSS=
MAX_PRICE_SERIES_XBOXSX=
MAX_PRICE_SERIES_TEST=
MICROCENTER_LOCATION=
MQTT_BROKER_ADDRESS=
MQTT_BROKER_PORT=
MQTT_CLIENT_ID=
MQTT_PASSWORD=
MQTT_QOS=
MQTT_TOPIC=
MQTT_USERNAME=
OPEN_BROWSER=
PAGE_BACKOFF_MIN=
PAGE_BACKOFF_MAX=
PAGE_SLEEP_MIN=
PAGE_SLEEP_MAX=
PAGE_TIMEOUT=
PAGERDUTY_INTEGRATION_KEY=
PAGERDUTY_SEVERITY=
PHILIPS_HUE_API_KEY=
PHILIPS_HUE_CLOUD_ACCESS_TOKEN=
PHILIPS_HUE_CLOUD_CLIENT_ID=
PHILIPS_HUE_CLOUD_CLIENT_SECRET=
PHILIPS_HUE_CLOUD_REFRESH_TOKEN=
PHILIPS_HUE_LAN_BRIDGE_IP=
PHILIPS_HUE_LIGHT_COLOR=
PHILIPS_HUE_LIGHT_IDS=
PHILIPS_HUE_LIGHT_PATTERN=
PHONE_CARRIER=
PHONE_NUMBER=
PLAY_SOUND=
PROXY_ADDRESS=
PROXY_PROTOCOL=
PROXY_PORT=
PUSHBULLET=
PUSHOVER_EXPIRE=
PUSHOVER_DEVICE=
PUSHOVER_PRIORITY=
PUSHOVER_RETRY=
PUSHOVER_SOUND=
PUSHOVER_TOKEN=
PUSHOVER_USER=
REDIS_URL=
RESTART_TIME=
SCREENSHOT=
SCREENSHOT_DIR=
SHOW_ONLY_BRANDS=
SHOW_ONLY_MODELS=
SHOW_ONLY_SERIES=3080,3080TI,3090
SLACK_CHANNEL=
SLACK_TOKEN=
SMTP_ADDRESS=
SMTP_PORT=
STORES=
TELEGRAM_ACCESS_TOKEN=
TELEGRAM_CHAT_ID=
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_FROM_NUMBER=
TWILIO_TO_NUMBER=
TWITCH_ACCESS_TOKEN=
TWITCH_CHANNEL=
TWITCH_CLIENT_ID=
TWITCH_CLIENT_SECRET=
TWITCH_REFRESH_TOKEN=
TWITTER_ACCESS_TOKEN_KEY=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_TWEET_TAGS=
STREAMLABS_ACCESS_TOKEN=
STREAMLABS_TYPE=
STREAMLABS_IMAGE=
STREAMLABS_SOUND=
STREAMLABS_DURATION=
FREEMOBILE_ID=
FREEMOBILE_API_KEY=
WEB_PORT=

Code of Conduct

designbystephen commented 2 years ago

https://github.com/jef/streetmerchant/pull/2914

designbystephen commented 2 years ago

https://github.com/jef/streetmerchant/pull/2856#issuecomment-1011700137

Proryanator commented 2 years ago

I noticed this too yeah, just started running this yesterday 😁 how often is the docker image updated? I'm running that.

MitchellPT commented 2 years ago

Same with Amazon UK

Bleala commented 2 years ago

Same with Amazon DE

toneewa commented 2 years ago

We need to be able to have the option to NOT do alerts, if it's NOT Sold & Shipped by Amazon. Problem would be solved. 3rd party listings are the problem, when they list them as Used, it will bypass the filters. image

stephen-roth commented 2 years ago

Then we should have an OR case instead of a single value element. That way it is more future proof, region independent and etc.

IMO should not be written to match a case by case basis, and instead have the getPrice check for a known set of html elements that can contain the price, eventually returning null (or whatever escapes to logic).

I can take a look at the code later and have better details and maybe a solution.

toneewa commented 2 years ago

Then we should have an OR case instead of a single value element. That way it is more future proof, region independent and etc.

IMO should not be written to match a case by case basis, and instead have the getPrice check for a known set of html elements that can contain the price, eventually returning null (or whatever escapes to logic).

I can take a look at the code later and have better details and maybe a solution.

That would probably work for regular items. However, we're talking about graphics cards. I don't think there are many, if any, 3rd parties that are MSRP. I'd rather do away with them all. They also have multi-tabbed product pages. Goodluck.

jef commented 2 years ago

Same with Amazon DE

Same with Amazon UK

Seems like these need updating too. Maybe we can make a couple issues with these so we can track them?

ziest88 commented 2 years ago

vale lo stesso per amazon-it