// ==UserScript==
// @name 叔叔不约自动匹配
// @version 2.6
// @match http*://*.shushubuyue.net*
// @match http*://*.shushubuyue.com*
// @match http*://*.pingzishuo.com*
// @icon https://www.shushubuyue.com/favicon.ico
// @license MIT
// @namespace https://greasyfork.org/zh-CN/script/514602
// @description 叔叔不约-匿名聊天,自动点击匹配,一直匹配到目标性别停止,电脑手机都能用
// @downloadURL https://update.greasyfork.icu/scripts/514602/%E5%8F%94%E5%8F%94%E4%B8%8D%E7%BA%A6%E8%87%AA%E5%8A%A8%E5%8C%B9%E9%85%8D.user.js
// @updateURL https://update.greasyfork.icu/scripts/514602/%E5%8F%94%E5%8F%94%E4%B8%8D%E7%BA%A6%E8%87%AA%E5%8A%A8%E5%8C%B9%E9%85%8D.meta.js
// ==/UserScript==
(function () {
const operateBox = document.createElement("div");
operateBox.style.cssText =
"position: absolute;z-index: 99999;right: 0;top: 0;margin: 50px 50px 0 0;width: 180px;height: 80px;border-radius: 5px;background-color:rgba(0,0,0,.3);box-shadow: 0 0 3px;display: flex;justify-content: space-evenly;align-items: center;flex-direction: column;";
operateBox.innerHTML = `
已准备就绪 `;
document.body.appendChild(operateBox);
const begin = document.querySelector("#operateBegin");
const pause = document.querySelector("#operatePause");
const tip = document.querySelector("#operateTip");
let sex = document.querySelector('input[name="sex"]:checked').value;
let flag = 0
function exitMatch() {
const restartButton = document.querySelector("span.chat-control");
if (!restartButton || !restartButton.innerText) {
if(!flag && document.querySelector("#partnerInfoText").innerText.includes(sex)){
tip.innerText = "匹配成功";
//pauseMatch();
check();
vibration([300, 300,300, 300]);
autoSend("可以月吗")
}
flag++
//console.log("error restartButton");
return;
}
if (restartButton.innerText === "离开") {
flag = 0;
tip.innerText = "自动匹配中...";
restartButton.click();
setTimeout(() => document.querySelector("#operateTip").innerText.includes("暂停") && restartButton.click(), 1000);
} else if (restartButton.innerText === "重新开始") {
flag = 0;
tip.innerText = "自动匹配中...";
restartButton.click();
} else {
console.log("leave error restartButton");
}
}
function leave() {
const leftButton = document.querySelector("a.button-link.chat-control");
if (leftButton) leftButton.click();
const leftSecondButton = document.querySelector(
"span.actions-modal-button.actions-modal-button-bold.color-danger"
);
if (leftSecondButton) leftSecondButton.click();
exitMatch();
}
let timer = null
function beginMatch() {
sex = document.querySelector('input[name="sex"]:checked').value;
tip.innerText = "自动匹配中...";
clearInterval(timer);
document.querySelectorAll('input[name="sex"]').forEach(input => {
input.disabled = true;
});
begin.disabled = true;
pause.disabled = false;
timer = setInterval(() => {
const tab = document.querySelector("#partnerInfoText");
if (tab) {
const tabText = tab.innerText;
if (tabText.includes(sex)) {
exitMatch();
setInterval(check, 3000);
} else {
leave();
}
}
}, 1000);
}
function pauseMatch() {
tip.innerText = "已暂停";
clearInterval(timer);
document.querySelectorAll('input[name="sex"]').forEach(input => {
input.disabled = false;
});
begin.disabled = false;
pause.disabled = true;
}
// 手机振动
function vibration(time) {
navigator.vibrate = navigator.vibrate ||
navigator.webkitVibrate ||
navigator.mozVibrate ||
navigator.msVibrate;
navigator.vibrate(time);
}
// 发送消息
function autoSend(message){
const sendButton = document.querySelector("a.button-link.msg-send");
const msgInput = document.querySelector("#msgInput");
msgInput.focus();
msgInput.value = message;
msgInput.dispatchEvent(new Event('input'));
msgInput.dispatchEvent(new Event('change'));
setTimeout(() => {
//document.querySelector("a.msg-send").click();
sendButton.click()
}, 500);
}
function leaveabcd() {
const restartButton2 = document.querySelector("span.chat-control");
if (restartButton2 && restartButton2.innerText) {
if (restartButton2.innerText === "离开") {
restartButton2.click();
setTimeout(() => restartButton2.click(), 500);
} else if (restartButton2.innerText === "重新开始") {
restartButton2.click();
}
}
}
function check() {
if(tip.innerText != "已暂停"){
leaveabcd();
}
}
// 点击开始匹配
begin.addEventListener("click", beginMatch);
// 点击暂停匹配
pause.addEventListener("click", pauseMatch);
})();