您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
// ==UserScript== // @name ShortyScript // @namespace http://tampermonkey.net/ // @version 0.2 // @description try to take over the world! // @author You // @match https://www.twitch.tv/shortychannel // @icon https://www.google.com/s2/favicons?sz=64&domain=twitch.tv // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant GM_registerMenuCommand // ==/UserScript== (function() { 'use strict'; const btnSelector = '#channel-points-reward-center-body > div > div > div.Layout-sc-1xcs6mc-0.iXbrq > div > button'; const hydrateSelector = '#channel-points-reward-center-body > div > div > div:nth-child(8) > div > button'; const throwSelector = '#channel-points-reward-center-body > div > div > div:nth-child(6) > div > button'; const chatBtnSelector = '#live-page-chat > div > div > div.Layout-sc-1xcs6mc-0.wZVfj.chat-shell.chat-shell__expanded > div > div > section > div > seventv-container > div > div:nth-child(2) > div.Layout-sc-1xcs6mc-0.XTygj.chat-input__buttons-container > div.Layout-sc-1xcs6mc-0.hROlnu > div > div > div > div.Layout-sc-1xcs6mc-0.imLGzh > div.InjectLayout-sc-1i43xsx-0.dVOhMf > button'; let throwInterval, hydrateInterval, chatInterval; let isThrowingEnabled = false; let isHydratingEnabled = false; const clickChatButton = () => { document.querySelector(chatBtnSelector)?.click(); }; const clickHydrateButton = () => { document.querySelector(hydrateSelector)?.click(); }; const clickThrowButton = () => { document.querySelector(throwSelector)?.click(); }; const clickPointsButton = () => { const btn = document.querySelector(btnSelector); if (btn && !btn.disabled) { btn.click(); } }; const startThrowing = () => { isThrowingEnabled = true; throwInterval = setInterval(() => { clickChatButton(); clickThrowButton(); clickPointsButton(); }, 1000); } const stopThrowing = () => { isThrowingEnabled = false; clearInterval(throwInterval); } const startHydrating = () => { isHydratingEnabled = true; hydrateInterval = setInterval(() => { clickChatButton(); clickHydrateButton(); clickPointsButton(); }, 65000); } const stopHydrating = () => { isHydratingEnabled = false; clearInterval(hydrateInterval); } GM_registerMenuCommand('Thrower', () => { if (isThrowingEnabled) { stopThrowing(); } else { startThrowing(); } }); GM_registerMenuCommand('Hydrator', () => { if (isHydratingEnabled) { stopHydrating(); } else { startHydrating(); } }); function isRaffle(t) { if (t.contains('The Multi-Raffle for') || t.contains('The Multi-Raffle has begun')) return true; return false } const chatObserver = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type == 'childList') { if (mutation.target.matches('div.chat-scrollable-area__message-container')) { mutation.addedNodes.forEach(n => { var textns = n.querySelectorAll('span[class*="-fragment"]'); var textn = textns[0]; setTimeout(() => { if (textn) { var text = ''; textns.forEach(element => { text += element.innerText; }); if (isRaffle(text.trim())) { setTimeout(() => { console.log('raffle started') document.querySelector("#WYSIWGChatInputEditor_SkipChat > div > div > div > span > span > span").innerText = "!join" document.querySelector("#live-page-chat > div > div > div.Layout-sc-1xcs6mc-0.wZVfj.chat-shell.chat-shell__expanded > div > div > section > div > seventv-container > div > div:nth-child(2) > div.Layout-sc-1xcs6mc-0.XTygj.chat-input__buttons-container > div.Layout-sc-1xcs6mc-0.hOyRCN > div.Layout-sc-1xcs6mc-0.kaXoQh > div > button").click(); }, 1000); } } }); }, 0); } } }) }) GM_registerMenuCommand('AutoRaffle', () => { chatObserver.observe(document.documentElement, { attributes: true, childList: true, subtree: true }) }) })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址