Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Faced with the scenario of scalpers using bots to hog up all the inventory of popular holiday toys and sell them at ridiculously high markup prices, I decided to put up a fight so we can get our hands on things we need to survive the #Coronavirus quarantine(s).

License

NotificationsYou must be signed in to change notification settings

Prince25/StockAlertBot

Repository files navigation

Since I've been working multiple part-time jobs, I haven't had time to maintain or add new features. That is why I'm looking for developers who would like to volunteer to contribute to this project. Whether you're a JavaScript expert or you're intrigued by the idea of programming, please contact me on DiscordPrince#0584 or emailprince112592@yahoo.com.

StockAlertBot

Faced with the scenario of scalpers using bots to hog up all the inventory of popular holiday toys and sell them at ridiculously high markup prices, I decided to put up a fight so we can get our hands on things wewant need to survive the #Coronavirus quarantine(s).

Of course, this is only half the battle. For full writeup on scoring items, lookhere.



Donate, buy me aPizza orPayPal me if you'd like to see this project expanded and support me. :)

Paypal me

Buy Me A CoffeePaypal me

How does it work?

Enter links of the products you want tracked and how often you want the program to monitor them. When an item becomes available, you will be alerted through variety of notifications.

Features

  • Add links and change settingseasily through a browser page
  • Complete control over check intervals
    • Ability to freely set monitor frequency,no limits
    • Ability to space out checks if multiple items per store
    • Ability to override default interval and define frequency for each store
  • Proxy Support
  • Automatically opens a product's URL upon restock
  • Notifications
    • Desktop
    • Email
    • SMS / Text
    • Terminal
    • Webhooks: Discord, IFTTT, and Slack

What stores/websites are supported?

Currently, the following stores are supported:

  • AntOnline
  • Amazon, with ability to track stock by a particular merchant
  • Argos (UK. Does not currently work with proxies)
    For PS5, use the following links. Disc:https://www.argos.co.uk/product/8349000, Digital:https://www.argos.co.uk/product/8349024
  • Best Buy, including open-box and packages (Does not currently work with proxies)
  • Currys (UK)
  • Ebuyer (UK)
  • Gamestop (Does not currently work with proxies)
  • Microcenter
  • Newegg, including combo deals
  • Target, including local stock
  • Tesco (UK. Does not currently work with proxies)
  • Walmart (No third party sellers)

Console Screenshot



Prerequisites

  1. A Terminal: (cmd (Windows),Terminal (macOS), orConsole (Linux))
  2. InstallNode.js, either LTS or Current.
  3. Clone ordownload this repositorygit clone https://github.com/Prince25/StockAlertBot.git
  4. Go to root directorycd StockAlertBot
  5. Install npm packages via a terminalnpm install

Usage

