var sml_img = { }; // Ïåðåìåííûå ãîëîñîâóõ var mediaRecorder var setIntervalSound var timerSecMessage = 0 var flagVoice = false var chunksVoice = [] Element.prototype.remove = function() { this.parentElement.removeChild(this); } NodeList.prototype.remove = HTMLCollection.prototype.remove = function() { for(var i = 0, len = this.length; i < len; i++) { if(this[i] && this[i].parentElement) { this[i].parentElement.removeChild(this[i]); } } } var chat = { key:'', room:'', count:0, time:0, t:null, //timer t2:null, //timer 2 t_all:{}, //time molch r:0, g:0, rtime:37, ct:{ '-1':0, '1':15, '2':30, '3':60, '4':300}, saveData:null, msg_id:0, nrg:0, nozpros:0, newmsg:0, sound:0, translit:0, filter:0, globalMsg:0, ignoreList:{x:0,nms:[]}, citySys:0, inObj:null, userSendMessage: false, efftxt:function(id,txt) { var r = txt; return r; }, ignore: function (login) { if (this.ignoreList[login] != undefined) { if ($('#ignr_alu').attr('id') != undefined) { $(`#ignr_u_${this.ignoreList[login]}`).remove(); } delete this.ignoreList.nms[this.ignoreList[login]]; delete this.ignoreList[login]; return //msg } this.ignoreList.x++; this.ignoreList[login] = this.ignoreList.x; this.ignoreList.nms[this.ignoreList.x] = login; if ($('#ignr_alu').attr('id') != undefined) { $('#ignr_alu').html(`${$('#ignr_alu').html()}<div id="ignr_u_${this.ignoreList.x}"> <b>${login}</b> <a target="_blank" href="https://new-combats.com/info/${login}"><img src="https://${top.c.img}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Èíô. î ${login}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${this.ignoreList.x})">Clear</a></small> </div>`); } return }, getRandom: function (a, b) { return a + ((b - a) * Math.random()); }, feerverk_id:0, feerverk:function(name) { if( name == 'fw04' ) { var frc = { 'name':'fw04', 'x':19, 'top':this.getRandom(1,35), 'left':this.getRandom(0,365), 'width':135, 'sound':this.getRandom(8,10), 'height':99, 'zad':3 }; frc.left -= 35; } if( frc.name != undefined ) { this.sendSound( frc.sound ); var obj = top.frames.main.document.getElementById('frvrks'); if( obj != undefined ) { var newhtml = ''; var i = 1; while( i <= frc.x ) { newhtml += `<img style="display:none" id="frvanim_${this.feerverk_id}_img${i}" width="${frc.width}" height="${frc.height}" src="https://img.new-combats.com/fw/${frc.name}/${i}.gif">`; i++; } newhtml = `<div id="frvanim_${this.feerverk_id}" style="z-index:5000;position:absolute;width:${frc.width}px;height:${frc.height}px;left:${frc.left}px;top:${frc.top}px;">${newhtml}</div>`; $(obj).append(newhtml); this.feerverk_go( this.feerverk_id , frc.x-1 , frc.name , frc.x , frc.zad ); this.feerverk_id++; } } }, feerverk_go: function (id, time_back, img, x, zad) { if (zad > 0) { setTimeout(`chat.feerverk_go(${id},${time_back},"${img}",${x},0);`, 500 * zad); } else { time_back--; var obj = top.frames.main.document.getElementById(`frvanim_${id}`); if (time_back > 0) { var img1 = top.frames.main.document.getElementById(`frvanim_${id}_img${(x-time_back+1)}`); //òåêóùàÿ if (img1 != undefined) img1.style.display = 'none'; var img1 = top.frames.main.document.getElementById(`frvanim_${id}_img${(x-time_back+2)}`); //òåêóùàÿ if (img2 != undefined) img2.style.display = ''; setTimeout(`chat.feerverk_go(${id},${time_back},"${img}",${x},0);`, 50); } else top.frames.main.document.getElementById(`frvanim_${id}`).remove(); } }, ignorUn: function (x) { $(`#ignr_u_${x}`).remove(); this.ignore(this.ignoreList.nms[x]); }, ignorListOpen: function () { var date = '', i = 0; var j = 1; while (j <= this.ignoreList.x) { if (this.ignoreList[this.ignoreList.nms[j]] != undefined) { date += `<div id="ignr_u_${j}"> <b>${this.ignoreList.nms[j]}</b> <a target="_blank" href="https://new-combats.com/info/${this.ignoreList.nms[j]}"><img src="https://${top.c.img}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Èíô. î ${this.ignoreList.nms[j]}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${j})">Clear</a></small> </div>`; } j++; } win.add('ignorListWin', 'Ñïèñîê èãíîðèðóåìûõ', `<div id="ignr_alu">${date}</div>`, {}, 0, 1, 'min-width:200px;'); delete date; }, // ñìàéëû addSmile: function (id) { $('#textmsg').val(`${$('#textmsg').val()} :${id}: `); $('#textmsg').focus(); }, lookSmiles: function () { if ($('#chbtn8').attr('class') == 'db cp chatBtn8_1') { return this.lookSmilesWork('', 'chatBtn8_2') } return this.lookSmilesWork('none', 'chatBtn8_1') }, lookSmilesWork: function (display, className) { $('#ttSmiles').css('display', display); $('#chbtn8').attr('class', `db cp ${className}`); }, // îïòèìèçàöèÿ âñåõ êíîïîê greyButton_work: function (elemId, className, method, count ) { $(elemId).attr('class', `db cp ${className}`); this[method] = count; }, // êíîïêà ëåéêè // 1 filterMsg: function () { if ($('#chbtn1').attr('class') == 'db cp chatBtn1_1') { return this.greyButton_work('#chbtn1', 'chatBtn1_2', "filter", 1) } return this.greyButton_work('#chbtn1', 'chatBtn1_1', "filter", 0) }, // êíîïêà ñèñòåìíûõ ñîîáùåíèé // 2 systemMsg: function () { if ($('#chbtn4').attr('class') == 'db cp chatBtn4_1') { this.greyButton_work('#chbtn4', 'chatBtn4_2', "citySys", 1) $.cookie('citySys', 1); return } this.greyButton_work('#chbtn4', 'chatBtn4_1', "citySys", 0) $.cookie('citySys', 0); return }, // êíîïêà àóäèîñîîáùåíèé // 3 soundChat: function () { if ($('#chbtn7').attr('class') == 'db cp chatBtn7_1') { return this.greyButton_work('#chbtn7', 'chatBtn7_2', "sound", 1) } else if ($('#chbtn7').attr('class') == 'db cp chatBtn7_2') { return this.greyButton_work('#chbtn7', 'chatBtn7_3', "sound", 2) } return this.greyButton_work('#chbtn7', 'chatBtn7_1', "sound", 0) }, // êíîïêà òðàíñëèòà // 4 translitChat: function () { if ($('#chbtn6').attr('class') == 'db cp chatBtn6_1') { return this.greyButton_work('#chbtn6', 'chatBtn6_2', "translit", 1) } return this.greyButton_work('#chbtn6', 'chatBtn6_1', "translit", 0) }, subValSend: '', subSend: async function () { if ($('#textmsg').val() != '') { if ($('#textmsg').val() != this.subValSend) { if (this.nozpros == 0) { this.trmb(); var textmsg = $('#textmsg').val(); if (cb_date[cb_select] == 7 && (textmsg.match(/to *\[(.*?)\].*/i) || textmsg.match(/private *\[(.*?)\].*/i))) { for (var cb in cb_date) { if (cb_date[cb] == 5) { open_cb(cb, null); } } } if (typeof window.online_send_jqxhr == "undefined" || window.online_jqxhr.readyState === 4) { window.online_send_jqxhr = $.post('online.php?r' + c.rnd + '&cas' + ((new Date().getTime()) + Math.random()), { msg: textmsg, key: this.key, mid: this.msg_id, rndo: c.rnd, cb: cb_date[cb_select] }, function (data) { chat.clearText(); chat.fc(); chat.genchatData(data, 1); chat.scrollNow(true) document.getElementById("textmsg").value = '' }); } } } } }, addto:function(login, type2) { var loginaddT = login; var s = ''; if($('#'+$(this.inObj).attr('id')).attr('id') == undefined) { $('#textmsg').focus(); s = $('#textmsg').val(); } else $(this.inObj).focus(); var reg555 = new RegExp("private\\s*\\[(.*?)\\]",""); var reg551 = new RegExp("to\\s*\\[(.*?)\\]",""); var test1 = s.match(reg555); if(s.match(reg555) == null) { type = "to"; } else if(s.match(reg551) == null) { type = "private"; } var type3 = 'to'; var reg2 = new RegExp(""+type+"(\\s*)\\[(.*?)\\]",""); var cs = s.replace(reg2,""+type+"$1[,$2,]"); var slogin = login.replace(/([\^.*{}$%?\[\]+|\/\(\)])/g,"\\$1"); var reg = new RegExp(""+type+"\\s*\\[.*,\\s*"+slogin+"\\s*,.*\\]",""); var result = ''; var reg3 = new RegExp(""+type+"\\s*\\[(.*?)\\]",""); while(res = s.match(reg3)) { result += `${res[1]},`; s = s.replace(reg3,''); } result = result.replace(/,$/,''); var prar = result.split(','); for(i = 0; i < prar.length; i++) { prar[i] = prar[i].replace(/^\s+/,''); prar[i] = prar[i].replace(/\s+$/,''); } var str = prar.join(', '); if(str) login += ', '; space = ''; if (!s.match(/^\s+/)) space = ' '; var prob = ''; if($('#'+$(this.inObj).attr('id')).attr('id') == undefined && (this.inObj == null || $('#main').contents().find('#'+this.inObj.id).attr('id') == undefined)) { if (!cs.match(reg)) { if (type2 == 'to') { if (test1 != null) type2 = 'private'; } if (loginaddT == 'klan' && type2 == 'private') { if (login == 'klan, ') { s = type2 + ' [klan] to [' + prob + '' + str + '' + prob + ']' + space + s; } else { s = type2 + ' [klan]' + space + s; } } else {s = type2+' ['+prob+''+login+str+''+prob+']'+space+s;} } else { if(type3 == 'to') type3 = "private"; s = type3+' ['+prob+''+str+''+prob+']'+space+s; } } else s = login+str; if (this.inObj != null && $('#main').contents().find(`#${this.inObj.id}`).attr('id') != undefined) { $('#main').contents().find(`#${this.inObj.id}`).val(s); } else if ($('#' + $(this.inObj).attr('id')).attr('id') == undefined) { $('#textmsg').val(s); } else $(this.inObj).val(s); }, clearText: function () { $('#textmsg').val(''); }, reflesh: function () { this.time = 0; this.testTimer(true); }, reMoney: function () { $('#moneyGM').html(`${top.c.money} êð.`); }, testTimer: function (n) { clearTimeout(this.t); if ($.cookie('btl') != this.btl) { if ($.cookie('btl') > 0) { this.sendSound(2); if (top.frames['main'].smnpty == undefined) { top.frames['main'].location.href = "main.php"; } } this.btl = $.cookie('btl'); } if (this.rtime != this.ct[$.cookie('chatCfg0')] && this.ct[$.cookie('chatCfg0')] != undefined) { this.rtime = this.ct[$.cookie('chatCfg0')]; if (this.time > this.rtime) this.time = this.rtime; } if (this.rtime >= 5 || this.r == 0) //was >- 30 lakris fix { if (this.time < 1) { var aot = { 0: 0, 1: 1, 2: 0 }; if ($('#chcf10').attr('checked') == true) aot[2] = 1; if ($('#autoRefOnline').attr('checked') == true || this.r == 0 || n != false) { aot[0] = 1; } if (this.nozpros == 0) { if (typeof window.online_jqxhr == "undefined" || window.online_jqxhr.readyState === 4) { window.online_jqxhr = $.getJSON(`online.php?r${c.rnd}&cas${((new Date().getTime()) + Math.random())}`, {key: this.key, mid: this.msg_id, r1: aot[0], r2: aot[1], r3: aot[2], rndo: c.rnd}, function (data) { if (data.rnd != null) { chat.genchatData(data); if (data.key != undefined) chat.saveData = data; this.g++; c.rnd = data.rnd; } }); } } this.time = 5; this.r++; } else this.time--; this.t = setTimeout('chat.testTimer(false);clearTimeout(this.t);', 1000); } }, gUser:function(data,ol) { var rt = ''; function data_work (count) { data[count] = this.replaceAll(data[count], "\\", '\\\\'); data[count] = this.replaceAll(data[count], "[s1;]", '"'); data[count] = this.replaceAll(data[count], "[s2;]", '`'); data[count] = this.replaceAll(data[count], "[s3;]", ''); data[count] = this.replaceAll(data[count], "[s4;]", ''); data[count] = this.replaceAll(data[count], "<", ''); data[count] = this.replaceAll(data[count], ">", ''); } if(data[1]!=undefined) { rt = data[1]; if( rt == 'Àäìèíèñòðàòîð' ) rt = this.efftxt('fire',rt); if (ol == true) { rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'to\')">${rt}</a>`; } else rt = `<b>${rt}</b>`; if(data[13]!=0) rt = `<span class="uCss${data[13]}">${rt}</span>`; if (data[10] > 0) { rt = `<s onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ïåðñîíàæ áûë çàáëîêèðîâàí\',event,3,1,1,2,\'\')">${rt}</s>`; } if (data[8] != 0) data_work(8) else if (data[9] != 0) data_work(9) // òóò function rtData (count) { return rt = `<img height="15" src="https://${top.c.img}/i/align/align${data[count]}.gif">${rt}`; } if(data[4]!=0) { rt = `<a href="/clan/${data[4]}" title="${data[4]}" target="_blank"><img width="24" height="15" src="https://${c.img}/i/clan/${data[4]}.gif"></a>${rt}`; } if( data[16] > 0 ) rtData(16) rtData(3) if(c.lvl>-1) { if(c.city==data[6]) { if (data[12] > 0) { rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'private\')"><img title="Ïåðñîíàæ ñðàæàåòñÿ" src="https://${c.img}/i/lock1.gif" width="20" height="15"></a>${rt}`; } else { rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'private\')"><img src="https://${c.img}/i/lock.gif" width="20" height="15"></a>${rt}`; } }else{ rt = `<img style="padding-right:3px;" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ïåðñîíàæ ñåé÷àñ â ${data[6]}\',event,3,1,1,2,\'\')" src="https://${c.img}/i/city_ico/${data[6]}.gif" width="17" height="15">${rt}`; } } rt += `[${data[2]}]<a href="https://${c.url}/info/${data[0]}" target="_blank"><img style="vertical-align:baseline" width="12" height="11" src="https://${top.c.img}/i/inf_${data[5]}.gif" title="Èíô. î ${data[1]}" /></a>`; if (data[11] > top.c.time) { rt += ` <img id="img_molch${data[1]}" width="24" height="15" style="cursor:help" src="https://${c.img}/i/sleep2.gif" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Íà ïåðñîíàæà íàëîæåíî çàêëÿòèå ìîë÷àíèÿ.<br>Áóäåò ìîë÷àòü åùå <span id=\\\'molch${data[0]}\\\'>${this.timeOut(data[11])}</span>\',event,3,1,1,2,\'\');chat.justRefMolch(${data[0]})">`; this.addRefMolch(data[0], data[11]); } if (data[14] != "") { rt += ` <img width="24" height="15" style="cursor:help" src="https://${c.img}/i/travma2.gif" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ó ïåðñîíàæà ${data[14]}\',event,3,1,1,2,\'\');">`; } if (data[13] > 0) { if (data[13] == 2) { rt += ` <a target="main" href="/main.php?atak_user=${data[0]}" title="Êðîâàâîå íàïàäåíèå íà ${data[1]}"><img width="13" height="13" src="https://${c.img}/i/clear.gif"></a>`; } else { rt += ` <a target="main" href="/main.php?atak_user=${data[0]}" title="Íàïàñòü íà ${data[1]}"><img width="13" height="13" src="https://${c.img}/i/curse_attack.gif"></a>`; } } if( data[15] == 1 ) rt = `<span class=woman >${rt}</span>` } else rt = '<i>íåâèäèìêà</i>[??]' return rt; },mlch:{}, justRefMolch: function (id) { $(`#molch${id}`).html(this.timeOut(this.mlch[id])); }, addRefMolch: function (id, tm) { this.t_all[id] = setTimeout(`chat.refMolch(${id})`, 1000); this.mlch[id] = tm; }, refMolch: function (id) { clearTimeout(this.t_all[id]); if (this.mlch[id] > 0) { $(`#molch${id}`).html(this.timeOut(this.mlch[id])); this.t_all[id] = setTimeout(`chat.refMolch(${id})`, 1000); return } $(`#img_molch${id}`).remove(); return delete this.mlch[id], this.t_all; }, fc: function () { $('#textmsg').focus(); }, timeOut: function (v) { msPerDay = ''; dt = new Date(); dt.setTime((v - c.time) * 1000); m1 = dt.getUTCMonth(); d1 = dt.getUTCDay(); h1 = dt.getUTCHours(); min1 = dt.getUTCMinutes(); sec = dt.getUTCSeconds(); if (m1 > 0) msPerDay = `${m1} ìåñ. `; if (d1 > 0 && Math.floor((v - c.time) / (60 * 60 * 24)) == d1) msPerDay = `${d1} ä. `; if (h1 > 0) msPerDay += `${h1} ÷. `; if (min1 > 0) msPerDay += `${min1} ìèí. `; if (sec > 0 && msPerDay != '') msPerDay += `${sec} ñåê. `; if (msPerDay == '') msPerDay = 'ìåíüøå ìèíóòû.'; delete m1, d1, h1, min1, sec; return msPerDay; }, deleteMessage: async function (id, fc) { if (fc == 1) top.msgdeleted(id) else { $(`#msg_${id}`).remove(); $(`#msg_${id}_sys`).remove(); if (top.c.admin > 0) { await fetch(`online.php?jack=${c.rnd}&cas${((new Date().getTime()) + Math.random())}`, { method: "POST", delMsg: id }) } } }, clear: function () { if ($('#textmsg').val() == '') { if (confirm('Î÷èñòèòü îêíî ÷àòà?')) { if (top.des == 1) { $(`#canal${top.cb_date[top.cb_select]}`).html(''); $('#textmsg').focus(); return } $('#canal5').html(''); $('#textmsg').focus(); return } } return $('#textmsg').val(''); }, scrollNow: function (userTrue) { var $chat_list = document.getElementById("chat_list") var $countChatList = $chat_list.scrollHeight - $chat_list.scrollTop if ($countChatList < $chat_list.offsetHeight + 100) { return $chat_list.scrollBy(0, $chat_list.scrollHeight) } if (userTrue) return $chat_list.scrollBy(0, $chat_list.scrollHeight) }, msgcount:0, sendMsg: function(data) { // Åñëè ñèñòåìíîå ñîîáùåíèå îò ìîáà - äëèíà ìàññèâà === 10 // Èíà÷å - äëèíà ìàññèâà === 17 // data[0] - êàêîå-òî ÷èñëî // data[1] - âèäèìî íîìåð ñîîáùåíèÿ â ÷àòå çà âñ¸ âðåìÿ // data[2] - ÷èñëî îò 1 äî 6 êàê óâèäåë // data[3] - íèê, åñëè ïîêðàøåííûé // data[4] - íèê, åñëè íå ïîêðàøåííûé // data[5] - ñàìî ñîîáùåíèå â ÷àòå èç èíïóòà // data[6] - öâåò ïîêðàñêè íèêà. Åñëè öâåòà íåò - ïóñòàÿ ñòðîêà // data[7] - 0 // data[8] - 0 // data[9] - 0 // data[10] - 0 // data[11] - 0 // data[12] - 0 // data[13] - âðåìÿ // data[14] - ïîëíàÿ äàòà // data[15] - ïóñòàÿ ñòðîêà // data[16] - 0 var msg_see = 1; var global_type = 0; if( data[5] != undefined ) { if( data[5].substring(0,7) == 'global:' ) { global_type = 1; data[5] = data[5].substring(7); } } if (data[0] == 'new') { data[0] = `new_msg_ ${this.newmsg++}`; } if (data[2] == 'delete') this.deleteMessage(data[0]); else if (data['d'] > 0) this.deleteMessage(data['d']); else if (data['s'] > 0) this.deleteMessage(data['s']); else if (data[0] != undefined && top.document.getElementById(`msg_${data[0]}`) == undefined) { var msg = ''; if (data[0] != 0) { if (top.c.admin > 0) { if (data[12] == 1) { msg += '<small style="color:red;text-decoration:blink"> <b>un</b>active </small>'; } } if (data[3] != '') { if (data[16] > 0) { msg += `[<a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'Íåâèäèìêà\',event,\'chat\'); return false;" onClick="chat.addto(\'Íåâèäèìêà\',\'to\')">${data[3]}</a>]`; } else { msg += `[<a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${data[3]}\',event,\'chat\'); return false;" onClick="chat.addto(\'${data[3]}\',\'to\')">${data[3]}</a>]`; } if (chat.ignoreList[data[3]] != undefined) msg_see = 0; } if (data[4] != '') { var forYou = 0; //òîò êòî ïèñàë //êîìó íàïèñàëè, ðàçáîð ìàññèâà if (data[4] != '') { var to = '',to2 = '',arr = data[4].split(','),i = 0,vl = ''; //òåì êîìó ïèñàëè while (i != -1) { if (arr[i] != undefined) { vl = this.trim(arr[i]); if (vl.toLowerCase() == top.c.login.toLowerCase()) { forYou++; } if (vl.toLowerCase() == top.c.login.toLowerCase()) { vl = this.trim(data[3]); } if (i > 0) { to += ', '; to2 += ', '; } if (data[3] != '') { to += `<span style="cursor:pointer" onclick="chat.addto(\'${vl}\',\'private\');" oncontextmenu="top.infoMenu(\'${this.trim(arr[i])}\',event,\'chat\'); return false;">${this.trim(arr[i])}</span>`; if (this.trim(arr[i].toLowerCase()) != top.c.login.toLowerCase()) { to2 += this.trim(arr[i]); } else { if (data[2] == 2) to2 += this.trim(arr[i]); else to2 += this.trim(vl); } } } else i = -2; i++; } } if(data[2] == 6 || data[2] == 8) { var zmlogin = new RegExp("\\[login:(.*?)\\]",""); var reflcd = new RegExp("\\[reflesh_main_zv_priem:(.*?)\\]",""); if (data[5].match(zmlogin) != null) { zmlogin = data[5].match(zmlogin)[1]; data[5] = data[5].replace(`[login:${zmlogin}]`, `<a onMouseDown="top.loginGo(\'${zmlogin}\',event);" oncontextmenu="top.infoMenu(\'${zmlogin}\',event,\'chat\'); return false;" title="${zmlogin}" style="cursor:pointer;" onClick="chat.multiAddto(\'${zmlogin}\',\'to\');">${zmlogin}</a>`); } if (data[5].match(reflcd) != null) { reflcd = data[5].match(reflcd)[1]; data[5] = data[5].replace(`[reflesh_main_zv_priem:${reflcd}]`, ''); } } //Ñîáèðàåì ìàññèâ êîìó àäðåñîâàíî ñîîáùåíèå if (data[2] == 6) { //ëè÷íàÿ ñèñòåìêà, âíèìàíèå msg += ' <span style="color:red">Âíèìàíèå!</span> '; } else if (data[2] == 2) { if (forYou > 0) { msg += ` <span style="color:${data[6]}"><b>to [${to2}]</b></span>`; } else { msg += ` <span style="color:${data[6]}">to [${to2}]</span>`; } } else if (data[2] == 3) { if (this.trim(data[3].toLowerCase()) == top.c.login.toLowerCase()) { forYou++; } if (data[3] != '') { if (data[4] == 'klan' && data[2] == 3) { msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'klan\',\'private\');">private [klan]</span></span>'; } else if (data[4] == 'paladins' && data[2] == 3) { msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'paladins\',\'private\');">private [paladins]</span></span>'; } else if (data[4] == 'tarmans' && data[2] == 3) { msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'tarmans\',\'private\');">private [tarmans]</span></span>'; } else { msg += ` <span class="private"><span style="cursor:pointer" onclick="chat.multiaddto(\'${to2}\',\'private\');">private [ </span>${to}<span style="cursor:pointer" onclick="chat.multiAddto(\'${to2}\',\'private\');"> ]</span></span>`; } } } } msg += ' '; } data[5] = this.replaceAll(data[5],"[s1;]",'"'); data[5] = this.replaceAll(data[5],"[s2;]",'\''); data[5] = this.replaceAll(data[5],"[s3;]",'<'); data[5] = this.replaceAll(data[5],"[s4;]",'>'); if ($.cookie('chatCfg2') != 0) { data[5] = chat.testSmile(data[5]); } if (data[6] != 'Black' && data[6] != '') { var voiceMessageReg = data[5].match(/audio_[0-9]{10}[.]mp3/g) if (voiceMessageReg !== null) { msg += `<font color="${data[6]}"> <audio id="audioPlayerChat" controls style="width:300px;max-width:400px;" height="20px";> <source src="/audio/${voiceMessageReg[0]}" type="audio/mp3"> </audio> </font>`; voiceMessageReg = "" } else { if (data.length === 10) { msg += `<font color="${data[6]}">${data[5]}</font>`; } else { // https://img.new-combats.com/i/inf_capitalcity.gif // inf.php?89489 // console.log(chat.regexpURL_true(data[5])) // console.log(`Ññûëêà: ${data[6]} Òåêñò: ${data[5]}` ) msg += `<font color="${data[6]}">${chat.regexpURL_true(data[5])}</font>` // console.log("îáû÷íîå, öâåòíîå ñîîáùåíèå") } // msg += `<font color="${data[6]}">${data[5]}</font>`; // https://new-combats.com/n/1070/ - ×ÈÒÀÒÜ // https://new-combats.com/inf.php?903093 - ÈÍÔÀ ÌÎÁΠ// https://img.new-combats.com/i/inf_capitalcity.gif" - ÈÍÔÀ ÌÎÁΠ// console.log(chat.regexpURL_true(data[5])) // msg += `<font color="${data[6]}">${chat.regexpURL_true(data[5])}</font>` } } else { // var regexpURL = /[-a-zA-Z0-9@:%_\+.~#?&\/=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&\/=]*)?/gi // var adressURL = data[5].match(regexpURL) // if (adressURL !== null) { // msg += `<a href="${adressURL}">${adressURL}</a>` // } var voiceMessageReg = data[5].match(/audio_[0-9]{10}[.]mp3/g) if (voiceMessageReg !== null) { msg += `<audio id="audioPlayerChat" controls style="width:300px;max-width:400px;" height="20px";> <source src="/audio/${voiceMessageReg[0]}" type="audio/mp3"> </audio>` voiceMessageReg = "" } else { msg += chat.regexpURL_true(data[5]) // msg += data[5]; } } if(data[2] == 21) { //e text var text = `[loginfrom] ${data[5]}`; var ftps = `<i><a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${data[3]}\',event,\'chat\'); return false;" onClick="chat.addto(\'${data[3]}\',\'to\')">${data[3]}</a></i>`; var mblogin = new RegExp("\\[login:(.*?)\\]",""); text = text.replace('[loginfrom]',ftps); if(text.match(mblogin)!=null) { mblogin = text.match(mblogin)[1]; text = text.replace(`[login:${mblogin}]`,`<i><a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${mblogin}\',event,\'chat\'); return false;" onClick="chat.addto(\'${mblogin}\',\'to\')">${mblogin}</a></i>`); } msg = `<i>${text}</i>`; } if(data[1]>0) { var td = new Date((parseInt(data[1]))*1000); td = [td,null,null,null]; td[1] = td[0].getHours(); td[2] = td[0].getMinutes(); td[3] = td[0].getSeconds(); td[4] = td[0].getDay(); td[5] = td[0].getMonth(); td[6] = td[0].getYear(); var j = 1; while (j < 6) { if (td[j] < 10) td[j] = `0${td[j]}`; j++; } var cls = forYou > 0 ? 'date2' : 'date' if (data[11] > 0) { msg = `<font style="cursor:help" color="red" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Îòïðàâèòåëü íàêàçàí çà íàðóøåíèå ïðàâèë îáùåíèÿ<br>Îòêëþ÷èòü îòîáðàæåíèå ïîäîáíûõ ñîîáùåíèé ìîæíî â íàñòðîéêàõ ÷àòà.\',event,3,1,1,3,\'\')"> <b>!</b> </font>${msg}`; } if (data[10] > 0) { msg = `<font style="cursor:help" color="green" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ýòî ãëîáàëüíîå ñîîáùåíèå, îíî ìîæåò áûòü îòïðàâëåíî èç ëþáîé ëîêàöèè<br>Îòêëþ÷èòü îòîáðàæåíèå ïîäîáíûõ ñîîáùåíèé ìîæíî â íàñòðîéêàõ ÷àòà.\',event,3,1,1,3,\'\')"> <b>G</b> </font>${msg}`; } var msg22 = '<span '; if(top.c.admin > 0) { msg22 += `oncontextmenu="chat.deleteMessage(${data[0]}); return false;" `; } // ÎÏÒÈÌÈÇÀÖÈß!!! if (data[8] == 2) { if (data[14] == undefined) { data[14] = '--:--'; } if (data[14] == '--:--' && data[1] > 0) { data[14] = data[1]; var date14 = new Date(data[14] * 1000); data[14] = `${date14.getHours()}:${date14.getMinutes()}`; } msg22 += `class="${cls}">${data[14]}</span> `; } else { if (data[13] == undefined) { data[13] = '--:--'; } if (data[13] == '--:--' && data[1] > 0) { data[13] = data[1]; var date13 = new Date(data[13] * 1000); data[13] = `${date13.getHours()}:${date13.getMinutes()}`; } msg22 += `class="${cls}">${data[13]}</span> `; } msg = msg22+msg; } this.msgcount++; msg = `<span class="m0c1" id="msg_${data[0]}">${msg}<br></span>`; if (forYou > 0 && this.sound > 0 && this.trim(data[3].toLowerCase()) != top.c.login.toLowerCase()) { this.sendSound(1); } if(msg_see == 1) { if(this.trim(data[3].toLowerCase()) == top.c.login.toLowerCase() || forYou == 1 || this.filter == 0) { if( data[9] > 0 ) this.sendSound(data[9]); if( data[15] != undefined && data[15] != 0 ) { this.feerverk( data[15] ); this.feerverk( data[15] ); } if( top.des == 1 ) { if( data[2] < 4 || global_type == 1 ) { //Îáû÷íûé ÷àò chat.textColor_Work('#canal5', msg, 5) if( global_type == 1 ) { //Ñèñòåìíûé ÷àò chat.textColor_Work('#canal4', msg, 4) } }else{ //Ñèñòåìíûé ÷àò chat.textColor_Work('#canal4', msg, 4) chat.textColor_Work('#canal5', msg, 5) } } else { // var $htmlElementsMessage = new DOMParser().parseFromString(messg, "text/html").getElementsByTagName("span")[0] // document.getElementById('canal5').append($htmlElementsMessage) $('#canal5').html(`${$('#canal5').html()}${msg}`); } } } this.scrollNow(false); return delete forYou, cls, msg_see, msg, arr; } }, textColor_Work: function (canal ,messg, count) { var $htmlElementsMessage = new DOMParser().parseFromString(messg, "text/html").getElementsByTagName("span")[0] var $idCanal = canal.match(/canal[0-9]/) var $idCanal0 = document.getElementById($idCanal[0]) if (!$idCanal0) $(canal).html(`${$(canal).html()}${messg}`) else $idCanal0.append($htmlElementsMessage) // console.log(messg) // document.getElementById($idCanal[0]).append($htmlElementsMessage) top.blueTextSee(count); }, testKey: function (m, v) { var i = 0, r = v; v = false; while (i != -1) { if (m[i] != undefined) { if (m[i] == r) { v = i; i = -2; } } else i = -2; i++; } delete r, m; return v; }, isNumber: function (s) { return s = !isNaN(s) ? true : false }, testSmile: function (txt) { txr = txt.split(':'); var i = 1, j = 0, smid = 0; while (i <= txr.length) { if (txr[i] != undefined) { smid = this.testKey(top.sml, txr[i]); imsml = txr[i].split('-'); if (((smid != false || smid == 0) && this.isNumber(txr[i]) != true) || (imsml != undefined && imsml[0] == '%usersmile%')) { if (j < 3 && this.isNumber(top.sml[smid]) != true && (top.sml[smid] != undefined || imsml[0] == '%usersmile%')) { // òóò if (imsml[0] == '%usersmile%') { txt = txt.replace(`\:%usersmile%-${imsml[1]}\:`, `<img src="https://${top.c.img}/i/smile/${(imsml[1].toLowerCase())}.gif" title="Èìåííîé ñìàéëèê">`); } else { txt = txt.replace(`\:${txr[i]}\:`, `<img src="https://${top.c.img}/i/smile/${(txr[i].toLowerCase())}.gif" style="cursor:pointer" width="${top.sml[smid+1]}" height="${top.sml[smid+2]}" onclick="chat.addSmile(\'${(txr[i].toLowerCase())}\')">`); } j++; } } } i++; } return txt; }, trmb: function () { if (this.translit == 1) { $('#textmsg').val(this.convert2($('#textmsg').val())); } }, replaceAll: function (t, v, s) { return t.split(v).join(s); }, regexpURL_true (str) { var finallyStr = str var arrURL = str.match(/[-a-zA-Z0-9à-ÿÀ-ÿ@:;%_\+.~#?&\/=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:;%_\+.~#?&\/=]*)?/gi) var domainsRUS = str.match(/[a-zA-Z0-9à-ÿÀ-ß-]+[.,:;\/?!@#$%^&*()_+-`'"|]+(êîì|ðó|þà)+/gi) var domainsEN = str.match(/[a-zA-Z0-9à-ÿÀ-ß-]+[ .,:;\/?!@#$%^&*()_+-`'"|]+\b(c[o]+m|ua|r[u]{1,}|net|cc)+\b/gi) var regexpForbiddenWords = /\b(old|rebk|combatz|sbkru|urlidru|real|obk2com|bitly|owly|cruelbk|likebk|isgd|fightbk|my-|my-combatc|mbk|anti|ws|s3s|bakubk|idealbk|bespridel|perbk|online|cf|artovik|probk|twar|oyy|krbk|habk|timebk|sbi|eea|sokbk|inbk|refbk|s3s|bk20|analogbk|monstrbk|legendabk|awOev|cruelcity|tlgr|vntr|supbk|cu|tn|af|svel|kwn|krati|ohh|gHjq|ogw|lur|lmy|idz|hop|eee|bestbk|pixl|ssylka|f34r|exelendbk|9tl|qil|2t9|NjQ0|net|bishky|getl|ixz|nvm|prok|5char|tdl|pick|jj|FORM|zik|biz|sns|snsh|pnut|pb8|short|legendabk|prnt|utf|coombats|tiny|orDåNÂÊ|nbk|orden|club|utf|ubit|clc|wocmaet|wiecej|ourl|3le|NikY|fia|iop|ordenbk|s3s|sW|sw|so|xcombat|world|death|legendbattles|plu|dbe|kombatz|over|dek|ci8|goldbk|Zeus|nxt|is|Ndpx|pw|kutt|JovdeT|cort|rexno|bly|tFXUQ|fyi|yf0ck|lst|numl|yx5ru|vhGyJ|GEROY|MOYEP|fuck|lnnk|dhaF|oko|x8b4q|3le|Ru2q|psce|yx5|bg9xH|Rich|Lands|yx|bgH|qil|huxoqM|bgxH|Nextbk|idea|PLAYBK|dance|coronabk|hitbk|ttpham|prnt|RÑîìbàts|dedmoroz|wmj9bz|king|ZEBK|urlgo|ZniD)+\b/g finallyStr = str.replace(regexpForbiddenWords, () => "") var allURL = new Set() if (domainsEN) for (var key of domainsEN) { if (!key.match(/^[a-zA-zà-ÿÀ-ÿ0-9]+$/i)) allURL.add(key) } if (domainsRUS) for (var key of domainsRUS) { if (!key.match(/^[a-zA-zà-ÿÀ-ÿ0-9]+$/i)) allURL.add(key) } if (arrURL) for (var key of arrURL) allURL.add(key) if (!allURL.size) return finallyStr var trueURL = [] var falseURL = false for (var key of allURL) { if (key.match(/vk\.com/i)) trueURL.push(key) else if (key.match(/youtube\.com/i)) trueURL.push(key) else if (key.match(/youtu\.be/i)) trueURL.push(key) else if (key.match(/twitch\.tv/i)) trueURL.push(key) else if (key.match(/new-combats\.com/i)) trueURL.push(key) else if (key.match(/https:\/\/rpgtop\.su\/vote\/25443/i)) trueURL.push(key) else if (key.match(/inf\.php/i)) trueURL.push(key) else falseURL = true } if (falseURL) return " ñîîáùåíèè ïðèñóòñòâóþò çàïðåùåííûå ññûëêè." finallyStr = finallyStr.replace( /(<img src=")?(https?:\/\/)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z()]{1,6}\b([-a-zA-Z0-9()@:%_;\+.~#?&\/\/=]*)/gi, (match) => { if (/^(<img src=")/.test(match)) { return match } else if (match.match(/new-combats\.com/i)) return match else if (match.match(/inf\.php/i)) return match else if (/^(https?:\/\/)/.test(match)) { return `<a class="URL-a" href="${match}" target="_blank">${match}</a>` } else { return `<a class="URL-a" href="http://${match}" target="_blank">${match}</a>` } } ) finallyStr = finallyStr.replace(regexpForbiddenWords, () => "") return finallyStr }, convert2:function(txt) { var trn = new Array(); trn = txt.split(' '); for(var i=0;i<trn.length;i++) { if(trn[i].indexOf("https://") < 0 && trn[i].indexOf('@') < 0 && trn[i].indexOf("www.") < 0 && !(trn[i].charAt(0)==":" && trn[i].charAt(trn[i].length-1)==":")) { if ((i<trn.length-1)&&(trn[i]=="to" || trn[i]=="private")&&(trn[i+1].charAt(0)=="[")) { while ( (i<trn.length-1) && (trn[i].charAt(trn[i].length-1)!="]") ) i++; } else { trn[i] = this.convert(trn[i]); } } } return trn.join(' '); }, map_en:Array('s`h','S`h','S`H','s`Õ','sh`','Sh`','SH`',"'o",'yo',"'O",'Yo','YO','zh','w','Zh','ZH','W','ch','Ch','CH','sh','Sh','SH','e`','E`',"'u",'yu',"'U",'Yu',"YU","'a",'ya',"'A",'Ya','YA','a','A','b','B','v','V','g','G','d','D','e','E','z','Z','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','r','R','s','S','t','T','u','U','f','F','h','H','c','C','`','y','Y',"'"), map_ru:Array('ñõ','Ñõ','ÑÕ','ñÕ','ù','Ù','Ù','¸','¸','¨','¨','¨','æ','æ','Æ','Æ','Æ','÷','×','×','ø','Ø','Ø','ý','Ý','þ','þ','Þ','Þ','Þ','ÿ','ÿ','ß','ß','ß','à','À','á','Á','â','Â','ã','Ã','ä','Ä','å','Å','ç','Ç','è','È','é','É','ê','Ê','ë','Ë','ì','Ì','í','Í','î','Î','ï','Ï','ð','Ð','ñ','Ñ','ò','Ò','ó','Ó','ô','Ô','õ','Õ','ö','Ö','ú','û','Û','ü'), addSm: function (i) { $('#textmsg').focus(); top.document.textmsg.value += ` :${i}: `; }, convert_work: function (id) { newstr = str.match(id)[0]; str = str.replace(str.match(id)[0], ''); }, convert: function (str) { var p1 = new RegExp("private\\s*\\[(.*?)\\]", ""); var t1 = new RegExp("to\\s*\\[(.*?)\\]", ""); var newstr = ''; if (str.match(p1) != null) this.convert_work(p1) else if (str.match(t1) != null) this.convert_work(t1) for (var i = 0; i < this.map_en.length; ++i) while (str.indexOf(this.map_en[i]) >= 0) str = str.replace(this.map_en[i], this.map_ru[i]); newstr += str; return newstr; }, sendSound: function (s) { var svolm = 100; if (this.sound == 0) svolm = 0 else if (this.sound == 1) svolm = 25; else if (this.sound == 2) svolm = 100; var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1; if (isInternetExplorer && window.document["Sound"] && typeof window.document["Sound"].SetVariable !== "undefined") { window.document["Sound"].SetVariable("Volume", svolm); window.document["Sound"].SetVariable("Sndplay", s); } else if(document.getElementById('Sound2') && typeof document.getElementById('Sound2').SetVariable !== "undefined") { document.getElementById('Sound2').SetVariable("Volume", svolm); document.getElementById('Sound2').SetVariable("Sndplay", s); } }, getSwf:function(val) { var M$ = navigator.appName.indexOf("Microsoft")!=-1 return (M$ ? window : document)[val] }, trim: function (s) { return this.rtrim(this.ltrim(s)); }, ltrim: function (s) { return s.replace(/^\s+/, ''); }, rtrim: function (s) { return s.replace(/\s+$/, ''); }, multiaddto: function (users, tp) { var arr = users.split(','); var i = arr.length; while (i >= 0) { if (arr[i] != undefined) { this.addto(arr[i], tp); } i--; } }, osize:function(obj) { var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) size++; } return size; }, //Ãåíåðèðóåì äàííûå genchatData:function(data,prs) { if (prs == 1) { // console.log("òóò") data = $.parseJSON(data); } if (data == null && this.saveData != null) { data = this.saveData; data.js = ''; data.rn = undefined; data.key = undefined; } //Ïîëó÷àåì ñîîáùåíèå if (data.msg != undefined) { var ms = $.parseJSON(data.msg); // console.log(ms) if (ms['ld'] > this.msg_id) this.msg_id = ms['ld']; var i = 0; while (i <= ms['id']) { if (ms[`m${i}`] != undefined) { // console.group(ms[`m${i}`]) this.sendMsg(ms[`m${i}`]); } i++; } } //Åñëè åñòü JS if (data.js != '') eval(data.js); if(data.rnd!=undefined) c.rnd = data.rnd; if (data.rn != undefined) { if ($('#chcf10').attr('checked') == true) { $('#roomName').html(`${data.rn}<br><small>Îáùèé îíëàéí: ${data.xu}</small>`); } else $('#roomName').html(`${data.rn} (${data.xu})`); } if(data.key!=undefined) this.key = data.key; if(data.list!=undefined) { var i = 0, ji = $.parseJSON(data.list), onll = '', fSort = {}, flSort = {},flSortSee = '"Ñëóæáà Ïîääåðæêè"'; //ñîðòèðóåì äàííûå while (i <= data.xu) { if (ji[i] != undefined) { jj = ji[i][1].toLowerCase(); //ïî ëîãèíó fSort[jj] = i; flSort[i] = jj; flSortSee += `,"${flSort[i]}"`; } i++; } flSortSee = eval(`[${flSortSee}]`); if ($.cookie('chatCfg9') == 1) flSortSee.sort(game.sort2); else flSortSee.sort(game.sort1); //Âûâîäèì äàííûå i = 0; var onll_alh = ''; while (i <= data.xu) { if (fSort[flSortSee[i]] != undefined) { if (ji[fSort[flSortSee[i]]][3] == 50) { onll_alh += `<span class="m0c1">${this.gUser(ji[fSort[flSortSee[i]]],true)}</span>`; } else { onll += `<span class="m0c2">${this.gUser(ji[fSort[flSortSee[i]]],true)}</span>`; } } i++; } $('#onlist').html(`${onll_alh}${onll}`); } }, voiceMessage: function () { flagVoice = !flagVoice if (flagVoice) return chat.startRecording(flagVoice) return chat.startRecording(flagVoice) }, startRecording: function (flag) { if (flag) { if (navigator.mediaDevices.getUserMedia) { var $pVoiceMessages = document.getElementById("timerVoiceMess") $pVoiceMessages.hidden = false var constraints = { audio: true } var onSuccess = function (stream) { mediaRecorder = new MediaRecorder(stream); mediaRecorder.start() timerSecMessage = 0 var timerMlSecMessage = 1 setIntervalSound = setTimeout(function tickMlsec() { if (timerSecMessage === 60) { flagVoice = !flagVoice chat.styleRecordButton({ textButt: "Çàïèñü", color: "", backgroundColor: "", allSetting: true }) return } if (timerSecMessage > 9) $pVoiceMessages.textContent = `00:${timerSecMessage},${timerMlSecMessage}` else $pVoiceMessages.textContent = `00:0${timerSecMessage},${timerMlSecMessage}` if (++timerMlSecMessage > 9) { timerMlSecMessage = 0 ++timerSecMessage } setIntervalSound = setTimeout(tickMlsec, 100) }, 100) chat.styleRecordButton({ textButt: "Çàâåðøèòü", color: "rgb(165, 0, 0)", backgroundColor: "rgba(255, 0, 0, 0.083)", allSetting: false }) mediaRecorder.ondataavailable = function (e) { chunksVoice.push(e.data) } } var onError = function (err) { console.log(`Îøèáêà: ${err}`) alert("Îøèáêà, ïðîâåðüòå ïîäêëþ÷åíèå èëè ðàáîòîñïîñîáíîñòü ìèêðîôîíà!") } navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError) } else console.log("Àóäèîñîîáùåíèÿ íå ïîääåðæèâàþòñÿ âàøèì áðàóçåðîì!") return } chat.styleRecordButton({ textButt: "Çàïèñü", color: "", backgroundColor: "", allSetting: true }) return }, styleRecordButton: function (objArgs) { var { textButt, color, backgroundColor, allSetting } = objArgs var $buttonVoiceMess = document.getElementById("record") var $pVoiceMessages = document.getElementById("timerVoiceMess") if (allSetting) { clearInterval(setIntervalSound) $pVoiceMessages.textContent = "00:00,0" $buttonVoiceMess.textContent = textButt $buttonVoiceMess.style.color = color $buttonVoiceMess.style.backgroundColor = backgroundColor $pVoiceMessages.hidden = allSetting if (!mediaRecorder) return alert("Îøèáêà, ïðîâåðüòå ïîäêëþ÷åíèå èëè ðàáîòîñïîñîáíîñòü ìèêðîôîíà! Åñëè Âû ïîäêëþ÷èëè ìèêðîôîí è âñ¸ ðàáîòàåò - ïåðåçàãðóçèòå ñòðàíèöó <F5> è ïîïðîáóéòå ñíîâà!") mediaRecorder.stop() mediaRecorder.onstop = function (e) { chat.mediaRecorderStop() } mediaRecorder.stream.getAudioTracks().forEach(function (track) { track.stop() }) return } var $footerTop = document.getElementsByClassName("allChat")[1].offsetTop var $tdLeft = $buttonVoiceMess.parentElement.offsetLeft var $VoiceWidth = $buttonVoiceMess.clientWidth var $pVoiceWidth = $pVoiceMessages.clientWidth $pVoiceMessages.style.top = `${$footerTop - 30}px` $pVoiceMessages.style.left = `${($tdLeft + 9) + (($VoiceWidth - $pVoiceWidth) / 2)}px` $buttonVoiceMess.textContent = textButt $buttonVoiceMess.style.color = color $buttonVoiceMess.style.backgroundColor = backgroundColor $pVoiceMessages.hidden = allSetting return }, mediaRecorderStop: function () { if (timerSecMessage < 2) { chunksVoice.pop() return } var blob = new Blob(chunksVoice, { 'type': 'audio/mp3; codecs=opus' }) chunksVoice.pop() var fileReader = new FileReader() fileReader.readAsArrayBuffer(blob) fileReader.onload = async function (event) { var $inputWindow = document.getElementById("textmsg") var arrayBuffer = fileReader.result var response = await fetch("https://new-combats.com/audio.php", { method: "POST", body: arrayBuffer }) var timeStampFile = await response.text() $inputWindow.value = `${$inputWindow.value} audio_${timeStampFile}.mp3` chat.subSend() } } }