您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
leaks your ip (98.6%)
当前为
// ==UserScript== // @name OWoT user indicator // @namespace https://greasyfork.org/scripts/458537-owot-online-and-offline // @version 10.4 // @description leaks your ip (98.6%) // @author e_g. // @match https://ourworldoftext.com/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== let warn = true; let people = []; let timeout; //Part made by KKosty4ka var chat_upper = document.getElementById("chat_upper"); chat_upper.appendChild(document.createElement("br")); var typing_display = chat_upper.appendChild(document.createElement("span")); typing_display.style.display = "flex"; typing_display.style.justifyContent = "center"; typing_display.style.alignItems = "center"; //Part made by KKosty4ka menu.addCheckboxOption('Online Offline warning', function(){ warn = true; }, function(){ warn = false; }, true); w.broadcastReceive(true); w.on('cmd', function(e){ if(!e.username || !warn) return; if(e.data.startsWith('online')){ clientChatResponse(e.username + " is online!"); } else if(e.data.startsWith('offline')){ clientChatResponse(e.username + " is now offline."); } else if(e.data.startsWith('back')){ clientChatResponse(e.username + " is back."); } else if(e.data.startsWith('afk')){ clientChatResponse(e.username + " is AFK. (Idle)"); } else if(e.data.startsWith('typing')){ if(!people.includes(e.username)) people.push(e.username); typing_display.innerText = people.join(" and ") + " " + (people.length > 1 ? "are" : "is") + " typing..."; } else if(e.data.startsWith('untyping')){ people = people.filter((x, i)=>i != people.indexOf(e.username)) typing_display.innerText = people.length ? people.join(" and ") + " " + (people.length > 1 ? "are" : "is") + " typing..." : "Currently, no one is typing"; }; }); setTimeout(function(){ w.broadcastCommand('online', true); }, 1000); window.addEventListener('beforeunload', function(){ w.broadcastCommand('offline', true) }); window.onblur = function(){w.broadcastCommand('afk', true)}; window.onfocus = function(){w.broadcastCommand('back', true)}; elm.chatbar.oninput = function(e){ if(timeout) clearTimeout(timeout); if(!elm.chatbar.value.length) w.broadcastCommand("untyping", true); if(!!elm.chatbar.value.length && !people.includes(state.userModel.username)) w.broadcastCommand('typing', true); timeout = setTimeout(function(){ w.broadcastCommand("untyping", true); }, 5000); };