// ==UserScript==
// @name abot iirose
// @namespace http://tampermonkey.net/
// @version 1.0.2
// @description move iirose into console
// @author crescawn
// @match https://iirose.com/messages.html
// @match http://iirose.com/messages.html
// @grant unsafeWindow
// ==/UserScript==
(function() {
'use strict';
class ABot {
constructor() {};
tui() {
Probe.init.roomSplashHolder || Init.fullPanel(18),
Objs.roomSplashHolder.function.enter(),
void(Temporary.roomSplashInit ? (1 == Temporary.roomSplashInit ? (panelAnimate(50, 0, Temporary.initPanelSwitch[
1], Objs[Temporary.initPanelSwitch[0]].This, Objs.roomSplashHolder.This), delete Temporary.initPanelSwitch) :
(panelAnimate(56, Probe.fullPanelNoAnimate = 1), Probe.fullPanelNoAnimate = 0), delete Temporary.roomSplashInit
) : panelAnimate(56, 1));
};
input(e, t) {
Utils.service.moveinputDo(e, t);
};
send(e) {
const ui = Utils.smallTools.uniqueID();
socket.send(JSON.stringify({
m: e,
mc: inputcolorhex,
i: ui
}));
return ui;
};
rcv(e) {
e = e.split('<').reverse();
for (let i in e) msg_pub(e[i].split('>'))
};
move(e) {
if(Objs.mapHolder.Assets.roomNameJson[e])
Objs.mapHolder.function.roomchanger(e);
else{
e = this.roomID(e);
Objs.mapHolder.function.roomchanger((typeof(e)==typeof('')?e:e[0]).split('>')[0]);
}
};
roomID(e) {
e = e.split('_').reverse();
for (let i in Objs.mapHolder.Assets.roomNameJson) {
let t = true;
let n = Objs.mapHolder.Assets.roomNameJson[i].split('_').reverse();
for (let j in n) {
if (e[j] == n[j]) continue;
t = false;
break;
}
if (t) return i+'>'+Objs.mapHolder.Assets.roomNameJson[i];
}
let r = [];
for (let i in Objs.mapHolder.Assets.roomNameJson) {
let t = true;
let n = Objs.mapHolder.Assets.roomNameJson[i].split('_').reverse();
for (let j in e) {
if (n[j].indexOf(e[j]) != -1) continue;
t = false;
break;
}
if (t) r.push(i+'>'+Objs.mapHolder.Assets.roomNameJson[i]);
}
return r.length > 0 ? (r.length==1?r[0]:r) : this.roomID('社区');
}
}
function msg_pub(e) {
//console.log(e);
let args = [''];
//args[0] += '%c' + new Date('1599049013' * 1e3).toTimeString().substr(0, 8);
//args[0] += ' [#' + e[10] + '#] \r\n';
//args.push('color:gray');
args[0] += '%c' + e[2] + '\r\n';
args.push('color:' + ncolor[e[6]]);
if (e[3][0] == "'") {
args.push('color:gray');
switch (e[3][1]) {
case '0':
args[0] += '%c改变了状态: %c' + status[e[3][2]] + ' %c-> %c' + status[e[3][3]];
args.push('color:#933d4d');
args.push('color:gray');
args.push('color:#933d4d');
break;
case '1':
args[0] += '%c进入了房间';
break;
case '2':
args[0] += '%c移动到了 : %c' + Objs.mapHolder.Assets.roomNameJson[e[3].substr(2)] + '\r\n%c [_' + e[3].substr(2) +
'_] ';
args.push('color:#50a037');
args.push('color:gray');
break;
case '3':
args[0] += '%c离开了';
break;
case '5':
args[0] += '%c撤回了一条消息';
break;
default:
args[0] += '%c' + e[3];
}
} else if (e[3].indexOf('m__4') == 0) {
let m = e[3].substr(4).split('>');
args[0] += '%c点播' + mediacode[m[0][0]] + '\r\n标题 : %c' + htmlDecode(m[1]) + '%c\r\n作者 : %c' + htmlDecode(m[2]) + '\r\n%c来源 : ' +
mediacode[m[0]];
args.push('color:gray');
args.push('color:black');
args.push('color:gray');
args.push('color:black');
args.push('color:gray');
//console.log(m);
} else {
args[0] += '%c' + htmlDecode(e[3]);
args.push('color:black');
}
arrlog(args, new Date('1599049013' * 1e3).toTimeString().substr(0, 8) + ' [#' + e[10] + '#]');
}
function htmlDecode(e) {
let temp = document.createElement("div");
temp.innerHTML = e;
return temp.innerText || temp.textContent;
}
function arrlog(a, c) {
a = JSON.stringify(a);
eval('\/\/' + c + '\r\n' + 'console.log(' + a.substr(1, a.length - 2) + ')');
}
const mediacode = {
'@': '音乐',
'@0': '网易云音乐',
'@1': '虾米音乐',
'@2': 'QQ音乐',
'@3': '千千音乐',
'@4': '酷狗音乐',
'*': '视频',
'*0': '爱奇艺',
'*3': '哔哩哔哩'
};
const ncolor = [
'#7b13f1', '#0755ff', '#e72fea', '#21d63f', '#b94518'
];
const status = {
'n': '无状态',
'0': '会话中',
'1': '忙碌中',
'2': '离开中',
'3': '就餐中',
'4': '通话中',
'5': '移动中',
'6': '如厕中',
'7': '沐浴中',
'8': '睡觉中',
'9': '上课中',
'a': '作业中',
'b': '游戏中',
'c': '看剧中',
'd': '挂机中',
'e': '自闭中',
'f': '请撩我'
};
function msginit(){
let ab = new ABot();
unsafeWindow.abot = ab;
function rcvstarter() {
if (Temporary._getcontents) {
ab.t_getcontents = Temporary._getcontents;
Temporary._getcontents = function(e, t) {
if (!t) {
ab.rcv(e);
}
ab.t_getcontents(e, t);
}
} else {
setTimeout(rcvstarter, 20);
}
}
rcvstarter();
unsafeWindow.top.abot = ab;
}
msginit();
// Your code here...
})();