GithubHelp home page GithubHelp logo

rorybyrne / nvidia-snatcher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jef/streetmerchant

0.0 1.0 0.0 274 KB

:robot: Autonomous robot for all your Nvidia needs

License: MIT License

TypeScript 100.00%

nvidia-snatcher's Introduction

nvidia-snatcher ci discord

FAQ | Issues | Wiki

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 :)

Adorama Amazon ASUS 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
  • 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. Note that all environment variables are optional.

Here is a list of variables that you can use to customize your newly copied .env file:

Environment variable Description Notes
DESKTOP_NOTIFICATIONS Display desktop notifications using node-notifier; optional Default: false
DISCORD_NOTIFY_GROUP Discord group you would like to notify; optional E.g.: @here
DISCORD_WEB_HOOK Discord Web Hook URL
EMAIL_USERNAME Gmail address E.g.: [email protected]
EMAIL_PASSWORD Gmail password See below if you have MFA
HEADLESS Puppeteer to run headless or not Debugging related, default: true
LOG_LEVEL Logging levels Debugging related, default: info
OPEN_BROWSER Toggle for whether or not the browser should open when item is found Default: true
PAGE_TIMEOUT Navigation Timeout in milliseconds 0 for infinite, default: 30000
PHONE_NUMBER 10 digit phone number E.g.: 1234567890, email configuration required
PHONE_CARRIER Supported carriers for SMS Email configuration required
PLAY_SOUND Play this sound notification if a card is found E.g.: path/to/notification.wav, relative path accepted, valid formats: wav, mp3, flac, free sounds available
PUSHOVER_TOKEN Pushover access token Generate at https://pushover.net/apps/build
PUSHOVER_USER Pushover username
PAGE_SLEEP_MIN Minimum sleep time between queries of the same store Default: 5000
PAGE_SLEEP_MAX Maximum sleep time between queries of the same store Default: 10000
SHOW_ONLY_BRANDS Filter to show specified brands Comma separated, E.g.: evga,zotac
SHOW_ONLY_SERIES Filter to show specified series Comma separated, E.g.: 3080
SLACK_CHANNEL Slack channel for posting E.g., update, no need for #
SLACK_TOKEN Slack API token
STORES Supported stores you want to be scraped Comma separated, default: nvidia
SCREENSHOT Capture screenshot of page if a card is found Default: true
TELEGRAM_ACCESS_TOKEN Telegram access token
TELEGRAM_CHAT_ID Telegram chat ID
USER_AGENT Custom User-Agent header for HTTP requests Default: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

👉 If you have multi-factor authentication (MFA), you will need to create an app password and use this instead of your Gmail password.

👉 You can find your computer's user agent by searching google for "my user agent"

👉 You can test your notification configuration by running npm run test:notification.

Supported stores

Stores Environment variable
Adorama adorama
Amazon amazon
Amazon.ca amazon-ca
ASUS asus
Best Buy bestbuy
B&H bandh
EVGA evga
Micro Center microcenter
Newegg newegg
Nvidia nvidia

Supported carriers

Carrier Environment variable Notes
AT&T att
Google 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:

nvidia-snatcher's People

Contributors

jef avatar admon84 avatar doridian avatar github-actions[bot] avatar malbert69 avatar geman220 avatar bmalaski avatar esg450 avatar fuckingrobot avatar anethema avatar vp-regular avatar whoisjordangarcia avatar ioncaza avatar vmnt avatar dependabot[bot] avatar wulfre avatar therrell avatar wuruochong avatar nacgarg avatar lukszi avatar kevintongg avatar joeschofield avatar gylli251 avatar fmarvez avatar dakkjaniels avatar fivezeroes avatar kafagy avatar thegutuproject avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.