CSC客户端名称修改

修改在 十字街聊天室 的客户端名称

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         CSC客户端名称修改
// @namespace    csc_client_name_change
// @version      0.1
// @description  修改在 十字街聊天室 的客户端名称
// @author       cmd1152
// @match        https://crosst.chat/?*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=crosst.chat
// @grant        none
// @license      MIT
// ==/UserScript==

//hook ws
var hookws = window.ws.onopen;
window.ws.onopen = () => {
    //获取储存的客户端名称
    window.oldclientName = localStorage.getItem("clientName");
    //如果他有内容,就认为是之前设置的
    if (window.oldclientName !== null) window.clientName = window.oldclientName;
    //显示客户端名称要求用户编辑
    window.newclientName = window.prompt('你可以在此修改客户端名称(点击取消不修改,用 \n 代表换行,最多64字符)【无名称检测和换行检测】:',window.clientName);
    window.SaveclientName = window.clientName;
    //如果用户编辑了,就使用这个名称,并且替换关键词
    if (window.newclientName !== null) {
        window.SaveclientName = window.newclientName;
        window.clientName = window.newclientName.replace(/十字街/g,"十字街").replace(/官方/g,"官方").replace(/\\n/g,"\u2028");
        if (window.clientName.length > 64) alert(`经过绕过,你的client字段超过64字符(${window.clientName.length},服务器将拒绝显示)`);
    }
    //保存输入的客户端名称
    localStorage.setItem("clientName",window.SaveclientName);
    //执行默认的命令
    hookws();
}