您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
press button to convert lower case letter to any characters on any senpai clients
// ==UserScript== // @name kawaiimoji // @namespace http://tampermonkey.net/ // @version 1.3 // @description press button to convert lower case letter to any characters on any senpai clients // @author #kawaiirz // @match http://caffe.senpai-agar.online/ // @match http://caffe.senpai-agar.online/lwga/ // @match http://ixagar.net/ // @match http://ixagar.net/classic/ // @match http://senpai-agar.online/ // @match http://senpai-agar.online/lwga/ // @run-at document-end // ==/UserScript== (function t() { // if (target == false), restart this function. var target = document.getElementsByClassName('chat_input_area')[0]; //lwga if (!target) { target = document.getElementById('chatboxArea2'); // classic if (!target) { setTimeout(t, 1000); return; } } // charactes var alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'], minimoji = ['ᴀ','ʙ','ᴄ','ᴅ','ᴇ','ғ','ɢ','ʜ','ɪ','ᴊ','ᴋ','ʟ','ᴍ','ɴ','ᴏ','ᴘ','ǫ','ʀ','s','ᴛ','ᴜ','ᴠ','ᴡ','x','ʏ','ᴢ']; var alphanumeric = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9], morseCode = ['.-','-...','-.-.','-..','.','..-.','--.','....','..','.---','-.-','.-..','--','-.','---','.--.','--.-','.-.','...','-','..-','...-','.--','-..-','-.--','--..','-----','.----','..---','...--','....-','.....','-....','--...','---..','----.'], marumoji = ['🅐','🅑','🅒','🅓','🅔','🅕','🅖','🅗','🅘','🅙','🅚','🅛','🅜','🅝','🅞','🅟','🅠','🅡','🅢','🅣','🅤','🅥','🅦','🅧','🅨','🅩','⓿','➊','➋','➌','➍','➎','➏','➐','➑','➒']; var nums = [0,1,2,3,4,5,6,7,8,9], mininums = ['₀','₁','₂','₃','₄','₅','₆','₇','₈','₉']; var btnChar = ['ᴀ','₁','🅐','.','.']; // button configuration var btn = []; for (var bn=0; bn<btnChar.length; bn++) { btn[bn] = target.appendChild(document.createElement('div')); btn[bn].setAttribute("className", 'kawaiibtn'); btn[bn].innerText = btnChar[bn]; if (bn == 4) btn[bn].style.textDecoration ='line-through'; btn[bn].style.fontSize = 'small'; btn[bn].style.color = 'black'; btn[bn].style.backgroundColor = 'whitesmoke'; btn[bn].style.cursor = 'pointer'; btn[bn].style.borderTop = 'solid 1px black'; btn[bn].style.borderRight = 'solid 1px black'; btn[bn].style.zIndex = 1; btn[bn].style.position = 'absolute'; btn[bn].style.padding = '2px 8px 3px 7px'; btn[bn].style.float = 'left'; btn[bn].style.position = 'static'; } var chatBox = target.className == 'chat_input_area' ? document.getElementById('chat_input_text_box') : document.getElementById('input_box2'); btn[0].addEventListener('click', function() { var afterStrs = []; if (chatBox) { var chatBoxStr = chatBox.value, beforeStrs = chatBoxStr.split(''); for (var i=0; i<beforeStrs.length; i++) { for (var ii=0; ii<alphabets.length; ii++) { if (beforeStrs[i] == alphabets[ii]) { afterStrs[i] = minimoji[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatBox.value = afterStrs.join(''); } }, false); btn[1].addEventListener('click', function() { var afterStrs = []; if (chatBox) { var chatBoxStr = chatBox.value, beforeStrs = chatBoxStr.split(''); for (var i=0; i<beforeStrs.length; i++) { for (var ii=0; ii<nums.length; ii++) { if (beforeStrs[i] == nums[ii]) { afterStrs[i] = mininums[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatBox.value = afterStrs.join(''); } }, false); btn[2].addEventListener('click', function() { var afterStrs = []; if (chatBox) { var chatBoxStr = chatBox.value, beforeStrs = chatBoxStr.split(''); for (var i=0; i<beforeStrs.length; i++) { for (var ii=0; ii<alphanumeric.length; ii++) { if (beforeStrs[i] == alphanumeric[ii]) { afterStrs[i] = marumoji[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatBox.value = afterStrs.join(''); } }, false); btn[3].addEventListener('click', function() { var afterStrs = []; if (chatBox) { var chatBoxStr = chatBox.value, beforeStrs = chatBoxStr.split(''); for (var i=0; i<beforeStrs.length; i++) { for (var ii=0; ii<alphanumeric.length; ii++) { if (beforeStrs[i] == alphanumeric[ii]) { afterStrs[i] = morseCode[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatBox.value = afterStrs.join(' '); } }, false); btn[4].addEventListener('click', function() { var afterStrs = []; if (chatBox) { var chatBoxStr = chatBox.value, beforeStrs = chatBoxStr.split(' '); for (var i=0; i<beforeStrs.length; i++) { for (var ii=0; ii<alphanumeric.length; ii++) { if (beforeStrs[i] == morseCode[ii]) { afterStrs[i] = alphanumeric[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatBox.value = afterStrs.join(''); var chatDOM = document.getElementById('chat_view').children; var chatTexts = []; var cnt = 0; for (var il = (chatDOM.length - 1); il>=0; il--) { cnt++; if (cnt > 6) { break; } chatTexts[il] = chatDOM[il].lastElementChild.textContent; console.log(chatTexts[il]); beforeStrs = [], afterStrs = []; beforeStrs = chatTexts[il].split(' '); for (i=0; i<beforeStrs.length; i++) { for (ii=0; ii<alphanumeric.length; ii++) { if (beforeStrs[i] == morseCode[ii]) { afterStrs[i] = alphanumeric[ii]; break; } else { afterStrs[i] = beforeStrs[i]; } } } chatDOM[il].lastElementChild.textContent = afterStrs.join(''); } } }); // button observer configuration var conf = { attributes: true } // synchronize chatbox and button styles.display const observer = new MutationObserver (function(record) { for (var i=0; i<btnChar.length; i++) { target.style.display == 'none' ? btn[i].style.display = 'none' : btn[i].style.display = 'block' } }); observer.observe(target, conf); })();