/twitch-watcher

Automatic watching the twitch to get drop

Primary LanguageJavaScriptMIT LicenseMIT

Twitch watcher

I spent two days watching Valorant streams to get a drop. I got bored...

GitHub package.json version GitHub GitHub repo size GitHub issues

Features

  • 🎥 True HTTP Live Streaming support (Forget the #4000 error code)
  • 📦 Periodically check for drops and claim them
  • 🔐 Cookie-based login
  • 📜 Auto accept cookie policy
  • 👨‍💻 The choice of a random streamer with drop-enabled tag
  • 🤐 Unmuted stream
  • 🛠 Detect mature content-based stream and interact with it
  • 🛡 Proxy option
  • 📽 Automatic lowest possible resolution settings
  • 🧰 Highly customizable codebase
  • 📦 Deployable to VPS by docker

Requirements

  • Windows or Linux OS
  • Network connection (Should be obvious...)
  • Nodejs and NPM

Installation

🎥 Tutorial video by Ziyad 🎥

Windows

  1. Login to your twitch account
  2. Open inspector(F12 or Ctrl+Shift+I) on main site
  3. Find the stored cookie section
  4. Copy auth-token
  5. Clone this repo
  6. Install Chromium
  7. Usually the path to the Chromium executable is: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
  8. Install the dependencies with npm install
  9. Start the program with npm start

Linux

  1. Login to your twitch account
  2. Open inspector(F12 or Ctrl+Shift+I) on main site
  3. Find the stored cookie section
  4. Copy auth-token
  5. Clone this repo
  6. Install Chromium: TUTORIAL 🤗
  7. Locate Chromium executable: whereis chromium or whereis chromium-browser
  8. Install the dependencies with npm install
  9. Start the program with npm start

Docker

Docker Image Version (latest by date) Docker Pulls Docker Image Size (latest by date)

Docker is a set of platform as a service (PaaS) products that uses OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files. All containers are run by a single operating system kernel and therefore use fewer resources than virtual machines.

Requirements

Usage

  1. Download docker-compose-example.yml
  2. Rename docker-compose.yml
  3. Open and replace the token environment record
  4. Run with docker-compose up -d command

Dependencies

GitHub package.json dependency version (subfolder of monorepo) GitHub package.json dependency version (subfolder of monorepo) GitHub package.json dependency version (subfolder of monorepo) GitHub package.json dependency version (subfolder of monorepo) GitHub package.json dependency version (subfolder of monorepo) GitHub package.json dependency version (prod)

Troubleshooting

How does the token look like?

auth-token: rxk38rh5qtyw95fkvm7kgfceh4mh6u


Streamers.json is empty?

Try again with higher delay. Default delay:

const scrollDelay = 2000;

Go to code


Something went wrong?

Try non-headless mode. Set headless value to true, like this:

const showBrowser = true;

Go to code


Proxy?

Yes, of course:

const proxy = ""; // "ip:port" By https://github.com/Jan710

Go to code

OR

With Docker env:

proxy=PROXY_IP_ADDRESS:PROXY_PORT

Screenshot without non-headless mode

const browserScreenshot = false;

Go to code

Donation

Please donate to keep alive this project!

Especially the drop farmers who gather tons of money with this software!🤓

Buy Me A Coffee

Disclaimer

This code is for educational and research purposes only. Do not attempt to violate the law with anything contained here. I will not be responsible for any illegal actions. Reproduction and copy is authorised, provided the source is acknowledged.