ST BOT v3

Bot Panel for gartic.io

  1. // ==UserScript==
  2. // @name ST BOT v3
  3. // @description Bot Panel for gartic.io
  4. // @version 3.0
  5. // @author STRAGON
  6. // @license N/A
  7. // @match *://gartic.io/*
  8. // @match *://*/*?__cpo=aHR0cHM6Ly9nYXJ0aWMuaW8
  9. // @icon https://see.fontimg.com/api/rf5/GO76G/ZTgwODFkODEyNTFiNGEwZmEzZGJjMTk2NjM2NWQ4NGYub3Rm/SDM/mitchel.png?r=fs&h=65&w=1000&fg=FF0000&bg=FFFFFF&tb=1&s=65
  10. // @grant GM_setValue
  11. // @grant GM_getValue
  12. // @grant GM_addValueChangeListener
  13. // @grant GM_addStyle
  14. // @grant GM_openInTab
  15. // @namespace https://greasyfork.org/en/users/1353946-stragon-x
  16.  
  17. // ==/UserScript==
  18.  
  19.  
  20.  
  21. let rand = x => Math.floor(Math.random() * 1000000),
  22. GM_onMessage = (label, cb) => GM_addValueChangeListener(label, (_, __, data) => cb(...data)),
  23. GM_sendMessage = (label, ...data) => GM_setValue(label, data);
  24. let autoskip=false;
  25.  
  26.  
  27.  
  28. let randomNumber = Math.floor(Math.random() * 36) + 1;
  29.  
  30. GM_onMessage('answerinput', (atılacak, _) => {
  31.  
  32. document.querySelector('#answer').value= atılacak
  33. })
  34. GM_onMessage('changedraw', (atılacak, _) => {
  35.  
  36. document.querySelector('#answer').value= atılacak
  37. })
  38. function f(ygn){return document.querySelector(ygn)}
  39. function fa(ygn){return document.querySelectorAll(ygn)}
  40. function num(ICE){return Math.ceil(Math.random()*ICE+1)}
  41. function rc(ygn){let e=f('input[name="chat"]');let lv=e.value;e.value="";let ev=new Event('input',{bubbles:true});ev.simulated=true;let t=e._valueTracker;if(t){t.setValue(lv);};e.dispatchEvent(ev);}
  42. function rs(ygn){let e=f(".search input");let lv=e.value;e.value="";let ev=new Event('input',{bubbles:true});ev.simulated=true;let t=e._valueTracker;if(t){t.setValue(lv);};e.dispatchEvent(ev);}
  43. function rnext(kelime) {
  44. const hd = kelime.split('');
  45. const hu = hd.length;
  46. const yh = [];
  47. const invisibleChars = ['\u200B', '\u200C', '\u200D', '\u2061', '\u2062', '\u2063', '\u2064', '\u2066', '\u17b4', '\u17b5', '\u2068', '\u2069'];
  48. let charCount = 0;
  49.  
  50. for (let i = 0; i < hu; i++) {
  51. yh.push(hd[i]);
  52. charCount++;
  53.  
  54. if (charCount < 18 && i < hu - 1) {
  55. const invisibleChar = invisibleChars[Math.floor(Math.random() * invisibleChars.length)];
  56. yh.push(invisibleChar);
  57. charCount++;
  58. }
  59.  
  60. if (charCount >= 18) {
  61. break;
  62. }
  63. }
  64.  
  65. return yh.join('');
  66. }
  67. let cmd="",wss=[],tojoin=0,usersinroom=[],customkickitems=[],intervalbroadcast,intervalmsg,intervalanswer,botsidvalue=[],botID,botlongID,theme,avatar=localStorage.getItem("avatar"),botnick=localStorage.getItem("botnick"),nick=localStorage.getItem("nick")
  68.  
  69.  
  70. if(window.location.href.indexOf("aHR0cHM6Ly9nYXJ0aWMuaW8")!=-1){
  71. let room,kicknewstat=false,kickjoinstat=false,waitforkick=0
  72.  
  73. const addItem = (arr, ...arguments) => { for (let i = 0; i < arguments.length; i++) { arr[arr.length] = arguments[i]; } return arr; };
  74.  
  75. function arrayFilter(array) {
  76. return array.filter((value, index, arr) => arr.indexOf(value) === index);
  77. }
  78.  
  79. GM_setValue("botekle",rand())
  80.  
  81. GM_addValueChangeListener("resetcount", function(I,C,E,b) {
  82. GM_setValue("botekle",rand())
  83. })
  84. setTimeout(()=>{waitforkick=0},1000)
  85.  
  86. GM_onMessage("join", (room,nick,avatar,botnick,kickonjoin,_) => {
  87. fetch("https://"+window.location.href.split("/")[2]+"/server?check=1&v3=1&room="+room+"&__cpo=aHR0cHM6Ly9nYXJ0aWMuaW8#").then(x=>x.text()).then(x=>{
  88. let ws=new WebSocket("wss://"+window.location.href.split("/")[2]+"/__cpw.php?u="+btoa("wss://"+x.split("https://")[1].split(".")[0]+".gartic.io/socket.io/?c="+x.split("?c=")[1]+"&EIO=3&transport=websocket")+"&o=aHR0cHM6Ly9nYXJ0aWMuaW8=");
  89. ws.onopen=()=>{
  90. let inter=setInterval(()=>{
  91. GM_setValue("ready",rand())
  92. if(tojoin==1){
  93. tojoin=0
  94. if (botnick === '0') {
  95. ws.send('42[3,{"v":20000,"nick":"' + rnext(nick) + '","avatar": '+avatar+' ,"platform":69 ,"sala":"' + room.substring(2) + '"}]')
  96. } if (botnick === '1') {
  97. ws.send('42[3,{"v":20000,"nick":"'+rnext(nick)+'","avatar":'+randomNumber+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  98. }
  99. if (botnick === '2') {
  100. ws.send('42[3,{"v":20000,"nick":"'+nick+Math.ceil(Math.random()*10000+1)+'","avatar":'+randomNumber+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  101. }
  102. if (botnick === '3') {
  103. ws.send('42[3,{"v":20000,"nick":"'+nick+Math.ceil(Math.random()*10000+1)+'","avatar":'+avatar+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  104. }
  105.  
  106. clearInterval(inter)
  107. }
  108. },50)
  109. }
  110.  
  111. ws.onclose=()=>{
  112. wss.length=0
  113. ws.close();
  114. }
  115. ws.onmessage=(msg)=>{
  116.  
  117.  
  118. if(msg.data.indexOf('42["23"')!=-1){
  119. let user=JSON.parse("{"+msg.data.split("{")[1].split("}")[0]+"}")
  120. usersinroom.push(user)
  121. if(kicknewstat){typeof(user.id)=="string"?ws.send('42[45,'+ws.id+',["'+user.id+'",true]]'):ws.send('42[45,'+ws.id+',['+user.id+',true]]');}
  122. }
  123. if(msg.data.indexOf('42["5"')!=-1){
  124. let objlist=JSON.parse('["5"'+msg.data.split('42["5"')[1])
  125. ws.theme=objlist[4].tema
  126. ws.room=objlist[4].codigo
  127. ws.id=objlist[2]
  128. objlist[5].forEach(item=>{usersinroom.push(item)})
  129. let targetid=objlist[5][0].id
  130. botID = objlist[2]
  131. botlongID = objlist[1]
  132. theme = objlist[4].tema
  133. setTimeout(()=>{
  134. f(".roomtheme").innerHTML= theme},10)
  135. setTimeout(()=>{
  136. GM_sendMessage("botsidvalue",botlongID,rand())},777)
  137. setTimeout(()=>{
  138. GM_sendMessage("updatelist",botID,rand())},777)
  139.  
  140. kickjoinstat?typeof(targetid)=="string"?ws.send('42[45,'+ws.id+',["'+targetid+'",true]]'):ws.send('42[45,'+ws.id+',['+targetid+',true]]'):0
  141. ws.send('42[46,'+objlist[2]+']')
  142.  
  143.  
  144. GM_onMessage('answerinput', (atılacak, _) => {
  145. f('#answer').value= atılacak
  146. })
  147.  
  148. GM_onMessage("botsidvalue", (datachangex, _) => {
  149.  
  150. botsidvalue.push(datachangex)
  151. });
  152. GM_onMessage("updatelist", (datachangex, _) => {
  153. GM_sendMessage("updatebotidlist",botsidvalue,rand())
  154. });
  155. GM_onMessage("updatebotidlist", (datachangex, _) => {
  156.  
  157. if (!botsidvalue.includes(datachangex)) {
  158. addItem(botsidvalue,...datachangex);
  159. }
  160. botsidvalue = arrayFilter(botsidvalue);
  161. });
  162.  
  163. GM_addValueChangeListener("broadcast", function(I,C,E,b) {
  164. ws.send('42[11,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  165. ws.send('42[13,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  166.  
  167. });
  168. GM_addValueChangeListener("msg", function(I,C,E,b) {
  169. ws.send('42[11,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  170. })
  171. GM_addValueChangeListener("answer", function(I,C,E,b) {
  172. ws.send('42[13,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  173. })
  174. GM_addValueChangeListener("report", function(I,C,E,b) {
  175. ws.send('42[35,'+objlist[2]+']')
  176. });
  177. GM_addValueChangeListener("jump", function(I,C,E,b) {
  178. ws.send('42[25,'+objlist[2]+']')
  179. });
  180.  
  181. let acceptdraw4Enabled = false;
  182. let intervalId4 = null;
  183.  
  184. GM_addValueChangeListener("acceptdraw1", function(I, C, E, b) {
  185. ws.send('42[34,'+objlist[2]+']')
  186. function startAcceptdraw4() {
  187. if (acceptdraw4Enabled) {
  188. let messages = [
  189. '42[10,'+ws.id+',[1,6,150,120,100,120]]',
  190. '42[10,' + ws.id + ',[1,6,100,120,100,170]]',
  191. '42[10,' + ws.id + ',[1,6,100,170,150,170]]',
  192. '42[10,' + ws.id + ',[1,6,150,170,150,220]]',
  193. '42[10,' + ws.id + ',[1,6,150,220,100,220]]',
  194. '42[10,' + ws.id + ',[5,"xFF0013"]]',
  195. '42[10,' + ws.id + ',[1,6,180,120,280,120]]',
  196. '42[10,' + ws.id + ',[1,6,230,120,230,220]]',
  197. '42[10,' + ws.id + ',[5,"x000000"]]',
  198. '42[10,' + ws.id + ',[1,6,310,120,310,220]]',
  199. '42[10,' + ws.id + ',[1,6,310,120,360,120]]',
  200. '42[10,' + ws.id + ',[1,6,360,120,360,170]]',
  201. '42[10,' + ws.id + ',[1,6,360,170,310,170]]',
  202. '42[10,' + ws.id + ',[1,6,335,170,360,220]]',
  203. '42[10,' + ws.id + ',[5,"xFF0013"]]',
  204. '42[10,' + ws.id + ',[1,6,390,120,390,220]]',
  205. '42[10,' + ws.id + ',[1,6,440,120,440,220]]',
  206. '42[10,' + ws.id + ',[1,6,390,120,440,120]]',
  207. '42[10,' + ws.id + ',[1,6,390,170,440,170]]',
  208. '42[10,' + ws.id + ',[5,"x000000"]]',
  209. '42[10,' + ws.id + ',[1,6,470,120,520,120]]',
  210. '42[10,' + ws.id + ',[1,6,470,170,520,170]]',
  211. '42[10,' + ws.id + ',[1,6,470,120,470,170]]',
  212. '42[10,' + ws.id + ',[1,6,520,120,520,220]]',
  213. '42[10,' + ws.id + ',[1,6,520,220,470,220]]',
  214. '42[10,' + ws.id + ',[5,"xFF0013"]]',
  215. '42[10,' + ws.id + ',[1,6,550,145,600,145]]',
  216. '42[10,' + ws.id + ',[1,6,550,205,600,205]]',
  217. '42[10,' + ws.id + ',[1,6,550,145,550,205]]',
  218. '42[10,' + ws.id + ',[1,6,600,145,600,205]]',
  219. '42[10,' + ws.id + ',[1,6,550,145,600,205]]',
  220. '42[10,' + ws.id + ',[5,"x000000"]]',
  221. '42[10,' + ws.id + ',[1,6,630,120,630,220]]',
  222. '42[10,' + ws.id + ',[1,6,680,120,680,220]]',
  223. '42[10,' + ws.id + ',[1,6,630,120,680,220]]',
  224.  
  225. ];
  226.  
  227.  
  228. let delay = 500;
  229.  
  230. let index = 0;
  231.  
  232.  
  233. function sendNextMessage() {
  234.  
  235. if (index < messages.length) {
  236.  
  237. ws.send(messages[index]);
  238.  
  239. index++;
  240.  
  241. setTimeout(sendNextMessage, delay);
  242.  
  243. }
  244.  
  245. }
  246.  
  247.  
  248. sendNextMessage();
  249.  
  250. }
  251. }
  252.  
  253. GM_addValueChangeListener("tips", function(I,C,E,b) {
  254. acceptdraw4Enabled = !acceptdraw4Enabled;
  255. if (acceptdraw4Enabled) {
  256. if (intervalId4 !== null) {
  257. clearInterval(intervalId4);
  258. }
  259. startAcceptdraw4();
  260. } else {
  261. if (intervalId4 !== null) {
  262. clearInterval(intervalId4);
  263. intervalId4 = null;
  264. }
  265. }
  266. });
  267.  
  268. });
  269. let acceptdraw2Enabled = false;
  270. let intervalId = null;
  271.  
  272. function startAcceptdraw2() {
  273. if (acceptdraw2Enabled) {
  274. ws.send('42[25,'+ws.id+']');
  275. }
  276. }
  277.  
  278. GM_addValueChangeListener("acceptdraw2", function(I,C,E,b) {
  279. acceptdraw2Enabled = !acceptdraw2Enabled;
  280. if (acceptdraw2Enabled) {
  281. if (intervalId !== null) {
  282. clearInterval(intervalId);
  283. }
  284. intervalId = setInterval(startAcceptdraw2, 3500);
  285. } else {
  286. if (intervalId !== null) {
  287. clearInterval(intervalId);
  288. intervalId = null;
  289. }
  290. }
  291. });
  292. let acceptdraw3Enabled = false;
  293. let intervalId3 = null;
  294.  
  295. function startAcceptdraw3() {
  296. if (acceptdraw3Enabled) {
  297. ws.send('42[35,'+ws.id+']');
  298. }
  299. }
  300.  
  301. GM_addValueChangeListener("acceptdraw3", function(I,C,E,b) {
  302. acceptdraw3Enabled = !acceptdraw3Enabled;
  303. if (acceptdraw3Enabled) {
  304. if (intervalId3 !== null) {
  305. clearInterval(intervalId3);
  306. }
  307. intervalId3 = setInterval(startAcceptdraw3, 7000);
  308. } else {
  309. if (intervalId3 !== null) {
  310. clearInterval(intervalId3);
  311. intervalId3 = null;
  312. }
  313. }
  314. });
  315. GM_addValueChangeListener("tips", function(I,C,E,b) {
  316. ws.send('42[30,'+objlist[2]+',1]')
  317. });
  318.  
  319. GM_addValueChangeListener("exit", function(I,C,E,b) {
  320. ws.send('42[24,'+objlist[2]+']')
  321. wss.lenghth=0
  322. usersinroom.length=0
  323. });
  324.  
  325. function autoSend() {
  326. if (autoskip == true){
  327.  
  328. ws.send('42[25,'+objlist[2]+']')
  329. }
  330. }
  331. setInterval(autoSend, 5000);
  332.  
  333.  
  334.  
  335. GM_addValueChangeListener("kick", function(I,C,E,b) {
  336. if(!botsidvalue.includes(E.split("..")[0])){
  337. ws.send('42[45,'+objlist[2]+',["'+E.split("..")[0]+'",true]]')}
  338. })
  339.  
  340.  
  341. JSON.stringify(wss).indexOf(objlist[2])==-1?wss.push({"ws":ws,"id":objlist[2],"lengthID":objlist[1]}):0
  342. let interval=setInterval(()=>{
  343. ws.readyState==1?ws.send('42[42,'+objlist[2]+']'):clearInterval(interval)
  344. ws.readyState==1?ws.send('2'):clearInterval(interval)
  345. },20000);
  346. }
  347. if(msg.data.indexOf('42["34"')!=-1){
  348. let objlist=JSON.parse('["34"'+msg.data.split('42["34"')[1])
  349. var cdd=objlist[1]
  350.  
  351. GM_sendMessage('answerinput', cdd, rand());
  352.  
  353. }
  354.  
  355. }
  356. })
  357. });
  358.  
  359.  
  360.  
  361.  
  362. GM_addValueChangeListener("join", function(I,C,E,b) {
  363. tojoin=1
  364. });
  365. GM_addValueChangeListener("kicknewset", function(I,C,E,b) {
  366. kicknewstat=E
  367. });
  368. GM_addValueChangeListener("kickjoinset", function(I,C,E,b) {
  369. kickjoinstat=E
  370. });
  371.  
  372.  
  373.  
  374. window.addEventListener("beforeunload",()=>{
  375. GM_setValue("botçıkar",window.location.href.split("/")[2]+"--"+rand())
  376. })
  377. }
  378.  
  379. if(window.location.href.indexOf("gartic.io")!=-1){
  380. const addItem = (arr, ...arguments) => { for (let i = 0; i < arguments.length; i++) { arr[arr.length] = arguments[i]; } return arr; };
  381.  
  382. function arrayFilter(array) {
  383. return array.filter((value, index, arr) => arr.indexOf(value) === index);
  384. }
  385. let customkick = localStorage.getItem("customkick");
  386. if (!customkick) {
  387. localStorage.setItem("customkick", "[]");
  388. }
  389.  
  390. if (customkick) {
  391. let list=JSON.parse(localStorage.getItem("customkick"))
  392.  
  393. list.forEach(user=>{
  394. setTimeout(()=>{
  395. f("#STBOT3").innerHTML+=`<h2 class="customkick" id="customkick.`+user.user+`">`+user.user+`</h2>
  396. <input type="submit" class="customkickremove" id="customkickuser.`+user.user+`" onclick="window.postMessage('customkickremove.`+user.user+`','*')" value="remove">`
  397. addItem(customkickitems, user.user)
  398. },3000)
  399. })
  400. }
  401. let avataritem = localStorage.getItem("avatar");
  402. if (!avataritem) {
  403. localStorage.setItem("avatar", "17");
  404. }
  405. let botnickitem = localStorage.getItem("botnick");
  406. if (!botnickitem) {
  407. localStorage.setItem("botnick", "0");
  408. }
  409. let nickitem = localStorage.getItem("nick");
  410. if (!nickitem) {
  411. localStorage.setItem("nick", "ST BOT");
  412. }
  413. if (avataritem) {
  414. setTimeout(()=>{
  415. f("#avatar").src = 'https://gartic.io/static/images/avatar/svg/' + localStorage.getItem("avatar") + '.svg';
  416.  
  417. },100)
  418. }
  419. window.addEventListener("message",(msg)=>{
  420. if(msg.data=="broadcastspam"){
  421. let broadcastspamMS=f(".broadcastspam").value
  422. f("#broadcastms").innerText='BROADCAST SPAM VALUE: ' + broadcastspamMS
  423. localStorage.setItem("broadcastspam",broadcastspamMS)
  424. }
  425. if(msg.data=="messagespam"){
  426. let messagespamMS=f(".messagespam").value
  427. f("#messagems").innerText='MESSAGE SPAM VALUE: ' + messagespamMS
  428. localStorage.setItem("messagespam",messagespamMS)
  429. }
  430. if(msg.data=="answerspam"){
  431. let answerspamMS=f(".answerspam").value
  432. f("#answerms").innerText='ANSWER SPAM VALUE: ' + answerspamMS
  433. localStorage.setItem("answerspam",answerspamMS)
  434. }
  435. if(msg.data=="nick"){
  436. localStorage.setItem("nick",f("#botnick").value)
  437. }
  438. if(msg.data=="botnick0"){
  439. botnick=0
  440. localStorage.setItem("botnick",0)
  441. }
  442. if(msg.data=="botnick1"){
  443. botnick=1
  444. localStorage.setItem("botnick",1)
  445. }
  446. if(msg.data=="botnick2"){
  447. botnick=2
  448. localStorage.setItem("botnick",2)
  449. }
  450. if(msg.data=="botnick3"){
  451. botnick=3
  452. localStorage.setItem("botnick",3)
  453. }
  454. if(msg.data=="showavatarlist"){
  455. // f("#STBOT1").style.display="none"
  456. f("#avatarlist").style.display="block"
  457. }
  458. if(msg.data=="hideavatarlist"){
  459. f("#STBOT1").style.display="block"
  460. f("#avatarlist").style.display="none"
  461. }
  462. if(msg.data=="avatar0"){
  463. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/0.svg";
  464. avatar=0
  465. localStorage.setItem("avatar",0)
  466. }
  467. if(msg.data=="avatar1"){
  468. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/1.svg";
  469. avatar=1
  470. localStorage.setItem("avatar",1)
  471. }
  472. if(msg.data=="avatar2"){
  473. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/2.svg";
  474. avatar=2
  475. localStorage.setItem("avatar",2)
  476. }
  477. if(msg.data=="avatar3"){
  478. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/3.svg";
  479. avatar=3
  480. localStorage.setItem("avatar",3)
  481. }
  482. if(msg.data=="avatar4"){
  483. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/4.svg";
  484. avatar=4
  485. localStorage.setItem("avatar",4)
  486. }
  487. if(msg.data=="avatar5"){
  488. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/5.svg";
  489. avatar=5
  490. localStorage.setItem("avatar",5)
  491. }
  492. if(msg.data=="avatar6"){
  493. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/6.svg";
  494. avatar=6
  495. localStorage.setItem("avatar",6)
  496. }
  497. if(msg.data=="avatar7"){
  498. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/7.svg";
  499. avatar=7
  500. localStorage.setItem("avatar",7)
  501. }
  502. if(msg.data=="avatar8"){
  503. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/8.svg";
  504. avatar=8
  505. localStorage.setItem("avatar",8)
  506. }
  507. if(msg.data=="avatar9"){
  508. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/9.svg";
  509. avatar=9
  510. localStorage.setItem("avatar",9)
  511. }
  512. if(msg.data=="avatar10"){
  513. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/10.svg";
  514. avatar=10
  515. localStorage.setItem("avatar",10)
  516. }
  517. if(msg.data=="avatar11"){
  518. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/11.svg";
  519. avatar=11
  520. localStorage.setItem("avatar",11)
  521. }
  522. if(msg.data=="avatar12"){
  523. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/12.svg";
  524. avatar=12
  525. localStorage.setItem("avatar",12)
  526. }
  527. if(msg.data=="avatar13"){
  528. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/13.svg";
  529. avatar=13
  530. localStorage.setItem("avatar",13)
  531. }
  532. if(msg.data=="avatar14"){
  533. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/14.svg";
  534. avatar=14
  535. localStorage.setItem("avatar",14)
  536. }
  537. if(msg.data=="avatar15"){
  538. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/15.svg";
  539. avatar=15
  540. localStorage.setItem("avatar",15)
  541. }
  542. if(msg.data=="avatar16"){
  543. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/16.svg";
  544. avatar=16
  545. localStorage.setItem("avatar",16)
  546. }
  547. if(msg.data=="avatar17"){
  548. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/17.svg";
  549. avatar=17
  550. localStorage.setItem("avatar",17)
  551. }
  552. if(msg.data=="avatar18"){
  553. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/18.svg";
  554. avatar=18
  555. localStorage.setItem("avatar",18)
  556. }
  557. if(msg.data=="avatar19"){
  558. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/19.svg";
  559. avatar=19
  560. localStorage.setItem("avatar",19)
  561. }
  562. if(msg.data=="avatar20"){
  563. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/20.svg";
  564. avatar=20
  565. localStorage.setItem("avatar",20)
  566. }
  567. if(msg.data=="avatar21"){
  568. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/21.svg";
  569. avatar=21
  570. localStorage.setItem("avatar",21)
  571. }
  572. if(msg.data=="avatar22"){
  573. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/22.svg";
  574. avatar=22
  575. localStorage.setItem("avatar",22)
  576. }
  577. if(msg.data=="avatar23"){
  578. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/23.svg";
  579. avatar=23
  580. localStorage.setItem("avatar",23)
  581. }
  582. if(msg.data=="avatar24"){
  583. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/24.svg";
  584. avatar=24
  585. localStorage.setItem("avatar",24)
  586. }
  587. if(msg.data=="avatar25"){
  588. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/25.svg";
  589. avatar=25
  590. localStorage.setItem("avatar",25)
  591. }
  592. if(msg.data=="avatar26"){
  593. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/26.svg";
  594. avatar=26
  595. localStorage.setItem("avatar",26)
  596. }
  597. if(msg.data=="avatar27"){
  598. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/27.svg";
  599. avatar=27
  600. localStorage.setItem("avatar",27)
  601. }
  602. if(msg.data=="avatar28"){
  603. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/28.svg";
  604. avatar=28
  605. localStorage.setItem("avatar",28)
  606. }
  607. if(msg.data=="avatar29"){
  608. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/29.svg";
  609. avatar=29
  610. localStorage.setItem("avatar",29)
  611. }
  612. if(msg.data=="avatar30"){
  613. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/30.svg";
  614. avatar=30
  615. localStorage.setItem("avatar",30)
  616. }
  617. if(msg.data=="avatar31"){
  618. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/31.svg";
  619. avatar=31
  620. localStorage.setItem("avatar",31)
  621. }
  622. if(msg.data=="avatar32"){
  623. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/32.svg";
  624. avatar=32
  625. localStorage.setItem("avatar",32)
  626. }
  627. if(msg.data=="avatar33"){
  628. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/33.svg";
  629. avatar=33
  630. localStorage.setItem("avatar",33)
  631. }
  632. if(msg.data=="avatar34"){
  633. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/34.svg";
  634. avatar=34
  635. localStorage.setItem("avatar",34)
  636. }
  637. if(msg.data=="avatar35"){
  638. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/35.svg";
  639. avatar=35
  640. localStorage.setItem("avatar",35)
  641. }
  642. if(msg.data=="avatar36"){
  643. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/36.svg";
  644. avatar=36
  645. localStorage.setItem("avatar",36)
  646. }
  647.  
  648.  
  649. if(msg.data=="customkickadd"){
  650. const value = f("#kicklistinput").value;
  651. var customkicklist = localStorage.getItem("customkick");
  652. if (!customkicklist.includes(value) && !customkickitems.includes(value)) {
  653. customkickitems.push(value);
  654. let customkickitem = JSON.parse(localStorage.getItem("customkick"));
  655. if (customkickitem.findIndex(item => item.user === value) === -1) {
  656. customkickitem.push({ "user": value });
  657. localStorage.setItem("customkick", JSON.stringify(customkickitem));
  658. f("#STBOT3").innerHTML += `<h2 class="customkick" id="customkick.` + value + `">` + value + `</h2>
  659. <input type="submit" class="customkickremove" id="customkickuser.` + value + `" onclick="window.postMessage('customkickremove.` + value + `','*')" value="remove">`
  660. }
  661. }
  662. }
  663. if(msg.data.indexOf("customkickremove.")!=-1){
  664. let usernick = event.data.split("customkickremove.")[1];
  665. let storage = JSON.parse(localStorage.getItem("customkick"));
  666.  
  667. if (storage && Array.isArray(storage)) {
  668. for (let i = 0; i < storage.length; i++) {
  669. if (storage[i].user === usernick) {
  670. storage.splice(i, 1);
  671. break;
  672. }
  673. }
  674.  
  675. localStorage.setItem("customkick", JSON.stringify(storage));
  676. var value = usernick;
  677. var index = customkickitems.indexOf(value);
  678. if (index > -1) {
  679. customkickitems.splice(index, 1);
  680. }
  681. }
  682. let kickusertext= document.getElementById("customkick."+usernick)
  683. let kickuserremovebtn= document.getElementById("customkickuser."+usernick)
  684. kickusertext.remove()
  685. kickuserremovebtn.remove()
  686.  
  687. }
  688. if(msg.data=="customkickremoveall"){
  689. var elementsCustomKick = document.querySelectorAll('[id*="customkick."]');
  690. var elementsCustomKickUser = document.querySelectorAll('[id*="customkickuser."]');
  691. function deleteElement(element) {
  692. element.parentNode.removeChild(element);
  693. }
  694. elementsCustomKick.forEach(function(element) {
  695. deleteElement(element);
  696. });
  697. elementsCustomKickUser.forEach(function(element) {
  698. deleteElement(element);
  699.  
  700. })
  701. localStorage.setItem("customkick","[]")
  702. customkickitems=[]
  703. }
  704. })
  705. let readyc=0,botc=0,otoeven=0,roomusers=[]
  706.  
  707. let WebSocket=window.WebSocket
  708. window.ginterval=0
  709. window.selectlevel=-1
  710. let originalSend = WebSocket.prototype.send,setTrue=false;
  711. window.wsObj={}
  712. console.log("running")
  713. WebSocket.prototype.send=function(data){
  714. originalSend.apply(this, arguments)
  715. if(Object.keys(window.wsObj).length==0){window.wsObj=this;window.eventAdd()}
  716. };
  717.  
  718. function updatespeckicks(){
  719. f(".userkickmenu").innerHTML=""
  720. roomusers.forEach(user=>{
  721. user.nick.split("‏").join("")!="STBOT"?f(".userkickmenu").innerHTML+=`<input type="submit" class="kickmenubtn" value="`+user.nick+`" onclick="window.postMessage('kickuser.`+user.id+`','*')">`:0
  722. })
  723. }
  724.  
  725. window.eventAdd=()=>{
  726. if(!setTrue){
  727. setTrue=1
  728. window.wsObj.addEventListener("message",(msg)=>{
  729.  
  730. if(msg.data.indexOf('42["5"')!=-1){
  731. let objlist=JSON.parse('["5"'+msg.data.split('42["5"')[1])
  732. objlist[5].forEach(item=>{roomusers.push(item)})
  733. updatespeckicks()
  734. }
  735. if(msg.data.indexOf('42["23"')!=-1){
  736. let user=JSON.parse("{"+msg.data.split("{")[1].split("}")[0]+"}")
  737. roomusers.push(user)
  738. updatespeckicks()
  739. }
  740. if(msg.data.indexOf('42["24"')!=-1){
  741. let user=msg.data.split(",")[1].split('"')[1]
  742. for(let i=0;i<roomusers.length;i++){
  743. typeof(roomusers[i].id)==='undefined'?0:roomusers[i].id==user?roomusers.splice(i,1):0
  744. }
  745. updatespeckicks()
  746. }
  747. })
  748. }
  749. }
  750.  
  751.  
  752.  
  753.  
  754. let html=`
  755. <div class="userlist">
  756. <div class="userkickmenu"></div>
  757. <input type="submit" style="width:90px; background:red" onclick="window.postMessage('kickall','*')" value="KICK ALL">
  758. <input type="checkbox" class="kickonjoin">&nbsp;Kick on join<br>
  759. <input type="checkbox" class="kickallwhenjoin">&nbsp;Kick when join<hr>
  760. </div>
  761.  
  762. </div>
  763. <div id="avatarlist" class="icebot">
  764. <input type="submit" class="chooseavatar" onclick="window.postMessage('hideavatarlist','*')" value="Close" style="width: 20%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;background-color: #ff0000;">
  765. <div class="avatarbtn"><button>
  766. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/0.svg" class="selectedavatar" onclick="window.postMessage('avatar0','*')"></button>
  767. <button>
  768. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/1.svg" class="selectedavatar" onclick="window.postMessage('avatar1','*')"></button>
  769. <button>
  770. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/2.svg" class="selectedavatar" onclick="window.postMessage('avatar2','*')"></button>
  771. <button>
  772. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/3.svg" class="selectedavatar" onclick="window.postMessage('avatar3','*')"></button></div>
  773. <div class="avatarbtn"><button>
  774. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/4.svg" class="selectedavatar" onclick="window.postMessage('avatar4','*')"></button>
  775. <button>
  776. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/5.svg" class="selectedavatar" onclick="window.postMessage('avatar5','*')"></button>
  777. <button>
  778. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/6.svg" class="selectedavatar" onclick="window.postMessage('avatar6','*')"></button>
  779. <button>
  780. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/7.svg" class="selectedavatar" onclick="window.postMessage('avatar7','*')"></button></div>
  781. <div class="avatarbtn"><button>
  782. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/8.svg" class="selectedavatar" onclick="window.postMessage('avatar8','*')"></button>
  783. <button>
  784. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/9.svg" class="selectedavatar" onclick="window.postMessage('avatar9','*')"></button>
  785. <button>
  786. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/10.svg" class="selectedavatar" onclick="window.postMessage('avatar10','*')"></button>
  787. <button>
  788. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/11.svg" class="selectedavatar" onclick="window.postMessage('avatar11','*')"></button></div>
  789. <div class="avatarbtn"><button>
  790. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/12.svg" class="selectedavatar" onclick="window.postMessage('avatar12','*')"></button>
  791. <button>
  792. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/13.svg" class="selectedavatar" onclick="window.postMessage('avatar13','*')"></button>
  793. <button>
  794. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/14.svg" class="selectedavatar" onclick="window.postMessage('avatar14','*')"></button>
  795. <button>
  796. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/15.svg" class="selectedavatar" onclick="window.postMessage('avatar15','*')"></button></div>
  797. <div class="avatarbtn"><button>
  798. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/16.svg" class="selectedavatar" onclick="window.postMessage('avatar16','*')"></button>
  799. <button>
  800. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/17.svg" class="selectedavatar" onclick="window.postMessage('avatar17','*')"></button>
  801. <button>
  802. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/18.svg" class="selectedavatar" onclick="window.postMessage('avatar18','*')"></button>
  803. <button>
  804. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/19.svg" class="selectedavatar" onclick="window.postMessage('avatar19','*')"></button></div>
  805. <div class="avatarbtn"><button>
  806. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/20.svg" class="selectedavatar" onclick="window.postMessage('avatar20','*')"></button>
  807. <button>
  808. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/21.svg" class="selectedavatar" onclick="window.postMessage('avatar21','*')"></button>
  809. <button>
  810. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/22.svg" class="selectedavatar" onclick="window.postMessage('avatar22','*')"></button>
  811. <button>
  812. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/23.svg" class="selectedavatar" onclick="window.postMessage('avatar23','*')"></button></div>
  813. <div class="avatarbtn"><button>
  814. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/24.svg" class="selectedavatar" onclick="window.postMessage('avatar24','*')"></button>
  815. <button>
  816. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/25.svg" class="selectedavatar" onclick="window.postMessage('avatar25','*')"></button>
  817. <button>
  818. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/26.svg" class="selectedavatar" onclick="window.postMessage('avatar26','*')"></button>
  819. <button>
  820. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/27.svg" class="selectedavatar" onclick="window.postMessage('avatar27','*')"></button></div>
  821. <div class="avatarbtn"><button>
  822. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/28.svg" class="selectedavatar" onclick="window.postMessage('avatar28','*')"></button>
  823. <button>
  824. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/29.svg" class="selectedavatar" onclick="window.postMessage('avatar29','*')"></button>
  825. <button>
  826. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/30.svg" class="selectedavatar" onclick="window.postMessage('avatar30','*')"></button>
  827. <button>
  828. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/31.svg" class="selectedavatar" onclick="window.postMessage('avatar31','*')"></button></div>
  829. <div class="avatarbtn"><button>
  830. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/32.svg" class="selectedavatar" onclick="window.postMessage('avatar32','*')"></button>
  831. <button>
  832. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/33.svg" class="selectedavatar" onclick="window.postMessage('avatar33','*')"></button>
  833. <button>
  834. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/34.svg" class="selectedavatar" onclick="window.postMessage('avatar34','*')"></button>
  835. </div>
  836. <div class="avatarbtn">
  837. <button>
  838. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/35.svg" class="selectedavatar" onclick="window.postMessage('avatar35','*')"></button>
  839. <button>
  840. <button>
  841. <img width="100" style="margin-top:-5px;" height="100" src="https://gartic.io/static/images/avatar/svg/36.svg" class="selectedavatar" onclick="window.postMessage('avatar36','*')"></button></div>
  842. <br>
  843. </div>
  844. <div id="STBOT2" class="STBOT2">
  845. <img width="100" style="margin-top:0px;" height="55" src="https://gartic.io/static/images/avatar/svg/`+localStorage.getItem("avatar")+`.svg" id="avatar" class="selectedavatar">
  846. </div>
  847. <div id="STBOT3" class="STBOT3">
  848.  
  849. <input type="number" id="broadcastx" placeholder="Number Bot" style="border-radius: 5px; width: 45%; height: 10px; border: 2px solid white;padding: 10px;background-color: #000000; color:white; ">
  850. <button class="broadcastbtnx" onclick="openTabs()" value="Broadcast"style="border-radius: 5px;height: 33px;color: #ffffff;margin-top: 10px;margin-left: 4px;background-color: #ff0000;width: 30%;">OPEN
  851. </button>
  852. <button id="openLinkButton" class="custom-button">More Scripts</button>
  853. </div>
  854. <div id="STBOT4" class="STBOT4">
  855. <div class="panel">
  856.  
  857. <div class="row">
  858. <span class="text">Auto Skip</span>
  859. <img src="https://dl.shut.ir/public/file/2023/10/17/%D8%B9%DA%A9%D8%B3-%D8%B6%D8%B1%D8%A8%D8%AF%D8%B1-%D9%82%D8%B1%D9%85%D8%B2-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87.png" class = "offon" style="width: 35px; height: 35px; cursor: pointer; border: none;" onclick="window.postMessage('acceptdraw2','*')" />
  860. </div>
  861.  
  862. <div class="row">
  863. <span class="text">Auto Report</span>
  864. <img src="https://dl.shut.ir/public/file/2023/10/17/%D8%B9%DA%A9%D8%B3-%D8%B6%D8%B1%D8%A8%D8%AF%D8%B1-%D9%82%D8%B1%D9%85%D8%B2-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87.png" class = "offon" style="width: 35px; height: 35px; cursor: pointer; border: none;" onclick="window.postMessage('acceptdraw3','*')" /> </div>
  865.  
  866. <div class="row">
  867. <span class="text">Anti AFK</span>
  868. <img src="https://dl.shut.ir/public/file/2023/10/17/%D8%B9%DA%A9%D8%B3-%D8%B6%D8%B1%D8%A8%D8%AF%D8%B1-%D9%82%D8%B1%D9%85%D8%B2-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87.png" class = "offon" style="width: 35px; height: 35px; cursor: pointer; border: none;" onclick="window.postMessage('XX','*')" />
  869. </div>
  870.  
  871. <div class="row">
  872.  
  873.  
  874. <span class="textx">Drow Bot</span>
  875. <button onclick="window.postMessage('tips','*')" class="animated-button" style = "width: 30%;">
  876. <span>DROW</span>
  877. <span></span>
  878. </button>
  879. </div>
  880.  
  881. </div>
  882. </div>
  883.  
  884.  
  885. <div id="STBOT1" class="STBOT">
  886. <img src="https://see.fontimg.com/api/rf5/GOW9Z/YmZhZjE4Yzk1YWM5NDYzNWEwZGE2MDQ5YTdiMTBjMGQudHRm/U1QgQk9UIFYz/bloody-terror.png?r=fs&h=65&w=1000&fg=FF0000&bg=FFFFFF&tb=1&s=65" class="title" style="width: 110px; height: 27px; cursor: pointer; border: none; margin-top: 5px;" onclick="image1Click3()" />
  887. <input type="text" id="roomlink" placeholder="Room link" style="border-radius: 5px; border: 2px solid white; width: 75%; height: 30px;padding: 10px;background-color: #000000; color:white; margin-top: 10px;">
  888. <input type="submit" id="join" onclick="window.postMessage('join','*')" value="JOIN" style="border-radius: 5px; width: 20%; cursor: pointer; height: 30px;color: #ffffff;">
  889. <input type="text" id="botnick" oninput="window.postMessage('nick','*')" placeholder="Bot nick" value="`+localStorage.getItem("nick")+`" style="border-radius: 5px; width: 75%; height: 30px; margin-top: 5px; border: 2px solid white;padding: 10px;background-color: #000000; color:white; margin-top: 10px;">
  890. <input type="submit" class="chooseavatar" onclick="window.postMessage('showavatarlist','*')" value="Avatar"style="width: 20%; border-radius: 5px;height: 30px;color: #ffffff;">
  891. <input type="submit" class="botnick0" onclick="window.postMessage('botnick0','*')" value="Normal N/A"style="width: 47%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;">
  892. <input type="submit" class="botnick1" onclick="window.postMessage('botnick1','*')" value="Random Avatar"style="width: 47%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;"><br>
  893. <input type="submit" class="botnick2" onclick="window.postMessage('botnick3','*')" value="Random Nick"style="width: 47%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;">
  894. <input type="submit" class="botnick2" onclick="window.postMessage('botnick2','*')" value="Random N/A"style="width: 47%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;">
  895.  
  896.  
  897. <br>
  898. <div class="broadcastbox">
  899. <input type="text" id="broadcast" placeholder="Broadcast" style="border-radius: 5px; width: 70%; height: 30px; border: 2px solid white;padding: 10px;background-color: #000000; color:white; ">
  900. <button class="broadcastbtn" onclick="window.postMessage('broadcast','*')" value="Broadcast"style="border-radius: 5px;height: 30px;color: #ffffff;margin-top: 10px;margin-left: 4px;">Send
  901. </button></div>
  902. <div class="msgbox"><input type="text" id="message" placeholder="Message" style="border-radius: 5px; border: 2px solid white; padding: 10px; background-color: #000000; color:white; "><button class="msgbtn" onclick="window.postMessage('chat','*')" value="Message" style="border-radius: 5px;height: 30px;color: #ffffff;margin-top: 10px;margin-left: 4px;">Send
  903. </button></div>
  904. <div class="answerbox"><input type="text" id="answer" placeholder="Answer" style="border-radius: 5px; width: 70%; height: 30px; border: 2px solid white; padding: 10px; background-color: #000000; color:white; "><button class="answerbtn" onclick="window.postMessage('answer','*')" value="Answer" style="border-radius: 5px;height: 30px;color: #ffffff;margin-top: 10px;margin-left: 4px;">Send
  905.  
  906. </button></div>
  907.  
  908. <input type="submit" class="kickall" onclick="window.postMessage('kickall','*')" value="KICK ALL"style="width: 95%; border-radius: 5px;height: 30px;color: #ffffff;margin-top: 7px;">
  909. <input type="submit" class="exit" onclick="window.postMessage('exit','*')" value="EXIT" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  910. <input type="submit" class="report" onclick="window.postMessage('report','*')" value="REPORT" style=" border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  911. <input type="submit" class="jump" onclick="window.postMessage('jump','*')" value="SKIP" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  912. <input type="submit" class="acceptdraw1" onclick="window.postMessage('acceptdraw1','*')" value="DRAW" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  913.  
  914. <br>
  915. </div>
  916.  
  917.  
  918. `
  919.  
  920. function setCSS(){
  921. var css = `
  922. @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
  923. .userlist *{box-sizing:border-box;}
  924.  
  925. .panel {
  926. display: flex;
  927. flex-direction: column;
  928. align-items: center;
  929. }
  930.  
  931. .row {
  932. display: flex;
  933. align-items: center;
  934. margin-bottom: 5px;
  935. }
  936.  
  937. .text {
  938. color: #ffffff; /* white color */
  939. margin-right: 24px;
  940. font-size: 20px;
  941. }
  942. .textx {
  943. color: #ffffff; /* white color */
  944. margin-right: 65px;
  945. margin-top: 10px;
  946. font-size: 20px;
  947. }
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955. .userlist {
  956. display:block;text-align:center;opacity:none;font-size:10pt;color:#ff0000;font-style:italic;
  957. position:fixed;left:50%;top:3px;padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;border:2px solid #303132;
  958. transform:translate(-50%,0);border-radius:15px;z-index:999999999;display:block !important;height:auto !important;width:200px !important;
  959. }
  960.  
  961. .userlist input[type=text]{height:20px;border-radius:3px;font-size:9pt;background:brown;color:white;padding-left:3px;}
  962. .userlist input[type=submit]{height:25px;border-radius:3px;background:#ff0000;}
  963. .userlist input[type=checkbox]{margin-top:2px;}
  964.  
  965. #background{
  966. z-index:99999;width:0px;height:0px;position:fixed;left:0px;top:0px;
  967. }
  968. .option *{box-sizing:border-box;}
  969.  
  970. .option {
  971.  
  972. display:block;text-align:center;opacity:none;font-size:10pt;color:#ff0000;
  973. position:fixed;left:28%;top:3px;padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;border:2px solid #303132;
  974. transform:translate(-50%,0);border-radius:15px;z-index:999999999;display:block !important;height:auto !important;width:200px !important;
  975. }
  976.  
  977. .option input[type=submit],.STBOTbtn button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  978. .option input[type=checkbox]{margin-top:2px;}
  979. .option input[type=submit]:hover{background:#b70000;transition:0.2s;}
  980.  
  981. .STBOT *{box-sizing:border-box;}
  982. #avatarlist {
  983.  
  984. overflow-x:hidden;width:100%;max-height:300px;overflow-y:scroll;
  985. display:none;text-align:center;opacity:none;font-size:10pt;color:#ff0000;
  986. position: fixed; left: 27.4%; top: 35%;padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;border:2px solid #ff0000;
  987. transform:translate(-50%,0);border-radius:15px;z-index:999999999;display:none;height:auto !important;width:400px !important;
  988. .avatarbtn{display:flex;align-items:center;justify-content:center;}
  989. .avatarbtn button,.avatarbtn button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:50px;font-size:11pt;margin-top:5px;}
  990. .avatarbtn button:hover{background:#b70000;transition:0.2s;}
  991.  
  992. }
  993.  
  994. #STBOT1 {
  995.  
  996. overflow-x:hidden;width:100%;max-height:420px;overflow-y:hidden;
  997. display:block;text-align:center;opacity:none;font-size:10pt;color:#ff0000;
  998. position: fixed; left: -0.3%; top: 28.5%; transform: translateX(28%);padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;
  999. border:2px solid #ff0000;border-radius:15px;z-index:999999999;display:block;height:450px !important;width:240px !important;-index:999999999;display:block;height:450px !important;width:240px !important;
  1000. }
  1001. .STBOT input[type=submit],.STBOTbtn button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  1002. .STBOT input[type=checkbox]{margin-top:2px;}
  1003. .STBOT input[type=submit]:hover{background:#b70000;transition:0.2s;}
  1004. .STBOT input[type=range]{accent-color:#ff0000;}
  1005. .STBOT input[type=range]:focus::-webkit-slider-runnable-track { background: #3071A9; }
  1006.  
  1007. #STBOT2 {
  1008.  
  1009. overflow-x:hidden;width:100%;max-height:100px;overflow-y:hidden;
  1010. display:block;text-align:center;alignItems:center;opacity:none;font-size:10pt;color:#ff0000;
  1011. position: fixed; left: -2.3%; top: 53%; transform: translateX(28%);padding:0x 0px !important;margin:0px;font-family: 'Roboto', sans-serif;
  1012. z-index:999999999;display:block;height:450px !important;width:100px !important;-index:999999999;display:block;height:450px !important;width:100px !important;
  1013. }
  1014. #STBOT3 {
  1015.  
  1016. overflow-x:hidden;width:100%;max-height:100px;overflow-y:hidden;
  1017. display:block;text-align:center;opacity:none;font-size:10pt;color:#ff0000;
  1018. position: fixed; left: -0.3%; top: 43.8%; transform: translateX(28%);padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;
  1019. border:2px solid #ff0000;border-radius:15px;z-index:999999999;display:block;height:450px !important;width:240px !important;-index:999999999;display:block;height:100px !important;width:240px !important;
  1020. }
  1021. #STBOT4 {
  1022.  
  1023. overflow-x:hidden;width:100%;max-height:160px;overflow-y:hidden;
  1024. display:block;text-align:center;opacity:none;font-size:10pt;color:#ff0000;
  1025. position: fixed; left: -0.3%; top:41.3%; transform: translateX(28%);padding:5px 3px !important;margin:0px;background:#000000;font-family: 'Roboto', sans-serif;
  1026. border:2px solid #ff0000;border-radius:15px;z-index:999999999;display:block;height:450px !important;width:240px !important;-index:999999999;display:block;height:160px !important;width:240px !important;
  1027. }
  1028.  
  1029.  
  1030.  
  1031. #join{width:20%;}
  1032. .roomlink{display:flex;align-items:center;justify-content:center;}
  1033. .roomlink input[type=text]{margin-top:10px !important;width:75% !important;height:30px !important;}
  1034. .roomlink input[type=submit],.broadcastbox button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  1035. .roomlink button:hover{background:#b70000;transition:0.2s;}
  1036. .botnick input[type=text]{margin-top:10px !important;width:75% !important;height:30px !important;}
  1037. .broadcastbox{display:flex;align-items:center;justify-content:center;}
  1038. .broadcastbox input[type=text]{margin-top:10px !important;width:75% !important;height:30px !important;}
  1039. .broadcastbox input[type=submit],.broadcastbox button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  1040. .broadcastbox button:hover{background:#b70000;transition:0.2s;}
  1041. .msgbox{display:flex;align-items:center;justify-content:center;}
  1042. .msgbox input[type=text]{margin-top:10px !important;width:75% !important;height:30px !important;}
  1043. .msgbox input[type=submit],.msgbox button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  1044. .msgbox button:hover{background:#b70000;transition:0.2s;}
  1045. .answerbox{display:flex;align-items:center;justify-content:center;}
  1046. .answerbox input[type=text]{margin-top:10px !important;width:75% !important;height:30px !important;}
  1047. .answerbox input[type=submit],.answerbox button{cursor:pointer;border:none;background:#ff0000;color:#000000;padding:5px 0px;border-radius:5px;font-size:11pt;margin-top:5px;}
  1048. .answerbox button:hover{background:#b70000;transition:0.2s;}
  1049.  
  1050.  
  1051. .botnick0{width:80%;}
  1052. .botnick1{width:80%;}
  1053. .chooseavatar{width:80%;}
  1054. .broadcastbtn{width:20%;},.broadcastbtn input[type=submit]:hover{background:#b70000;transition:0.2s;}
  1055. .msgbtn{width:20%;}
  1056. .answerbtn{width:20%;}
  1057. .report{width:40%;}
  1058. .kickall{width:40%;}
  1059. .jump{width:40%;}
  1060. .exit{width:40%;}
  1061. .acceptdraw1{width:40%;}
  1062. .acceptdraw2{width:40%;}
  1063. .tips{width:40%;}
  1064. .autoreport input[type=checkbox]{margin-top:32px}
  1065. .autoskip{margin-top:32px;}
  1066. .antikick{margin-top:32px;}
  1067. .antiafk{margin-top:32px;}
  1068.  
  1069. .roomconsole{margin-top:3px; text-align:left; color:#ff0000; font-size:17px;}
  1070. .roomtheme{margin-top:3px; text-align:left; color:#ff0000; font-size:17px;}
  1071.  
  1072. /* From Uiverse.io by gharsh11032000 */
  1073. .animated-button {
  1074. position: relative;
  1075. display: inline-block;
  1076. padding: 8px 16px;
  1077. border: none;
  1078. font-size: 10px;
  1079. background-color: inherit;
  1080. border-radius: 100px;
  1081. font-weight: 600;
  1082. color: #ffffff;
  1083. box-shadow: 0 0 0 2px #ff0000;
  1084. cursor: pointer;
  1085. overflow: hidden;
  1086. transition: all 0.6s cubic-bezier(0.23, 1, 0.320, 1);
  1087. margin-top: 10px;
  1088. }
  1089.  
  1090. .animated-button span:last-child {
  1091. position: absolute;
  1092. top: 50%;
  1093. left: 50%;
  1094. transform: translate(-50%, -50%);
  1095. width: 20px;
  1096. height: 20px;
  1097. background-color: #b70000;
  1098. border-radius: 50%;
  1099. opacity: 0;
  1100. transition: all 0.8s cubic-bezier(0.23, 1, 0.320, 1);
  1101. }
  1102.  
  1103. .animated-button span:first-child {
  1104. position: relative;
  1105. z-index: 1;
  1106. }
  1107.  
  1108. .animated-button:hover {
  1109. box-shadow: 0 0 0 5px #ff0000;
  1110. color: #ffffff;
  1111. }
  1112.  
  1113. .animated-button:active {
  1114. scale: 0.95;
  1115. }
  1116.  
  1117. .animated-button:hover span:last-child {
  1118. width: 150px;
  1119. height: 150px;
  1120. opacity: 1;
  1121. }
  1122.  
  1123.  
  1124.  
  1125. .custom-button {
  1126. --border-radius: 5px;
  1127. --border-width: 4px;
  1128. appearance: none;
  1129. position: relative;
  1130. padding: 12px 70px;
  1131. border: 0;
  1132. font-family: "Roboto", Arial, "Segoe UI", sans-serif;
  1133. font-size: 14px;
  1134. font-weight: 500;
  1135. color: #fff;
  1136. z-index: 2;
  1137. margin-top: 10px;
  1138. }
  1139.  
  1140. .custom-button::after {
  1141. --m-i: linear-gradient(#000, #000);
  1142. --m-o: content-box, padding-box;
  1143. content: "";
  1144. position: absolute;
  1145. left: 0;
  1146. top: 0;
  1147. width: 100%;
  1148. height: 100%;
  1149. padding: var(--border-width);
  1150. border-radius: var(--border-radius);
  1151. background-image: conic-gradient(
  1152. #488cfb,
  1153. #29dbbc,
  1154. #ddf505,
  1155. #ff9f0e,
  1156. #e440bb,
  1157. #655adc,
  1158. #488cfb
  1159. );
  1160. -webkit-mask-image: var(--m-i), var(--m-i);
  1161. mask-image: var(--m-i), var(--m-i);
  1162. -webkit-mask-origin: var(--m-o);
  1163. mask-origin: var(--m-o);
  1164. -webkit-mask-clip: var(--m-o);
  1165. mask-composite: exclude;
  1166. -webkit-mask-composite: destination-out;
  1167. filter: hue-rotate(0);
  1168. animation: rotate-hue linear 500ms infinite;
  1169. animation-play-state: paused;
  1170. }
  1171.  
  1172. .custom-button:hover::after {
  1173. animation-play-state: running;
  1174. }
  1175.  
  1176. @keyframes rotate-hue {
  1177. to {
  1178. filter: hue-rotate(1turn);
  1179. }
  1180. }
  1181.  
  1182. .custom-button,
  1183. .custom-button::after {
  1184. box-sizing: border-box;
  1185. }
  1186.  
  1187. .custom-button:active {
  1188. --border-width: 5px;
  1189. }
  1190.  
  1191. `;
  1192.  
  1193.  
  1194. const openLinkButton = document.getElementById('openLinkButton');
  1195.  
  1196.  
  1197. openLinkButton.addEventListener('click', () => {
  1198.  
  1199. const link = 'https://greasyfork.org/en/users/1353946-stragon-x';
  1200.  
  1201. window.open(link, '_blank');
  1202.  
  1203. });
  1204.  
  1205. document.querySelector('.broadcastbtnx').addEventListener('click', function() {
  1206.  
  1207. var numTabs = document.getElementById("broadcastx").value;
  1208.  
  1209. var url = "https://cdn.blockaway.net/_tr/?successMessage=WW91ciBhZHZlcnRpc2VtZW50IHN1YnNjcmlwdGlvbiBzdWNjZXNzZnVsbHkgY2FuY2VsbGVk&__cpLangSet=1/#https://gartic.io/"; // replace with the desired URL
  1210.  
  1211. for (var i = 0; i < numTabs; i++) {
  1212.  
  1213. window.open(url, "_blank");
  1214.  
  1215. }
  1216.  
  1217. });
  1218. const images = document.querySelectorAll('img.offon');
  1219. images.forEach((image) => {
  1220. image.addEventListener('click', () => {
  1221. const src = image.src;
  1222. if (src === 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png') {
  1223. image.src = 'https://dl.shut.ir/public/file/2023/10/17/%D8%B9%DA%A9%D8%B3-%D8%B6%D8%B1%D8%A8%D8%AF%D8%B1-%D9%82%D8%B1%D9%85%D8%B2-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87.png';
  1224. } else if (src === 'https://dl.shut.ir/public/file/2023/10/17/%D8%B9%DA%A9%D8%B3-%D8%B6%D8%B1%D8%A8%D8%AF%D8%B1-%D9%82%D8%B1%D9%85%D8%B2-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87.png.jpg') {
  1225. image.src = 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png';
  1226. } else {
  1227. image.src = 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png';
  1228. }
  1229. });
  1230. });
  1231.  
  1232. var button = document.createElement("button");
  1233. button.style.position = "fixed";
  1234. button.style.left = "2px";
  1235. button.style.top = "50%";
  1236. button.style.transform = "translateY(-50%)";
  1237. button.style.background = "red";
  1238. button.style.color = "white";
  1239. button.style.border = "none";
  1240. button.style.padding = "10px 20px";
  1241. button.style.borderRadius = "10px";
  1242. button.style.cursor = "pointer";
  1243. button.style.zIndex = "99999";
  1244. button.style.borderRadius = "100px";
  1245. button.style.border = "3px solid black";
  1246.  
  1247. button.innerHTML = "&#8594;";
  1248.  
  1249. button.addEventListener("click", function() {
  1250. var panel = document.getElementById("STBOT1");
  1251. var panelx = document.getElementById("panelx");
  1252. var panely = document.getElementById("STBOT2");
  1253. var panelz = document.getElementById("STBOT3");
  1254. var panels = document.getElementById("STBOT4");
  1255.  
  1256. if (panel.style.display === "none" && panelx.style.display === "none") {
  1257. panel.style.display = "block";
  1258. panelx.style.display = "block";
  1259. panely.style.display = "block";
  1260. panelz.style.display = "block";
  1261. panels.style.display = "block";
  1262. var svg = button3.querySelector('svg');
  1263. var svgx = button2.querySelector('svg');
  1264. var svgz = button1.querySelector('svg');
  1265.  
  1266. svg.setAttribute('stroke', '#ff0000');
  1267. svgx.setAttribute('stroke', '#ffffff');
  1268. svgz.setAttribute('stroke', '#ff0000');
  1269. button.innerHTML = "&#8594;";
  1270. } else {
  1271. panel.style.display = "none";
  1272. panelx.style.display = "none";
  1273. panely.style.display = "none";
  1274. panelz.style.display = "none";
  1275. panels.style.display = "none";
  1276. button.innerHTML = "&#8592;";
  1277. }
  1278. });
  1279.  
  1280. document.body.appendChild(button);
  1281.  
  1282. var panelx = document.createElement("div");
  1283. panelx.style.width = "45px";
  1284. panelx.style.height = "124px";
  1285. panelx.style.backgroundColor = "#000";
  1286. panelx.style.borderRadius = "50px";
  1287. panelx.style.border = "2px solid #FF0000";
  1288. panelx.style.position = "fixed";
  1289. panelx.style.left = "7px";
  1290. panelx.style.top = "33.3%";
  1291. panelx.id = "panelx";
  1292. panelx.style.display = "flex";
  1293. panelx.style.flexDirection = "column";
  1294. panelx.style.justifyContent = "center";
  1295. panelx.style.alignItems = "center";
  1296. panelx.style.textAlign = "center";
  1297. panelx.style.zIndex = "99999";
  1298.  
  1299.  
  1300.  
  1301. var button1 = document.createElement("button");
  1302. button1.innerHTML = "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#ff0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'></circle><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'></svg>";
  1303.  
  1304. button1.style.marginBottom = "10px";
  1305. button1.style.marginTop = "7px";
  1306. button1.style.zIndex = "99999";
  1307. button1.addEventListener("click", function() {
  1308.  
  1309. var svg = button3.querySelector('svg');
  1310. var svgx = button2.querySelector('svg');
  1311. var svgz = button1.querySelector('svg');
  1312.  
  1313.  
  1314. svg.setAttribute('stroke', '#ff0000');
  1315. svgx.setAttribute('stroke', '#ff0000');
  1316. svgz.setAttribute('stroke', '#ffffff');
  1317.  
  1318.  
  1319.  
  1320. var panel = document.getElementById("STBOT1");
  1321. var panelx = document.getElementById("panelx");
  1322. var panely = document.getElementById("STBOT2");
  1323. var panelz = document.getElementById("STBOT3");
  1324. var panels = document.getElementById("STBOT4");
  1325.  
  1326. panelz.style.display = "none";
  1327. panel.style.display = "none";
  1328. panelx.style.display = "block";
  1329. panely.style.display = "none";
  1330. panels.style.display = "block";
  1331.  
  1332. });
  1333.  
  1334. var button2 = document.createElement("button");
  1335. button2.innerHTML = "<svg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 24 24' fill='none' stroke='#ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9'/><path d='M9 22V12h6v10M2 10.6L12 2l10 8.6'/></svg>";
  1336. button2.style.marginBottom = "10px";
  1337. button2.style.marginTop = "7px";
  1338. button2.style.zIndex = "99999";
  1339. button2.addEventListener("click", function() {
  1340.  
  1341. var svg = button3.querySelector('svg');
  1342. var svgx = button2.querySelector('svg');
  1343. var svgz = button1.querySelector('svg');
  1344.  
  1345.  
  1346. svg.setAttribute('stroke', '#ff0000');
  1347. svgx.setAttribute('stroke', '#ffffff');
  1348. svgz.setAttribute('stroke', '#ff0000');
  1349.  
  1350.  
  1351. var panel = document.getElementById("STBOT1");
  1352. var panelx = document.getElementById("panelx");
  1353. var panely = document.getElementById("STBOT2");
  1354. var panelz = document.getElementById("STBOT3");
  1355. var panels = document.getElementById("STBOT4");
  1356.  
  1357. panelz.style.display = "none";
  1358. panel.style.display = "block";
  1359. panelx.style.display = "block";
  1360. panely.style.display = "block";
  1361. panels.style.display = "none";
  1362.  
  1363. });
  1364.  
  1365. var button3 = document.createElement("button");
  1366. button3.innerHTML = "<svg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 24 24' fill='none' stroke='#ff0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'></path><circle cx='12' cy='7' r='4'></circle></svg>";
  1367. button3.style.marginBottom = "7px";
  1368. button3.style.zIndex = "99999";
  1369.  
  1370. button3.addEventListener("click", function() {
  1371.  
  1372. var svg = button3.querySelector('svg');
  1373. var svgx = button2.querySelector('svg');
  1374. var svgz = button1.querySelector('svg');
  1375.  
  1376. svg.setAttribute('stroke', '#ffffff');
  1377. svgx.setAttribute('stroke', '#ff0000');
  1378. svgz.setAttribute('stroke', '#ff0000');
  1379.  
  1380.  
  1381.  
  1382. var panel = document.getElementById("STBOT1");
  1383. var panelx = document.getElementById("panelx");
  1384. var panely = document.getElementById("STBOT2");
  1385. var panelz = document.getElementById("STBOT3");
  1386. var panels = document.getElementById("STBOT4");
  1387.  
  1388. panel.style.display = "none";
  1389. panelx.style.display = "block";
  1390. panely.style.display = "none";
  1391. panelz.style.display = "block";
  1392. panels.style.display = "none";
  1393.  
  1394. });
  1395.  
  1396.  
  1397. panelx.appendChild(button2);
  1398. panelx.appendChild(button1);
  1399. panelx.appendChild(button3);
  1400.  
  1401.  
  1402. document.body.appendChild(panelx);
  1403.  
  1404.  
  1405.  
  1406.  
  1407. GM_addStyle(css);
  1408. f(".kickallwhenjoin").addEventListener("change",()=>{
  1409. GM_setValue("kicknewset",f(".kickallwhenjoin").checked)
  1410. })
  1411. f(".kickonjoin").addEventListener("change",()=>{
  1412. GM_setValue("kickjoinset",f(".kickonjoin").checked)
  1413. })
  1414. }
  1415.  
  1416. window.addEventListener("message",function(event){
  1417. if(typeof(event.data)==="string"){
  1418. if(event.data=="join"){
  1419. f("#roomlink").value==""?f("#roomlink").value=window.location.href:0
  1420. botc=0;GM_setValue("resetcount",rand())
  1421. readyc=0
  1422. GM_sendMessage("join",f("#roomlink").value.split("/")[3],f("#botnick").value,avatar,localStorage.getItem("botnick"),f(".kickonjoin").checked,rand())
  1423. }
  1424. if(event.data.indexOf("kickuser.")!=-1){
  1425. let userid=event.data.split("kickuser.")[1]
  1426. GM_setValue("kick",userid+".."+num(10000))
  1427. }
  1428.  
  1429. if(event.data=="broadcast"){
  1430. GM_setValue("broadcast",f("#broadcast").value+"►"+num(5000))
  1431. }
  1432. if(event.data=="chat"){
  1433. GM_setValue("msg",f("#message").value+"►"+num(5000))
  1434. }
  1435. if(event.data=="answer"){
  1436. GM_setValue("answer",f("#answer").value+"►"+num(5000))
  1437. }
  1438. if(event.data=="report"){
  1439. GM_setValue('report', num(5000));
  1440. }
  1441. if(event.data=="jump"){
  1442. GM_setValue('jump', num(5000));
  1443. }
  1444. if(event.data=="acceptdraw1"){
  1445. GM_setValue('acceptdraw1', num(5000));
  1446. }
  1447. if(event.data=="acceptdraw2"){
  1448. GM_setValue('acceptdraw2', num(5000));
  1449. }
  1450. if(event.data=="bluemode"){
  1451. GM_setValue('bluemode', num(5000));
  1452. }
  1453. if(event.data=="acceptdraw3"){
  1454. GM_setValue('acceptdraw3', num(5000));
  1455. }
  1456. if(event.data=="tips"){
  1457. GM_setValue('tips', num(5000));
  1458. }
  1459. if(event.data=="exit"){
  1460. GM_setValue('exit', num(5000));
  1461. }
  1462.  
  1463.  
  1464. if(event.data=="kickall"){
  1465. var elements = document.getElementsByClassName("kickmenubtn");
  1466. var elementsvalue = [];
  1467.  
  1468. for (var i = 0; i < elements.length; i++) {
  1469. elementsvalue.push(elements[i].getAttribute("onclick"));
  1470. }
  1471.  
  1472. elementsvalue.forEach(function(value, index) {
  1473. setTimeout(function() {
  1474. let userid = value.split("kickuser.")[1].split("','*")[0];
  1475.  
  1476. GM_setValue("kick",userid+".."+num(10000))
  1477. }, 550 * index);
  1478. })}
  1479. if(event.data=="broadcastspamtoggle"){
  1480. let broadcastspamMS=parseInt(localStorage.getItem("broadcastspam"))
  1481. var broadcastspam = f("#broadcastspam").value
  1482. intervalbroadcast=setInterval(()=>{
  1483. GM_setValue("broadcast",broadcastspam+"►"+num(5000))
  1484. },broadcastspamMS)
  1485. f("#broadcaststart").style.display="none"
  1486. f("#broadcaststop").style.display="block"
  1487. }
  1488. if(event.data=="chatspamtoggle"){
  1489. let messagespamMS=parseInt(localStorage.getItem("messagespam"))
  1490. var messagespam = f("#messagespam").value
  1491. intervalmsg=setInterval(()=>{
  1492. var chatspam = f("#messagespam").value
  1493. GM_setValue("msg",chatspam+"►"+num(5000))
  1494. },messagespamMS)
  1495. f("#msgstart").style.display="none"
  1496. f("#msgstop").style.display="block"
  1497. }
  1498. if(event.data=="answerspamtoggle"){
  1499. let answerspamMS=parseInt(localStorage.getItem("answerspam"))
  1500. var answerspam = f("#answerspam").value
  1501. intervalanswer=setInterval(()=>{
  1502. var answerspam = f("#answerspam").value
  1503. GM_setValue("answer",answerspam+"►"+num(5000))
  1504. },answerspamMS)
  1505. f("#answerstart").style.display="none"
  1506. f("#answerstop").style.display="block"
  1507. }
  1508. if(event.data=="stopbroadcast"){
  1509. clearInterval(intervalbroadcast)
  1510. f("#broadcaststart").style.display="block"
  1511. f("#broadcaststop").style.display="none"
  1512. }
  1513. if(event.data=="stopmsg"){
  1514. clearInterval(intervalmsg)
  1515. f("#msgstart").style.display="block"
  1516. f("#msgstop").style.display="none"
  1517. }
  1518. if(event.data=="stopanswer"){
  1519. clearInterval(intervalanswer)
  1520. f("#answerstart").style.display="block"
  1521. f("#answerstop").style.display="none"
  1522. }
  1523.  
  1524. }
  1525. })
  1526.  
  1527. localStorage.getItem("botc")?0:window.localStorage.setItem("botc",0)
  1528. GM_setValue("resetcount",rand())
  1529. //
  1530. setInterval(()=>{
  1531. if(f("#users")){
  1532. fa(".kickmenubtn").forEach(ele=>{
  1533. f(".scrollElements").innerText.indexOf(ele.value)==-1?ele.remove():0
  1534. })
  1535. f("g")?f("g").remove():0;
  1536. }
  1537. if(f("input[name=chat]")){
  1538. f(".contentPopup")&&f(".btYellowBig.ic-yes")?f(".btYellowBig.ic-yes").click():0;
  1539.  
  1540. if(f(".contentPopup .nick")&&f(".ic-votekick")&&otoeven==0){
  1541. otoeven=1//
  1542. f(".close").addEventListener("click",()=>{otoeven=0})
  1543. f(".ic-ignore").addEventListener("click",()=>{otoeven=0})
  1544. f(".ic-votekick").addEventListener("click",()=>{
  1545. otoeven=0
  1546. GM_setValue("kick",f(".contentPopup .nick").innerText+".."+num(10000))
  1547. })
  1548. }
  1549. }
  1550. f("input[name=chat]")?f("input[name=chat]").setAttribute("placeholder",+botc+" bot aktif"):0
  1551. f(".taktifbot")?f(".taktifbot").innerText=botc:0
  1552.  
  1553. if(f("#background")&&!f(".userlist")&&!f(".option")&&!f(".STBOT")){
  1554. f("#background").innerHTML+=html
  1555. setCSS()
  1556. }
  1557. },100)
  1558. GM_addValueChangeListener("botekle", function(I,C,E,b) {
  1559. botc++
  1560. f(".taktifbot")?f(".taktifbot").innerText=botc:0
  1561. })
  1562.  
  1563. GM_addValueChangeListener("ready", function(I,C,E,b) {
  1564. readyc++
  1565. readyc>=botc&&botc!=0?GM_setValue("join",rand()):0
  1566. })
  1567.  
  1568. GM_addValueChangeListener("botexit", function(I,C,E,b) {
  1569. //botc--
  1570. })
  1571. }