nvidia-snatcher
The purpose of this bot is to get an Nvidia card. It tries multiple things to do that.
- Currently,
nvidia-snatcher
is not capable of purchasing a card for you - Scrapes multiple websites for patterns of being stocked
- API requests are a work in progress (very soon)
- Opens browser when stock is available
- Sends an email to you when stock is avaiable (must have Gmail)
What you may see if you're lucky
2020-09-18T07:06:28.535Z info :: ✖ [nvidia] nvidia founders edition is still out of stock
2020-09-18T07:06:31.241Z info :: ✖ [nvidia] nvidia founders edition is still out of stock
2020-09-18T07:06:34.212Z info :: ✖ [bestbuy] nvidia founder edition is still out of stock
2020-09-18T07:06:39.878Z info :: ✖ [bandh] gigabyte black is still out of stock
2020-09-18T07:06:43.236Z info :: ✖ [bestbuy] gigabyte black is still out of stock
2020-09-18T07:06:43.318Z info :: ↗ trying stores again
2020-09-18T07:06:43.318Z info :: 🚀🚀🚀 [nvidia] nvidia founders edition IN STOCK 🚀🚀🚀
2020-09-18T07:06:43.318Z info :: https://store.nvidia.com/store/nvidia/en_US/buy/productID.5438481700/clearCart.yes/nextPage.QuickBuyCartPage
👉 You may get false positives from time to time, so I apologize for that. The library currently waits for all calls to be completed before parsing, but sometimes this can have unknown behavior. Patience is a virtue :)
Amazon | EVGA | Best Buy | B&H | Micro Center | Newegg | Nvidia | |
---|---|---|---|---|---|---|---|
3070 | |||||||
3080 | ✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
3090 |
Installation and prerequisites
Linux, macOS, and Windows are all capable operating systems.
You do not need any computer skills, smarts, or anything of that nature. You are very capable as you have made it this far. Some basic understanding how a terminal, git, and or Node.js is a bonus, but that does not limit you to getting nvidia-snatcher
running!
Quick overview
- Node.js 14
- git
- Clone this project
git clone https://github.com/jef/nvidia-snatcher.git
- Run
npm install
- Copy
.env.example
to a new file.env
and edit the.env
file to your liking using your favorite text editor- More on this in customization
- Run
npm run start
to start
At any point you want the program to stop, use Ctrl + C.
👉 Please visit the wiki if you need more help with installation.
Customization
To customize nvidia-snatcher
, make a copy of .env-example
as .env
and make any changes to your liking.
Here is a list of variables that you can use to customize your newly copied .env
file:
Environment variable | Description |
---|---|
EMAIL_USERNAME |
Gmail address (e.g., jensen.robbed.us@gmail.com ); optional |
EMAIL_PASSWORD |
Gmail password; see below if you have MFA; optional |
NOTIFICATION_TEST |
Test all the notifications configured; optional, default: false |
PAGE_TIMEOUT |
Navigation Timeout in milliseconds (0 for infinite); optional, default: 30000 |
PHONE_NUMBER |
10 digit phone number (e.g., 1234567890 ); optional, email configuration required |
PHONE_CARRIER |
Supported carriers for SMS; optional, email configuration required |
RATE_LIMIT_TIMEOUT |
Rate limit timeout for each full store cycle; optional, default: 5000 |
SHOW_ONLY_BRANDS |
If set, will only show specified brands, seperated by , |
SLACK_CHANNEL |
Slack channel for posting (e.g., update ); optional |
SLACK_TOKEN |
Slack API token; optional |
STORES |
Supported stores you want to be scraped; optional, default: nvidia |
OPEN_BROWSER |
Toggle for whether or not the browser should open when item is found, default: true |
PLAY_SOUND |
Play this sound notification if a card is found.; optional |
SCREENSHOT |
Capture screenshot of page on successful hit; optional, default true |
TELEGRAM_ACCESS_TOKEN |
Telegram access token; optional |
TELEGRAM_CHAT_ID |
Telegram chat ID; optional |
👉 If you have multi-factor authentication (MFA), you will need to create an app password and use this instead of your Gmail password.
👉 Free sounds available here. Place sounds into
resources/sounds/
Supported stores
Stores | Environment variable |
---|---|
Best Buy | bestbuy |
Amazon.ca | amazon-ca |
Amazon | amazon |
B&H | bandh |
EVGA | evga |
Micro Center | microcenter |
Newegg | newegg |
Nvidia | nvidia |
Supported carriers
Carrier | Environment variable | Notes |
---|---|---|
AT&T | att |
|
google |
||
Mint | mint |
|
Sprint | sprint |
|
Telus | telus |
|
T-Mobile | tmobile |
|
Verizon | verizon |
Works with Visible |
FAQ
Q: What's Node.js and how do I install it? Visit their website and download and install it. Very straight forward. Otherwise, Google more information related to your system needs.
Q: Will this harm my computer? No.
Q: Have you gotten a card yet? No. 😢
Q: Will I get banned from of the stores? Perhaps, but getting a card is a nice outcome.
Q: I got a problem and need help! File an issue, I'll do my best to get to you. I work a full time job and this is only a hobby of mine.
Q: I'd love to contribute, how do I do that? Make a pull request! All contributions are welcome.
Q: Why do I have to download all this stuff just to get this bot working? Well, I would rather you didn't either. See #11.
Acknowledgements
Thanks to the great contributors that make this project possible
Special shout to initial developers: