// ==UserScript== // @name soc-words monitor // @namespace http://tampermonkey.net/ // @version 1.1 // @description monitor specific words from specific people especially soc's accounts // @author vasi // @match https://generals.io/games/* // @icon https://www.google.com/s2/favicons?sz=64&domain=generals.io // @grant GM_registerMenuCommand // @license MIT // @downloadURL none // ==/UserScript== (function () { "use strict" GM_registerMenuCommand("添加监听用户", addUsername) GM_registerMenuCommand("删除监听用户", delUsername) GM_registerMenuCommand("添加监听字段", addWord) GM_registerMenuCommand("删除监听字段", delWord) var str = '
' document.querySelector(".chat-messages-container").parentNode.insertAdjacentHTML('beforebegin', str); function genCard(word) { var str2 = `
${word}
${wordList[word]}次
` document.querySelector("#socCard").insertAdjacentHTML('beforeend', str2); } function addUsername() { let addedUsername = prompt(`当前监听小号:${usernameList.join(",")}。请输入添加用户名:`) if (!usernameList.includes(addedUsername) && addedUsername != "" && addedUsername != null) { usernameList.push(addedUsername) localStorage.setItem("soc-list", JSON.stringify(usernameList)) alert("添加成功") } else { alert("您已添加过该用户名") } } function delUsername() { let delUsername = prompt(`当前监听小号:${usernameList.join(",")}。请输入删除用户名:`) if (usernameList.includes(delUsername) && delUsername != "" && delUsername != null) { usernameList.pop(delUsername) localStorage.setItem("soc-list", JSON.stringify(usernameList)) alert("删除成功") } else { alert("您未添加过该用户名") } } function addWord() { let addedWord = prompt(`当前监听字段:${Object.keys(wordList).join(",")}。请输入添加字段:`) if (!wordList.hasOwnProperty(delWord) && addedWord != "" && addedWord != null) { wordList[addedWord] = 0 localStorage.setItem("soc-word", JSON.stringify(wordList)) genCard(addedWord) alert("添加成功") } else { alert("您已添加过该字段") } } function delWord() { let delWord = prompt(`当前监听字段:${Object.keys(wordList).join(",")}。请输入删除字段:`) if (wordList.hasOwnProperty(delWord) && delWord != "" && delWord != null) { delete wordList[delWord] localStorage.setItem("soc-word", JSON.stringify(wordList)) document.getElementById(delWord).innerHTML = "" alert("删除成功") } else { alert("您未添加过该字段") } } let usernameList, wordList if (!localStorage.getItem("soc-list")) { usernameList = ["23662.22", "I like 23"] localStorage.setItem("soc-list", JSON.stringify(usernameList)) } else { usernameList = JSON.parse(localStorage.getItem("soc-list")) } if (!localStorage.getItem("soc-word")) { wordList = { "绷": 0, "乐": 0, "Joker": 0, "小丑": 0, "菜": 0 } localStorage.setItem("soc-word", JSON.stringify(wordList)) } else { wordList = JSON.parse(localStorage.getItem("soc-word")) } for (let word in wordList) { genCard(word) } socket.on("chat_message", (a, msg) => { for (let username of usernameList) { if (msg.username == username) { for (let word in wordList) { if (msg.text.includes(word)) { wordList[word]++ document.getElementById(word + "i").innerHTML = wordList[word] + "次" localStorage.setItem("soc-word", JSON.stringify(wordList)) } } } } }) })();