// ==UserScript== // @name dati // @name:zh-CN 大头答题 // @namespace www.icycat.com // @description 自动答题 // @description:zh-CN 检测答案自动答题 // @include https://www.douyu.com/9999 // @include https://www.douyu.com/1209 // @include https://www.douyu.com/196 // @version 1.4 // @run-at document-end // @downloadURL none // ==/UserScript== function checkPreview() { if (document.querySelector('div[class^="answerPreview"]')) { console.log('30秒后开始答题'); setTimeout(function(){ console.log('开始检测答案'); checkAnswer(1); },25000); return; } setTimeout(function() { checkPreview(); }, 1000); } function checkAnswer(t) { var users = ['245155','144327686','2025628','892552']; for (var i = 0; i < users.length; i++) { var user = document.querySelectorAll('[data-uid="' + users[i] + '"]'); if (user.length > 0) { var text = user[user.length - 1].parentNode.parentNode.querySelector('.Barrage-content').innerText; switch (text.substr(0, 1).toUpperCase()) { case 'A': answer(1); console.log('检测到神仙答案A'); return; case 'B': answer(2); console.log('检测到神仙答案B'); return; case 'C': answer(3); console.log('检测到神仙答案C'); return; } } } if (t > 10) { findAnswer(t); return; } t++; setTimeout(function() { checkAnswer(t); }, 100); } function findAnswer(t) { var json = {}; json[1] = 0; json[2] = 0; json[3] = 0; var content = document.querySelectorAll('.chat-msg-item').length ? document.querySelectorAll('.chat-msg-item') : document.querySelectorAll('.Barrage-content'); for (var i = 0; i < content.length; i++) { switch (content[i].innerText.substr(0, 1).toUpperCase()) { case 'A': json[1]++; break; case 'B': json[2]++; break; case 'C': json[3]++; break; } } var tempVal = 0, tempKey = ''; for (var key in json) { if (json[key] > tempVal) { tempKey = key; tempVal = json[key]; } } console.log('检测到最多答案为' + tempKey + '!'); if (tempKey) { answer(tempKey); } else { t++; if (t < 20) { setTimeout(function() { findAnswer(t); }, 100); } else { answer(2); } } } function answer(i) { var li = document.querySelectorAll('div[class^="answerProblem"] ul li'); if (li.length > 0) { li[i - 1].click(); console.log('答题完成,19分钟后自动刷新网页'); setTimeout(function() { window.location.reload(); }, 1140000); return; } setTimeout(function() { answer(i); }, 10); } checkPreview(); console.log('开始自动答题');