// ==UserScript== // @name DRRR.COM智能脚本 - 自动对话 - 自动点歌 // @namespace Violentmonkey Scripts // @match https://drrr.com/room/?id=* // @grant none // @version 1.0 // @author 阿太网络 QQ:121610059 // @description 2020/10/24 上午11:02:03 // @downloadURL none // ==/UserScript== // 默认不运行 // 启动命令 localStorage.setItem("running",true); $("body").append(''); swal("提示信息", "欢迎使用 DRRR BOT 智能脚本\n请先点击房间名称右边的启动\n目前脚本有如下功能:\n1.智能Ai聊天(格式:@机器人名称聊天内容)\n2.点歌功能(格式:点歌歌曲名称)"); $(".room-input-wrap").append('
启动自动回复
'); $(".room-input-wrap").append('
启动点歌功能
'); localStorage.setItem("botRunning",false); localStorage.setItem("musicRunning",false); var newMsg; var receive = false; var talks = document.querySelector(".talks"); var timestamp = new Date().getTime(); var ws = new WebSocket("wss://bot.dulele.me/wss"); var botRunning = localStorage.getItem("botRunning"); var musicRunning = localStorage.getItem("musicRunning"); var botName = localStorage.getItem("username"); //console.log(botName); // websocket连接成功 ws.onopen = function(evt) { console.log("websocket连接成功!"); console.log('请启动Bot 启动命令 localStorage.setItem("running",true)'); }; ws.close = function(evt) { console.log("websocket连接关闭!"); console.log('重新建立websocket'); ws = new WebSocket("wss://bot.dulele.me/wss"); }; // websocket监听消息 ws.onmessage = function(evt) { var res = JSON.parse(evt.data); console.log('收到' + res.msgType + '类型消息'); if(res.msgType == "text"){ sendMsg(res.msg); } if(res.msgType == "music"){ sendMusic(res.musicName,res.musicUrl); } }; // 监听最近消息 talks.addEventListener('DOMNodeInserted', function () { botRunning = localStorage.getItem("botRunning"); musicRunning = localStorage.getItem("musicRunning"); var num = $("#talks dl").length; var roomId = getQueryVariable("id"); var name = $(".talks").children().eq(0).children("dt").children(".name").children("span").text(); var msg = $(".talks").children().eq(0).children("dd").children(".bubble").children("p").text(); if(botRunning == "true" || musicRunning == "true"){ //Receive(JSON.stringify(data)); Receive(roomId,name,msg); } }, false); // 接收获取到的最新消息 function Receive(roomId,name,msg){ if(!receive){ receive = true; }else{ receive = false var data = {}; data["roomId"] = roomId; data["name"] = name; var songName = msg.match(/点歌(.*)/); console.log('收到消息:' + msg); if(songName && musicRunning == "true" && botName != name){ data['songName'] = songName[1]; } if(!songName && botRunning == "true" && botName != name){ data['msg'] = msg; } ws.send(JSON.stringify(data)); } } // 发送文本消息 function sendMsg(msg,method = 1,url = "",to = ""){ if(method == 0){ $.ajax({ type: "POST", url:"https://drrr.com/room/?ajax=1", data:{message:msg,url:url,to:url}, success:function(result){ console.log("发送消息成功"); }, }); } if(method == 1){ $(".form-control").val(msg).click(); } } // 发送音乐 function sendMusic(name,url){ $.ajax({ type: "POST", url:"https://drrr.com/room/?ajax=1", data:{music:"music",url:url,name:name}, success:function(result){ console.log("发送音乐成功"); }, }); } // 获取GET参数 function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i