ZhChat增强脚本

增强功能:鼠标中键oldnick、自定义邀请、过滤rule

目前为 2023-03-26 提交的版本。查看 最新版本

// ==UserScript==
// @name         ZhChat增强脚本
// @namespace    http://tampermonkey.net/
// @version      2.5.4
// @description  增强功能:鼠标中键oldnick、自定义邀请、过滤rule
// @author       UbisoComes (GreenDebug)
// @match        https://chat.zhangsoft.cf/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=zhangsoft.cf
// @license      MIT
// @run-at       document-end
// @grant none
// ==/UserScript==

(function () {

    const local = {
        set: (key, value) => localStorage.setItem(key, value),
        remove: (key) => localStorage.removeItem(key),
        get: (key) => localStorage.getItem(key),
        exist: (key) => localStorage.getItem(key) != undefined,

    };

    const dev = window.console;
    window.dev = dev;
    const doc = window.document;
    const $_ = (q) => doc.querySelectorAll(q);
    const $ = (d) => doc.querySelector(d);

    const SideBarUI = {

        add: (element) => {
            let side = $('#sidebar-content');
            side.insertBefore(element, side.children[1]);
        },
        remove: (filther) => {
            let side = $('#sidebar-content');
            for (let i in side.children) {
                let item = side.children[i];
                if (filther(item)) side.removeChild(item);
            }
        }
    };

    function nick_oldnick() {

        $('#sidebar-content').addEventListener('mousedown', (e) => {
            if (e.button === 1) { // 检测是否为鼠标中键触发的事件
                e.preventDefault()
            }
            [...$('#users').children].map(s => s.children[0]).forEach(q =>
                q.addEventListener('mousedown', (e) => {
                    if (e.button == 1) send({ cmd: 'oldnick', nick: q.textContent });
                }));
        });
    }
    function initUI() {
        nick_oldnick();

    }
    function init() {
        try {
            initUI();
        }
        catch { }


        setTimeout(() => {
            userInvite = function (nick) {
                var gotoChannel = prompt("设置一个去的频道(按取消随机)");
                gotoChannel = gotoChannel.replace(/\\rule/g, "【rule】");

                send(gotoChannel ? { cmd: 'invite', nick: nick, to: gotoChannel } : { cmd: 'invite', nick: nick });

            }

        }, 1000);
    }

    init();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址