MCPcopy Create free account
hub / github.com/Moli-X/Resources / Rename

Function Rename

Script/Parser.js:2250–2287  ·  view source on GitHub ↗
(str)

Source from the content-addressed store, hash-verified

2248
2249//节点重命名
2250function Rename(str) {
2251 var server = str;
2252 if (server.indexOf("tag=") != -1) {
2253 hd = server.split("tag=")[0]
2254 name = server.split("tag=")[1].split(",")[0].trim()
2255 tail = server.split("tag=")[1].split(",").length <=1 ? "" : server.split("tag=")[1].split(name)[1]
2256 for (var i = 0; i < Prn.length; i++) {
2257 nname = Prn[i].split("@")[1] ? decodeURIComponent(Prn[i].split("@")[1]) : Prn[i].split("@")[1];
2258 oname = Prn[i].split("@")[0] ? decodeURIComponent(Prn[i].split("@")[0]) : Prn[i].split("@")[0];
2259 if (oname && nname) { //重命名
2260 var rn = escapeRegExp(oname)
2261 name = name.replace(new RegExp(rn, "gmi"), nname)
2262 } else if (oname && nname == "") {//前缀
2263 var nemoji = emoji_del(name)
2264 if ((Pemoji == 1 || Pemoji == 2) && Prname ) { //判断是否有重复 emoji,有则删除旧有
2265 name = name.replace(name.split(" ")[0] + " ", name.split(" ")[0] + " " + oname)
2266 } else { name = oname + name.trim() }
2267 } else if (nname && oname == "") {//后缀
2268 name = name.trim() + nname
2269 } else if (oname && oname.indexOf("☠️") != -1) { //删除特定字符,多字符用.连接
2270 hh = Dot2(oname.slice(0, oname.length - 2)).split(".") //符号.的特殊处理
2271 for (j = 0; j < hh.length; j++) {
2272 var nn = escapeRegExp(ToDot(hh[j]))
2273 var del = new RegExp(nn, "gmi");
2274 name = name.replace(del, "")
2275 }
2276 } else if (oname == "" && nname == "") { //仅有@时,删除@符号
2277 name = name.replace(/@/g, "")
2278 } else {
2279 name = name
2280 }
2281 nserver = hd + "tag=" + name + tail
2282 }
2283 return nserver
2284 } else {
2285 return server
2286 }
2287}
2288
2289function RenameScript(servers, script) {
2290 $notify("🤖 启用脚本进行重命名", "", script);

Callers

nothing calls this directly

Calls 5

escapeRegExpFunction · 0.85
emoji_delFunction · 0.85
Dot2Function · 0.85
ToDotFunction · 0.85
indexOfMethod · 0.45

Tested by

no test coverage detected