【推特必须是中文的,在设置里面设置好】【推特必须是中文的,在设置里面设置好】【推特必须是中文的,在设置里面设置好】
// ==UserScript==
// @name 【图灵】推特自动点关注/转推 Discord自动接受邀请
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 【推特必须是中文的,在设置里面设置好】【推特必须是中文的,在设置里面设置好】【推特必须是中文的,在设置里面设置好】
// @author You
// @match *twitter.com/intent/retweet*
// @match *twitter.com/intent/follow*
// @match *twitter.com/intent/tweet*
// @match *discord.com/invite/*
// @match *secondlive.world/task
// @icon https://www.google.com/s2/favicons?domain=twitter.com
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
// Your code here...
(() => {
waitForTitle();
//自动连钱包
setTimeout(()=>{
try{
var dom=document.querySelector("div[class*=Header__ConnectorWrapper] > div > div")
if(!dom.textContent.includes("0x")){
dom.click()
setTimeout(()=>{
document.querySelector("#connect-METAMASK").click();
},1000)
}
}
catch
{
}
},7000)
setInterval(() => {
//【推特自动转发】 暴力循环检测按钮 检测到就自动点击
if (window.location.href.includes("twitter.com/intent/retweet")) {
var list = document.querySelectorAll("div[role=group][tabindex='0'] div[dir=auto] > span > span")
//循环查询出来的元素 text 等于 转推
for (var i = 0; i < list.length; i++) {
var txt = list[i].innerText
if (txt == "转推") {
setTimeout(() => {
list[i].click();
console.log("成功找到!", txt, list[i]);
document.title = "●3秒关闭【自动转推完成】";
end = true;
setTimeout(() => {
window.close();
}, 3000);
}, 2000);
break;
}
}
}
//【推特自动点关注,仅针对弹窗关注的类型】 暴力循环检测按钮 检测到就自动点击
if (window.location.href.includes("twitter.com/intent/follow")) {
var list = document.querySelectorAll("div[role=group][tabindex='0'] div[dir=auto] > span > span")
//循环查询出来的元素 text 等于 转推
for (var i = 0; i < list.length; i++) {
var txt = list[i].innerText
if (txt == "关注") {
setTimeout(() => {
list[i].click();
console.log("成功找到!", txt, list[i]);
document.title = "●3秒关闭【自动关注完成】";
end = true;
setTimeout(() => {
window.close();
}, 3000);
}, 2000);
break;
}
}
}
//【推特自动发推 自动弹窗只需要点发推按钮的】 暴力循环检测按钮 检测到就自动点击
if (window.location.href.includes("twitter.com/intent/tweet")) {
var list = document.querySelectorAll("div[role=group][tabindex='0'] div[dir=auto] > span > span")
//循环查询出来的元素 text 等于 转推
for (var i = 0; i < list.length; i++) {
var txt = list[i].innerText
if (txt == "发推") {
setTimeout(() => {
list[i].click();
console.log("成功找到!", txt, list[i]);
document.title = "●3秒关闭【自动发推完成】";
end = true;
setTimeout(() => {
window.close();
}, 3000);
}, 2000);
break;
}
}
}
//【Discord自动接收邀请】 暴力循环检测按钮 检测到就自动点击 只点击一次 防止满了后多次点击
if (window.location.href.includes("discord.com/invite")) {
if (discordok) return;
var list = document.querySelectorAll("button")
//循环查询出来的元素 text 等于 接受邀请
for (var i = 0; i < list.length; i++) {
var txt = list[i].innerText
if (txt == "接受邀请") {
setTimeout(() => {
list[i].click();
console.log("成功找到!", txt, list[i]);
document.title = "●【自动接受邀请成功】";
end = true;
discordok = true;
}, 2000);
break;
}
}
}
}, 100);
})()
var end = false;
var discordok = false;
var oldtitle = "";
//异步等待document.title 不为空则记录到全局变量
async function waitForTitle() {
while (document.title == "") {
await sleep(100);
return waitForTitle();
}
oldtitle = document.title;
document.title = "" + oldtitle;
// 处理中动态效果 ...
changeTitle();
return true;
}
//document.title 前面增加 处理中... 每隔1秒多一个. 3秒后去掉所有.重新循环
async function changeTitle(num = 0) {
if (end) return;
if (document.title.indexOf("●【") > -1) {
return;
}
if (num > 3) num = 0;
var ntitle = "●处理中";
//ntitle 循环增加 num 个 .
for (var i = 0; i < num; i++) {
ntitle += ".";
}
await sleep(500);
document.title = ntitle + " - " + oldtitle;
await changeTitle(num + 1);
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
})();