There are only two steps to use this program: 1) enter information and 2) launch the program.

  1. You can now enter information using two ways: via a browser (recommended) or a text editor.

    Via Browser

    Expand
    1. At the root directory, run on the terminal:npm run settings
      A browser window should open up. If it doesn't and the console saysServer started!, go to:http://localhost:3250/ in your browser.
    2. Enter the links of the items you want to track in the URLs tab.
    3. Go to Settings tab and change to your heart's content.
      • Set how often you want to check the stores for given URLs and how much to space out the checks between items. It's not recommended to set it to 0 as you may be flagged as a bot. If you have 3 items (call them A, B, C) for Amazon and 2 items for Walmart (call them D, E) at 10 second interval spaced out at 2 seconds, for example, Items A and D will be checked first. 2 seconds later, items B and E will be checked. 2 seconds later, item C will be checked. The checks will start again in 8 seconds for Walmart and 10 seconds for Amazon.
      • If you want to use Proxies, turn it on and create a file calledproxies.txt in theconfig folder and fill it with one proxy per line. Seeproxies.
      • If you have Amazon link(s), you will see an option to pick a region. Select a region if you want to only monitor items sold by Amazon and not third party sellers. If you want to use a particular seller or if your region is not in the list, selectCustom and provide the merchant ID. SeeFeedback and Support if you'd like to request a region.
      • If you have Target link(s), you will see additional options to put zip code and API Key. Only change the key if you get API key errors. Refer to the instructions in the followingsection.
    4. Configure notification options in Optional tab.
      • If you want notifications sent toDiscord,IFTTT, orSlack, expand WEBHOOKS and enter the webhook URL(s) there.
      • If you want notification sent via SMS/Text, expand SMS and choose a method: Amazon Web Services, Email, or Twilio. SeeSMS.
      • If you want notifications sent to Email, turn on email and enter your service provider information. Some providers (Yahoo, AOL, AT&T) cause problems. Refer to thissection.
    5. Once you're happy with the settings, clickSave Settings.
      config.json and.env files in theconfig directory should now reflect your settings.
      You can useCTRL + C orCMD + C to stop the program.

    Via Text Editor

    Expand

    Open and editconfig.json in theconfig directory

    1. Add urls of products in theURLS array
    2. Change theINTERVAL to suit your desires.
      You can override this default interval for any store by changingSTORE_INTERVALS in the following manner:
      "STORE_INTERVALS": { "newegg": { "unit": "seconds", "value": 10 } },
      WARNING: Having the interval too low might have negative consquences such as this program being detected as a bot or blocking your IP from accessing the website entirely. Seeproxies. SettingTIME_BETWEEN_CHECKS might help prevent this. See step 3a from the othermethod for a detailed explanation and an example.
    3. SetOPEN_URL to false if you don't want the application to automatically open urls when item is in stock
    4. SetDESKTOP to false if you want to disable desktop and audible warnings
    5. Optional Settings.
      1. If you're planning to track Amazon item(s), you can also set a merchant ID inAMAZON_MERCHANT_ID to only get prices from a ceratin merchant. The othermethod allows you to select pre-configured IDs items only sold by Amazon depending on the region.
      2. If you're planning to track Target item(s), enter your zip code inTARGET_ZIP_CODE.
        NOTE: If you encounter an error relating to API Key, you need to get this key yourself:
        1. Go to target.com with the DevTools (Chrome) or Developer Tools (Firefox) open (Google or ask if you're unsure how)
        2. On the console, you should see GET requests as you load the page.
          In DevTools, you have to click the gear and check "Log XMLHttpRequests" to see them
        3. Click on any of the urls that has the string "key=" and copy the whole key
        4. Paste it toTARGET_KEY
      3. If you want to send alerts to webhook URL(s) likeDiscord,IFTTT, orSlack, add them toWEBHOOK_URLS array.
      4. If you want to use Proxies, changePROXIES totrue and create a file calledproxies.txt in theconfig directory and fill it with one proxy per line. Seeproxies.
      5. If you want to send alerts to email, changeEMAIL totrue. Make a copy ofexample.env in theconfig directory and rename it to.env. Inside.env, type out one of the service providers (EMAIL_SERVICE) listed inEmail, your email (EMAIL_FROM) and password (EMAIL_PASS) and the email you want alerts sent to (EMAIL_TO). All without quotes.
      6. If you want to send alerts to SMS, changeSMS_METHOD to either "Email", "Amazon Web Services", or "Twilio". Then change the associated values in.env. SeeSMS.

  2. Execute and continue about your day:npm start ORnode --experimental-modules main.js
    You can useCTRL + C orCMD + C to stop the program.

  3. Considerdonating or buying me aPizza orPayPal me 😄


Email

Expand for important information

Supported email providers:

    Gmail, Yahoo, iCloud, Hotmail, Outlook365, QQ, 126, 163, 1und1, AOL, DebugMail, DynectEmail,     FastMail, GandiMail, Godaddy, GodaddyAsia, GodaddyEurope, hot.ee, mail.ee, Mail.ru, Maildev, Mailgun, Mailjet,     Mailosaur, Mandrill, Naver, OpenMailBox, Postmark, QQex, SendCloud, SendGrid, SendinBlue, SendPulse, SES,     SES-US-EAST-1, SES-US-WEST-2, SES-EU-WEST-1, Sparkpost, Yandex, Zoho, qiye.aliyun

NOTE: If you receive the error:535 5.7.0 (#AUTH005) Too many bad auth attempts, most likely you are using Yahoo for the email server or an email server managed by Yahoo, such as AOL or AT&T. Yahoo has implemented an option that by default, does not let 3rd party products access the email servers. To resolve, go tohttps://login.yahoo.com/account/security and then enable the option to allow apps that use less secure sign in. Use the password generated by "Generate app password". If you are using AOL, do the same thing, fromhttps://login.aol.com/account/security.


SMS

Expand for important information

SMS / Text support is available via Amazon Web Services, Email, or Twilio. This, however, requires some setup on your part. Read below regarding setup for each method:

  • Amazon Web Services
    First, read pricing informationhere. First 100 SMS are free for each month as long as you send them to a United States destination. For this method, you will need:

    • Region
    • Access Key
    • Secret Access Key
    • Phone Number

    Region is Amazon server you want to send from. It's probably best to choose one closest to you. More informationhere.
    Access Key and Secret Access Key can be obtained following instructions in thistutorial.
    Phone number is the number to send SMS to. You will need to include country code and area code. Country code information can be foundhere.

  • Email
    FREE but limited. Uses email to send text via phone carrier'sSMS gateway. Mostly the same setup asEmail.
    Currently supported carriers: Alltel, AT&T, Boost Mobil, Cricket Wireless, EE, FirstNet, Google Project Fi, MetroPCS, O2, Republic Wireless, Sprint, Straight Talk, T-Mobile, Ting, U.S. Cellular, Verizon Wireless, Virgin Mobile, Vodafone.
    If you'd like to request a carrier, please refer toFeedback and Support and provide your carrier's SMS gateway if possible.

  • Twilio
    First, read pricing informationhere. You get some free starting balance with which you can buy a Twilio phone number. For this method, you will need:

    • Twilio Account SID
    • Twilio Auth Token
    • Twilio Phone Number
    • Phone Number

    The first three can easily be obtained from theTwilio console after you make a Twilio account.
    Phone number is the number to send SMS to. You will need to include country code and area code. Country code information can be foundhere.


Proxies

Expand for important information

If you plan to use low interval rates OR track several items from one store, it is highly recommended that you use proxies such as ones fromWebshare in the formatip:port for IP-based authentication orusername:password@ip:port.

NOTE: The following stores do not currently work with proxies due to them blocking some connections/headers which results in inconsistent connection: Argos, Best Buy, Gamestop and Tesco. Thus I thought it'd be best to take off proxy support for now until further research is done or an alternative way is found.


Screenshots

Screenshot of URLs

Screenshot of Settings

Screenshot of Optional

Feedback and Support

To ensure this program continues to work, please report bugs by creating anissue.
To ask questions, give feedback or suggestions among other things, create a newdiscussion.
To contribute code, programming questions/guidance, gaming sessions, and more, add me on Discord: Prince#0584
To provide monetary support,donate or buy me aPizza orPayPal me

Timeline

v4.0: Complete code overhaul! Better control over intervals, new stores and notifications! (seeFeatures)

v3.0: SMS / Text notification support 📱 !! (seeSMS)

v2.0: 📧 E-mail notification support and an user interface 💻 (seescreenshots)

v1.0: Official release! New name and webhook notification support.

Things to work on

  • Add more stores
    • Newegg search pages
    • Best Buy preorder alerts
    • B&H Photo Video (no longer supported)
    • Ebuyer
    • Walmart
    • Gamestop
    • Currys
    • Newegg Combos
    • Newegg
    • AntOnline
    • Target
    • Tesco
    • Argos
  • Add tests
  • Documentation page
  • Twitter notifications
  • Add delay between items from the same store
  • More OOP!!
    • Add way to track notification status independent of items in a store
  • Fix Find Bugs
    • Fix notifications relying onOPEN_URL
  • Add Ability to use certain Amazon Merchants
  • Add Email and SMS Notifications
  • Add Proxies
  • Add GUI - Make it easier to use
  • Initially create seperation between intervals for Amazon items
  • Add a way to have independent delay timers for Amazon
  • Open product page when in stock
  • Add webhookURL to enable posting messages to Slack and Discord

Main Technologies

License

See theLICENSE file for license rights and limitations (MIT).

About

Faced with the scenario of scalpers using bots to hog up all the inventory of popular holiday toys and sell them at ridiculously high markup prices, I decided to put up a fight so we can get our hands on things we need to survive the #Coronavirus quarantine(s).

Topics

Resources

License

Stars

Watchers

Forks

Contributors5


[8]ページ先頭

©2009-2026 Movatter.jp