Skip to content

Instantly share code, notes, and snippets.

@thecodewarrior
Last active January 22, 2021 00:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thecodewarrior/00e5654956eee23fcc2e8baae634ad2c to your computer and use it in GitHub Desktop.
Save thecodewarrior/00e5654956eee23fcc2e8baae634ad2c to your computer and use it in GitHub Desktop.
Automatically collect channel bonus points
// ==UserScript==
// @name Auto Twitch Bonus
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Automatically collect channel points
// @author thecodewarrior
// @match https://www.twitch.tv/*
// @downloadURL https://gist.githubusercontent.com/thecodewarrior/00e5654956eee23fcc2e8baae634ad2c/raw/AutoTwitchBonus.js
// ==/UserScript==
(function() {
'use strict';
// https://stackoverflow.com/a/35385518/1541907
function htmlToElement(html) {
var template = document.createElement('template');
html = html.trim(); // Never return a text node of whitespace as the result
template.innerHTML = html;
return template.content.firstChild;
}
function getBonusLabel() {
var element = document.querySelector('.auto-bonus-label');
if(element == null) {
element = htmlToElement('<div class="auto-bonus-label" style="color: var(--color-text-alt-2); margin-left: 0.5rem; font-size: 0.75em;"></div>')
let pointsIcon = document.querySelector('button .channel-points-icon');
if(pointsIcon != null) {
pointsIcon.parentElement.parentElement.appendChild(element);
}
}
return element;
}
var bonusCounter = 0;
setInterval(function() {
let elem = document.querySelector('.claimable-bonus__icon');
if(elem != null) {
console.log("[Auto Twitch Bonus] Clicking bonus");
elem.parentElement.parentElement.click();
bonusCounter++;
getBonusLabel().innerHTML = "(Auto Bonus x" + bonusCounter + ")";
}
}, 5000);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment