Auto Twitch Drop Claimer

Auto clicking "Click to claim" in inventory page

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name           Auto Twitch Drop Claimer
// @name:tr        Otomatik Twitch Drop Alıcı
// @namespace      https://github.com/Arcdashckr/Auto-Twitch-Drop-Claimer
// @version        1.0.1
// @description    Auto clicking "Click to claim" in inventory page
// @description:tr Drop Envanteri sayfasında "Şimdi Al" tuşuna otomatik tıklar
// @author         Arcdashckr
// @match          https://www.twitch.tv/drops/inventory*
// @run-at         document-end
// @icon           https://cdn.simpleicons.org/twitch/9146FF
// @grant          none
// @license        MIT
// @supportURL     https://github.com/Arcdashckr/Auto-Twitch-Drop-Claimer/issues
// ==/UserScript==

// Credits: https://greasyfork.org/tr/scripts/420346-auto-claim-twitch-drop

const claimButtonXPath = '//div[contains(@class, "inventory-max-width")]//button[contains(@class, "ScCoreButton-sc")]';
const refreshMinute = 5;

function getElementByXPath(xpath) {
  return document.evaluate(
    xpath,
    document,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null
  ).singleNodeValue;
}

var onMutate = function(mutationsList) {
  mutationsList.forEach(mutation => {
    const button = getElementByXPath(claimButtonXPath);
    if (button) button.click();
  });
};

var observer = new MutationObserver(onMutate);
observer.observe(document.body, {childList: true, subtree: true});

setInterval(function() {
                  window.location.reload();
                }, refreshMinute * 60 * 1000);