Greasy Fork

Greasy Fork is available in English.

叔叔不约只配女并自动问好

叔叔不约只配女 并自动问好

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         叔叔不约只配女并自动问好
// @namespace    wwbnq
// @version      0.8
// @description  叔叔不约只配女 并自动问好
// @author       WWBNQ
// @match        *://*.shushubuyue.net/*
// @match        *://*.shushubuyue.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=shushubuyue.net
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // ************在这里定义问候语*************
    const GREETING = "你好鸭!";

    // 当检测到新女生时,发送问候语
    function stay() {
        const msgInput = document.querySelector("#msgInput");  // 输入框
        const sendButton = document.querySelector("a.button-link.msg-send");  // 发送按钮
        const rightMessageCount = document.querySelectorAll(".message.right").length;  // 已发送的消息数量

        // 若已经发送消息则直接返回
        if (rightMessageCount !== 0) return;

        // 如果自己已发消息数量为0,则认为是新女生
        msgInput.value = GREETING;  // 设置问候语
        msgInput.dispatchEvent(new Event('input'));  // 触发输入事件
        msgInput.dispatchEvent(new Event('change'));  // 触发更改事件

        // 发送消息
        if (msgInput.value === GREETING && sendButton) sendButton.click();
    }

    // 当检测到对方是男生时,离开聊天并重新开始
    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();

        const restartButton = document.querySelector("span.chat-control");  // 重新开始按钮
        if (restartButton && restartButton.innerText) {
            if (restartButton.innerText === "离开") {
                restartButton.click();
                setTimeout(() => restartButton.click(), 500);
            } else if (restartButton.innerText === "重新开始") {
                restartButton.click();
            } else {
                console.error("error restartButton");
            }
        }
    }

    // 初始化函数,设置每秒检查一次当前对方信息
    function init() {
        setInterval(() => {
            const tab = document.querySelector("#partnerInfoText");  // 对方信息标签
            const tabText = tab ? tab.innerText : null;

            // ***********在这里修改想匹配的性别***********
            if (tabText && tabText.includes("女生")) {
                stay();  // 若为女生,调用 stay() 函数
            } else if (tabText && tabText.includes("男生")) {
                leave();  // 若为男生,调用 leave() 函数
            }
        }, 1000);
    }

    // 延迟5秒后启动脚本
    setTimeout(init, 5000);
})();