// ==UserScript==
// @name 泥潭每日10血+定时刷新
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 定时刷新和自动点击震惊并关闭
// @author 1F
// @match *://*.gamemale.com/blog-*
// @match *://*.gamemale.com/home.php?mod=*
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_registerMenuCommand
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
var refreshIntervalInSeconds = GM_getValue('refreshInterval', 5);
var autoRefreshEnabled = GM_getValue('autoRefreshEnabled', true);
var autoClickEnabled = GM_getValue('autoClickEnabled', true);
var autoCloseIntervalInSeconds = GM_getValue('autoCloseInterval', 2);
var maxClicksPerDay = GM_getValue('maxClicksPerDay', 10);
var today = new Date().toDateString();
var clickCount = GM_getValue('clickCount', 0);
var lastClickDate = GM_getValue('lastClickDate', '');
if (lastClickDate !== today) {
clickCount = 0;
GM_setValue('clickCount', clickCount);
GM_setValue('lastClickDate', today);
}
GM_registerMenuCommand('设置自动刷新和点击', openSettingsPanel);
if (autoRefreshEnabled) {
setTimeout(function() {
location.reload();
}, refreshIntervalInSeconds * 300000);
}
if (autoClickEnabled && clickCount < maxClicksPerDay && /https:\/\/www\.gamemale\.com\/blog-.*\.html/.test(window.location.href)) {
window.addEventListener('load', function() {
var links = document.getElementsByTagName('a');
var hasClicked = false;
for (var i = 0; i < links.length; i++) {
if (links.innerHTML.includes('震惊')) {
links.click();
hasClicked = true;
GM_setValue('clickCount', ++clickCount);
GM_setValue('lastClickDate', today);
break;
}
}
if (hasClicked) {
setTimeout(function() {
window.close();
}, autoCloseIntervalInSeconds * 1000);
}
});
}
function openSettingsPanel() {
if (document.getElementById('settingsPanel')) {
return;
}
var panel = document.createElement('div');
panel.id = 'settingsPanel';
panel.style = "position: fixed; top: 20px; left: 20px; z-index: 9999; padding: 20px; background-color: white; border: 1px solid black;";
panel.innerHTML = `
<label>刷新时间间隔(秒): <input type="number" id="refreshIntervalInput" value="${refreshIntervalInSeconds}"></label><br>
<label><input type="checkbox" id="autoRefreshCheckbox" ${autoRefreshEnabled ? 'checked' : ''}> 启用自动刷新</label><br>
<label>自动关闭时间间隔(秒): <input type="number" id="autoCloseIntervalInput" value="${autoCloseIntervalInSeconds}"></
<label><input type="checkbox" id="autoClickCheckbox" ${autoClickEnabled ? 'checked' : ''}> 启用自动点击震惊</label><br>
<label>每天自动点击次数: <input type="number" id="maxClicksPerDayInput" value="${maxClicksPerDay}"></label><br>
<button id="saveSettingsButton">保存设置</button>
<button id="closeSettingsButton">关闭</button>
`;
document.body.appendChild(panel);
document.getElementById('saveSettingsButton').addEventListener('click', function() {
var newRefreshInterval = parseInt(document.getElementById('refreshIntervalInput').value, 10);
var newAutoRefreshEnabled = document.getElementById('autoRefreshCheckbox').checked;
var newAutoCloseInterval = parseInt(document.getElementById('autoCloseIntervalInput').value, 10);
var newAutoClickEnabled = document.getElementById('autoClickCheckbox').checked;
var newMaxClicksPerDay = parseInt(document.getElementById('maxClicksPerDayInput').value, 10);
GM_setValue('refreshInterval', newRefreshInterval);
GM_setValue('autoRefreshEnabled', newAutoRefreshEnabled);
GM_setValue('autoCloseInterval', newAutoCloseInterval);
GM_setValue('autoClickEnabled', newAutoClickEnabled);
GM_setValue('maxClicksPerDay', newMaxClicksPerDay);
alert('设置已保存。请手动刷新页面以应用设置。');
closeSettingsPanel();
});
document.getElementById('closeSettingsButton').addEventListener('click', function() {
closeSettingsPanel();
});
}
function closeSettingsPanel() {
var panel = document.getElementById('settingsPanel');
if (panel) {
document.body.removeChild(panel);
}
}
})();
|