您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automates adding reputation and thanking uploader on TorrentBD
// ==UserScript== // @name TBD Auto Rep & Thanks // @namespace https://tanmoythebot.github.io/ // @version 1.0 // @description Automates adding reputation and thanking uploader on TorrentBD // @match https://www.torrentbd.com/torrents-details.php?id=* // @match https://www.torrentbd.net/torrents-details.php?id=* // @match https://www.torrentbd.me/torrents-details.php?id=* // @match https://www.torrentbd.org/torrents-details.php?id=* // @license MIT // @icon https://www.torrentbd.net/themes/material/static/favicon/favicon-32x32.png // @grant none // ==/UserScript== (function() { 'use strict'; // Configuration options var config = { waitTimeout: 10000, // Timeout for waiting for elements (in ms) clickDelay: 500 // Delay between actions (in ms) }; // Function to wait for an element to appear function waitForElement(selector, callback) { var interval = 100; var elapsed = 0; var checkInterval = setInterval(function() { var element = document.querySelector(selector); if (element) { clearInterval(checkInterval); callback(null, element); } else if (elapsed >= config.waitTimeout) { clearInterval(checkInterval); callback(new Error('Element ' + selector + ' not found within ' + config.waitTimeout + 'ms')); } elapsed += interval; }, interval); } // Function to click an element with delay function clickElement(selector, callback) { waitForElement(selector, function(err, element) { if (err) { console.error('Error clicking ' + selector + ':', err); return callback(err); } element.click(); console.log('Clicked ' + selector); setTimeout(function() { callback(null); }, config.clickDelay); }); } // Function to perform all actions function performActions() { clickElement('#add-rep-button', function(err) { if (err) return; clickElement('#thanks-button', function(err) { if (err) return; console.log('All actions performed successfully'); }); }); } // Event listener for page load to start actions window.addEventListener('load', performActions); // Global error handling window.addEventListener('error', function(e) { console.error('Global error occurred:', e.error); }); })();