ZhChat增强脚本

增强功能:自动登录(不可用)

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

// ==UserScript==
// @name         ZhChat增强脚本
// @namespace    http://tampermonkey.net/
// @version      2.0.114.514
// @description  增强功能:自动登录(不可用)
// @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-start
// @grant        unsafeWindow
// @grant none
// ==/UserScript==
setTimeout(() =>
    (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 = {
            sidebar: $('#sidebar-content'),
            add: (element) => {
                SideBarUI.sidebar.insertBefore(element, SideBarUI.sidebar.children[1]);
            },
            remove: (filther) => {
                for (let i in SideBarUI.sidebar.children) {
                    let item = SideBarUI.sidebar.children[i];
                    if (filther(item)) SideBarUI.sidebar.removeChild(item);
                }
            }
        };
        function hookLogin() {


            //hook
            let login = async (nick) => {
                setTimeout(() => { window.myNick = nick; }, 100);
                await getMurmur();
                var sendMurmur = encode(window.myMurmur).toString();
                send({ cmd: 'join', channel: window.myChannel, nick: nick, client: 'ZhangChatClient', murmur: sendMurmur });
            };
            let orgin = () => {

                var newNick = prompt('输入昵称:', local.get('my-nick') || '');

                login(newNick);
            };

            let autoLogin = () => {
                if (local.get('autoLogin') != 'true') return false;
                if (!local.exist('my-nick')) return false;
                let nick = local.get('my-nick');

                login(nick);

                return true;
            }
            if (!autoLogin()) orgin();
        }

        function autoLoginUI() {
            let p = doc.createElement('p'),
                input = doc.createElement('input'),
                label = doc.createElement('label');
            input.setAttribute('type', 'checkbox');
            input.setAttribute('id', 'autoLogin');
            input.onchange = (e) => {
                local.set('autoLogin', input.checked);
            };
            input.checked = local.get('autoLogin') == 'true';
            label.innerText = ' 自动登录(不可用)';
            label.setAttribute('for', 'autoLogin');
            p.appendChild(input);
            p.appendChild(label);
            SideBarUI.add(p);
        }
        function initUI() {
            autoLoginUI();

        }
        function init() {
            initUI();
            window._prompt = window.prompt;
            window.hook = hookLogin;

            window.prompt = (w, s = '') => {

                if (w.indexOf('请输入昵称') != -1) {
                    window.hook();
                    return;
                }
                return window._prompt(w, s);
            };

        }

        init();
    })(), 10);

QingJ © 2025

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