CSC客户端名称修改

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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();
}