// ==UserScript== // @icon https://www.kuaishou.com/favicon.ico // @name 快手弹幕语音助手 // @namespace [url=mailto:1031993596@qq.com]1031993596@qq.com[/url] // @author 文超 // @description 获取快手弹幕转语音 朗读弹幕 // @match https://live.kuaishou.com/u/* // @version 1.1 // @grant GM_addStyle // @downloadURL none // ==/UserScript== (function() { 'use strict'; setInterval(DelayGet, 100); //定时器 1s 10次=1000ms/100 document.documentElement.webkitRequestFullscreen(); //chrome 全屏 var LastLiNum = 0; //获取弹幕内容 function DelayGet() { //console.log("======================================"); var LiaoTianUl = document.getElementsByClassName("chat-info"); for (var i = LastLiNum; i < LiaoTianUl.length; i++) { var tmp_Username = LiaoTianUl[i].getElementsByClassName("username"); var tmp_Username_Text = tmp_Username[0].innerText; Username_make(); //用户名处理 var tmp_Data = LiaoTianUl[i].innerText; var tmp_Text = tmp_Data.replace(tmp_Username[0].innerText, ""); var tmp_All = ''; tmp_Text_make(); //弹幕内容处理 if (tmp_Text.search("点亮了") != -1) { tmp_All = '感谢 ' + tmp_Username_Text + '点亮小红心'; } else if (tmp_Text.search("送") != -1) { tmp_All = '感谢 ' + tmp_Username_Text + '送的礼物'; } else if (tmp_Text === '一') { tmp_All = tmp_Username_Text + '扣一'; } else { tmp_All = tmp_Username_Text + ' 说 ' + tmp_Text; } var tmp_Num = LastLiNum + i; console.log(tmp_Num + "----------"); console.log(tmp_All); var tts = new SpeechSynthesisUtterance(tmp_All); tts.rate = 1.1; window.speechSynthesis.speak(tts); //var src='http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&text='+tmp_Data; //window.open(src, '_blank').location; } LastLiNum = LiaoTianUl.length; //刷新网页 if (LastLiNum > 200) { window.location.reload(true); } function Username_make() { //用户名处理 去掉名字中特殊符号 tmp_Username_Text = tmp_Username_Text.replace(/[0-9]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[😀😃😄😁😆😅😂🤣☺️😊😇🙂🙃😉😌😍🥰😘😗😙😚😋😛]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[△▽○◇□☆▷◁♤♡♢♧▲▼●◆■★▶◀♠♥♦♣☼☽♀☺◐☑√✔☜☝☞㏂☀☾♂☹◑☒×✘☚☟☛㏘▪•‥…▁▂▃▄▅▆▇█∷※░▒▓▏▎▍▌▋▊▉]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[♩♪♫♬§〼◎¤۞℗®©♭♯♮‖¶卍卐▬〓℡™㏇☌☍☋☊㉿◮◪◔◕@㈱№♈♉♊♋♌♎♏♐♑♓♒♍]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[↖↑↗▨▤▧◤㊤◥☴☲☷←㊣→▩▦▥㊧㊥㊨☳☯☱↙↓↘▫◈▣◣㊦◢☶☵☰↕↔⊱⋛⋌⋚⊰¬¬▔†‡]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[**✲❈❉✿❀❃❁☸✖✚✪❤ღ❦❧ி₪✎✍✌✁✄☁☂☃☄♨☇☈☡➷⊹✉☏]/g, ''); tmp_Username_Text = tmp_Username_Text.replace(/[☢✈♟♙〠☣☠۩♜♖✙☭☄♨❂✟♞♘☤☪☮☥♝♗☦〄➹☧♛♕☨☩ஐ☫♚♔☬☎]/g, ''); tmp_Username_Text = tmp_Username_Text.replace('丨', ''); tmp_Username_Text = tmp_Username_Text.replace(':', ''); tmp_Username_Text = tmp_Username_Text.replace(' ', ''); tmp_Username_Text = tmp_Username_Text.replace(',', ''); } //用户名处理 function tmp_Text_make() { //弹幕内容处理 tmp_Text = tmp_Text.replace('1', '一'); tmp_Text = tmp_Text.replace('1', '二'); tmp_Text = tmp_Text.replace('1', '三'); tmp_Text = tmp_Text.replace('1', '四'); tmp_Text = tmp_Text.replace('1', '五'); tmp_Text = tmp_Text.replace('1', '六'); tmp_Text = tmp_Text.replace('1', '七'); tmp_Text = tmp_Text.replace('1', '八'); tmp_Text = tmp_Text.replace('1', '九'); tmp_Text = tmp_Text.replace('1', '十'); } //弹幕内容处理 } })();