gartic io bot test

Bot Panel for gartic.io

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/525361/1529461/gartic%20io%20bot%20test.js

  1. // ==UserScript==
  2. // @name bot
  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://gf.qytechs.cn/en/users/1353946-stragon-x
  16.  
  17. // @downloadURL https://update.gf.qytechs.cn/scripts/507913/ST%20BOT%20v3.user.js
  18. // @updateURL https://update.gf.qytechs.cn/scripts/507913/ST%20BOT%20v3.meta.js
  19. // ==/UserScript==
  20.  
  21.  
  22.  
  23. let rand = x => Math.floor(Math.random() * 1000000),
  24. GM_onMessage = (label, cb) => GM_addValueChangeListener(label, (_, __, data) => cb(...data)),
  25. GM_sendMessage = (label, ...data) => GM_setValue(label, data);
  26. let autoskip=false;
  27.  
  28.  
  29.  
  30. let randomNumber = Math.floor(Math.random() * 36) + 1;
  31.  
  32. GM_onMessage('answerinput', (atılacak, _) => {
  33.  
  34. document.querySelector('#answer').value= atılacak
  35. })
  36. GM_onMessage('changedraw', (atılacak, _) => {
  37.  
  38. document.querySelector('#answer').value= atılacak
  39. })
  40. function f(ygn){return document.querySelector(ygn)}
  41. function fa(ygn){return document.querySelectorAll(ygn)}
  42. function num(ICE){return Math.ceil(Math.random()*ICE+1)}
  43. 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);}
  44. 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);}
  45. function rnext(kelime) {
  46. const hd = kelime.split('');
  47. const hu = hd.length;
  48. const yh = [];
  49. const invisibleChars = ['\u200B', '\u200C', '\u200D', '\u2061', '\u2062', '\u2063', '\u2064', '\u2066', '\u17b4', '\u17b5', '\u2068', '\u2069'];
  50. let charCount = 0;
  51.  
  52. for (let i = 0; i < hu; i++) {
  53. yh.push(hd[i]);
  54. charCount++;
  55.  
  56. if (charCount < 18 && i < hu - 1) {
  57. const invisibleChar = invisibleChars[Math.floor(Math.random() * invisibleChars.length)];
  58. yh.push(invisibleChar);
  59. charCount++;
  60. }
  61.  
  62. if (charCount >= 18) {
  63. break;
  64. }
  65. }
  66.  
  67. return yh.join('');
  68. }
  69. 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")
  70.  
  71.  
  72. if(window.location.href.indexOf("aHR0cHM6Ly9nYXJ0aWMuaW8")!=-1){
  73. let room,kicknewstat=false,kickjoinstat=false,waitforkick=0
  74.  
  75. const addItem = (arr, ...arguments) => { for (let i = 0; i < arguments.length; i++) { arr[arr.length] = arguments[i]; } return arr; };
  76.  
  77. function arrayFilter(array) {
  78. return array.filter((value, index, arr) => arr.indexOf(value) === index);
  79. }
  80.  
  81. GM_setValue("botekle",rand())
  82.  
  83. GM_addValueChangeListener("resetcount", function(I,C,E,b) {
  84. GM_setValue("botekle",rand())
  85. })
  86. setTimeout(()=>{waitforkick=0},1000)
  87.  
  88. GM_onMessage("join", (room,nick,avatar,botnick,kickonjoin,_) => {
  89. fetch("https://"+window.location.href.split("/")[2]+"/server?check=1&v3=1&room="+room+"&__cpo=aHR0cHM6Ly9nYXJ0aWMuaW8#").then(x=>x.text()).then(x=>{
  90. 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=");
  91. ws.onopen=()=>{
  92. let inter=setInterval(()=>{
  93. GM_setValue("ready",rand())
  94. if(tojoin==1){
  95. tojoin=0
  96. if (botnick === '0') {
  97. ws.send('42[3,{"v":20000,"nick":"' + rnext(nick) + '","avatar": '+avatar+' ,"platform":69 ,"sala":"' + room.substring(2) + '"}]')
  98. } if (botnick === '1') {
  99. ws.send('42[3,{"v":20000,"nick":"'+rnext(nick)+'","avatar":'+randomNumber+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  100. }
  101. if (botnick === '2') {
  102. ws.send('42[3,{"v":20000,"nick":"'+nick+Math.ceil(Math.random()*10000+1)+'","avatar":'+randomNumber+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  103. }
  104. if (botnick === '3') {
  105. ws.send('42[3,{"v":20000,"nick":"'+nick+Math.ceil(Math.random()*10000+1)+'","avatar":'+avatar+',"platform":69,"sala":"'+room.substring(2)+'"}]')
  106. }
  107.  
  108. clearInterval(inter)
  109. }
  110. },50)
  111. }
  112.  
  113. ws.onclose=()=>{
  114. wss.length=0
  115. ws.close();
  116. }
  117. ws.onmessage=(msg)=>{
  118.  
  119.  
  120. if(msg.data.indexOf('42["23"')!=-1){
  121. let user=JSON.parse("{"+msg.data.split("{")[1].split("}")[0]+"}")
  122. usersinroom.push(user)
  123. if(kicknewstat){typeof(user.id)=="string"?ws.send('42[45,'+ws.id+',["'+user.id+'",true]]'):ws.send('42[45,'+ws.id+',['+user.id+',true]]');}
  124. }
  125. if(msg.data.indexOf('42["5"')!=-1){
  126. let objlist=JSON.parse('["5"'+msg.data.split('42["5"')[1])
  127. ws.theme=objlist[4].tema
  128. ws.room=objlist[4].codigo
  129. ws.id=objlist[2]
  130. objlist[5].forEach(item=>{usersinroom.push(item)})
  131. let targetid=objlist[5][0].id
  132. botID = objlist[2]
  133. botlongID = objlist[1]
  134. theme = objlist[4].tema
  135. setTimeout(()=>{
  136. f(".roomtheme").innerHTML= theme},10)
  137. setTimeout(()=>{
  138. GM_sendMessage("botsidvalue",botlongID,rand())},777)
  139. setTimeout(()=>{
  140. GM_sendMessage("updatelist",botID,rand())},777)
  141.  
  142. kickjoinstat?typeof(targetid)=="string"?ws.send('42[45,'+ws.id+',["'+targetid+'",true]]'):ws.send('42[45,'+ws.id+',['+targetid+',true]]'):0
  143. ws.send('42[46,'+objlist[2]+']')
  144.  
  145.  
  146. GM_onMessage('answerinput', (atılacak, _) => {
  147. f('#answer').value= atılacak
  148. })
  149.  
  150. GM_onMessage("botsidvalue", (datachangex, _) => {
  151.  
  152. botsidvalue.push(datachangex)
  153. });
  154. GM_onMessage("updatelist", (datachangex, _) => {
  155. GM_sendMessage("updatebotidlist",botsidvalue,rand())
  156. });
  157. GM_onMessage("updatebotidlist", (datachangex, _) => {
  158.  
  159. if (!botsidvalue.includes(datachangex)) {
  160. addItem(botsidvalue,...datachangex);
  161. }
  162. botsidvalue = arrayFilter(botsidvalue);
  163. });
  164.  
  165. GM_addValueChangeListener("broadcast", function(I,C,E,b) {
  166. ws.send('42[11,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  167. ws.send('42[13,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  168.  
  169. });
  170. GM_addValueChangeListener("msg", function(I,C,E,b) {
  171. ws.send('42[11,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  172. })
  173. GM_addValueChangeListener("answer", function(I,C,E,b) {
  174. ws.send('42[13,'+objlist[2]+',"'+E.split("►")[0]+'"]')
  175. })
  176. GM_addValueChangeListener("report", function(I,C,E,b) {
  177. ws.send('42[35,'+objlist[2]+']')
  178. });
  179. GM_addValueChangeListener("jump", function(I,C,E,b) {
  180. ws.send('42[25,'+objlist[2]+']')
  181. });
  182.  
  183. let acceptdraw4Enabled = false;
  184. let intervalId4 = null;
  185.  
  186. GM_addValueChangeListener("acceptdraw1", function(I, C, E, b) {
  187. ws.send('42[34,'+objlist[2]+']')
  188. function startAcceptdraw4() {
  189. if (acceptdraw4Enabled) {
  190. let messages = [
  191.  
  192. // E Harfi
  193. '42[10,' + ws.id + ',[1,6,50,50,50,150]]', // Dikey çizgi
  194. '42[10,' + ws.id + ',[1,6,50,50,100,50]]', // Üst yatay çizgi
  195. '42[10,' + ws.id + ',[1,6,50,100,90,100]]', // Orta yatay çizgi
  196. '42[10,' + ws.id + ',[1,6,50,150,100,150]]',// Alt yatay çizgi
  197.  
  198. // N Harfi
  199. '42[10,' + ws.id + ',[1,6,120,150,120,50]]', // Sol dikey çizgi
  200. '42[10,' + ws.id + ',[1,6,120,50,180,150]]', // Çapraz çizgi
  201. '42[10,' + ws.id + ',[1,6,180,150,180,50]]', // Sağ dikey çizgi
  202.  
  203. // E Harfi
  204. '42[10,' + ws.id + ',[1,6,200,50,200,150]]', // Dikey çizgi
  205. '42[10,' + ws.id + ',[1,6,200,50,250,50]]', // Üst yatay çizgi
  206. '42[10,' + ws.id + ',[1,6,200,100,240,100]]', // Orta yatay çizgi
  207. '42[10,' + ws.id + ',[1,6,200,150,250,150]]', // Alt yatay çizgi
  208.  
  209. // S Harfi
  210. '42[10,' + ws.id + ',[1,6,270,50,320,50]]', // Üst yatay çizgi
  211. '42[10,' + ws.id + ',[1,6,270,50,270,100]]', // Sol dikey çizgi
  212. '42[10,' + ws.id + ',[1,6,270,100,320,100]]', // Orta yatay çizgi
  213. '42[10,' + ws.id + ',[1,6,320,100,320,150]]', // Sağ dikey çizgi
  214. '42[10,' + ws.id + ',[1,6,270,150,320,150]]', // Alt yatay çizgi
  215.  
  216. // Renk
  217. '42[10,' + ws.id + ',[5,"xFF0000"]]', // Kırmızı
  218.  
  219. ];
  220.  
  221.  
  222. let delay = 500;
  223.  
  224. let index = 0;
  225.  
  226.  
  227. function sendNextMessage() {
  228.  
  229. if (index < messages.length) {
  230.  
  231. ws.send(messages[index]);
  232.  
  233. index++;
  234.  
  235. setTimeout(sendNextMessage, delay);
  236.  
  237. }
  238.  
  239. }
  240.  
  241.  
  242. sendNextMessage();
  243.  
  244. }
  245. }
  246.  
  247. GM_addValueChangeListener("tips", function(I,C,E,b) {
  248. acceptdraw4Enabled = !acceptdraw4Enabled;
  249. if (acceptdraw4Enabled) {
  250. if (intervalId4 !== null) {
  251. clearInterval(intervalId4);
  252. }
  253. startAcceptdraw4();
  254. } else {
  255. if (intervalId4 !== null) {
  256. clearInterval(intervalId4);
  257. intervalId4 = null;
  258. }
  259. }
  260. });
  261.  
  262. });
  263. let acceptdraw2Enabled = false;
  264. let intervalId = null;
  265.  
  266. function startAcceptdraw2() {
  267. if (acceptdraw2Enabled) {
  268. ws.send('42[25,'+ws.id+']');
  269. }
  270. }
  271.  
  272. GM_addValueChangeListener("acceptdraw2", function(I,C,E,b) {
  273. acceptdraw2Enabled = !acceptdraw2Enabled;
  274. if (acceptdraw2Enabled) {
  275. if (intervalId !== null) {
  276. clearInterval(intervalId);
  277. }
  278. intervalId = setInterval(startAcceptdraw2, 3500);
  279. } else {
  280. if (intervalId !== null) {
  281. clearInterval(intervalId);
  282. intervalId = null;
  283. }
  284. }
  285. });
  286. let acceptdraw3Enabled = false;
  287. let intervalId3 = null;
  288.  
  289. function startAcceptdraw3() {
  290. if (acceptdraw3Enabled) {
  291. ws.send('42[35,'+ws.id+']');
  292. }
  293. }
  294.  
  295. GM_addValueChangeListener("acceptdraw3", function(I,C,E,b) {
  296. acceptdraw3Enabled = !acceptdraw3Enabled;
  297. if (acceptdraw3Enabled) {
  298. if (intervalId3 !== null) {
  299. clearInterval(intervalId3);
  300. }
  301. intervalId3 = setInterval(startAcceptdraw3, 7000);
  302. } else {
  303. if (intervalId3 !== null) {
  304. clearInterval(intervalId3);
  305. intervalId3 = null;
  306. }
  307. }
  308. });
  309. GM_addValueChangeListener("tips", function(I,C,E,b) {
  310. ws.send('42[30,'+objlist[2]+',1]')
  311. });
  312.  
  313. GM_addValueChangeListener("exit", function(I,C,E,b) {
  314. ws.send('42[24,'+objlist[2]+']')
  315. wss.lenghth=0
  316. usersinroom.length=0
  317. });
  318.  
  319. function autoSend() {
  320. if (autoskip == true){
  321.  
  322. ws.send('42[25,'+objlist[2]+']')
  323. }
  324. }
  325. setInterval(autoSend, 5000);
  326.  
  327.  
  328.  
  329. GM_addValueChangeListener("kick", function(I,C,E,b) {
  330. if(!botsidvalue.includes(E.split("..")[0])){
  331. ws.send('42[45,'+objlist[2]+',["'+E.split("..")[0]+'",true]]')}
  332. })
  333.  
  334.  
  335. JSON.stringify(wss).indexOf(objlist[2])==-1?wss.push({"ws":ws,"id":objlist[2],"lengthID":objlist[1]}):0
  336. let interval=setInterval(()=>{
  337. ws.readyState==1?ws.send('42[42,'+objlist[2]+']'):clearInterval(interval)
  338. ws.readyState==1?ws.send('2'):clearInterval(interval)
  339. },20000);
  340. }
  341. if(msg.data.indexOf('42["34"')!=-1){
  342. let objlist=JSON.parse('["34"'+msg.data.split('42["34"')[1])
  343. var cdd=objlist[1]
  344.  
  345. GM_sendMessage('answerinput', cdd, rand());
  346.  
  347. }
  348.  
  349. }
  350. })
  351. });
  352.  
  353.  
  354.  
  355.  
  356. GM_addValueChangeListener("join", function(I,C,E,b) {
  357. tojoin=1
  358. });
  359. GM_addValueChangeListener("kicknewset", function(I,C,E,b) {
  360. kicknewstat=E
  361. });
  362. GM_addValueChangeListener("kickjoinset", function(I,C,E,b) {
  363. kickjoinstat=E
  364. });
  365.  
  366.  
  367.  
  368. window.addEventListener("beforeunload",()=>{
  369. GM_setValue("botçıkar",window.location.href.split("/")[2]+"--"+rand())
  370. })
  371. }
  372.  
  373. if(window.location.href.indexOf("gartic.io")!=-1){
  374. const addItem = (arr, ...arguments) => { for (let i = 0; i < arguments.length; i++) { arr[arr.length] = arguments[i]; } return arr; };
  375.  
  376. function arrayFilter(array) {
  377. return array.filter((value, index, arr) => arr.indexOf(value) === index);
  378. }
  379. let customkick = localStorage.getItem("customkick");
  380. if (!customkick) {
  381. localStorage.setItem("customkick", "[]");
  382. }
  383.  
  384. if (customkick) {
  385. let list=JSON.parse(localStorage.getItem("customkick"))
  386.  
  387. list.forEach(user=>{
  388. setTimeout(()=>{
  389. f("#STBOT3").innerHTML+=`<h2 class="customkick" id="customkick.`+user.user+`">`+user.user+`</h2>
  390. <input type="submit" class="customkickremove" id="customkickuser.`+user.user+`" onclick="window.postMessage('customkickremove.`+user.user+`','*')" value="remove">`
  391. addItem(customkickitems, user.user)
  392. },3000)
  393. })
  394. }
  395. let avataritem = localStorage.getItem("avatar");
  396. if (!avataritem) {
  397. localStorage.setItem("avatar", "17");
  398. }
  399. let botnickitem = localStorage.getItem("botnick");
  400. if (!botnickitem) {
  401. localStorage.setItem("botnick", "0");
  402. }
  403. let nickitem = localStorage.getItem("nick");
  404. if (!nickitem) {
  405. localStorage.setItem("nick", "ST BOT");
  406. }
  407. if (avataritem) {
  408. setTimeout(()=>{
  409. f("#avatar").src = 'https://gartic.io/static/images/avatar/svg/' + localStorage.getItem("avatar") + '.svg';
  410.  
  411. },100)
  412. }
  413. window.addEventListener("message",(msg)=>{
  414. if(msg.data=="broadcastspam"){
  415. let broadcastspamMS=f(".broadcastspam").value
  416. f("#broadcastms").innerText='BROADCAST SPAM VALUE: ' + broadcastspamMS
  417. localStorage.setItem("broadcastspam",broadcastspamMS)
  418. }
  419. if(msg.data=="messagespam"){
  420. let messagespamMS=f(".messagespam").value
  421. f("#messagems").innerText='MESSAGE SPAM VALUE: ' + messagespamMS
  422. localStorage.setItem("messagespam",messagespamMS)
  423. }
  424. if(msg.data=="answerspam"){
  425. let answerspamMS=f(".answerspam").value
  426. f("#answerms").innerText='ANSWER SPAM VALUE: ' + answerspamMS
  427. localStorage.setItem("answerspam",answerspamMS)
  428. }
  429. if(msg.data=="nick"){
  430. localStorage.setItem("nick",f("#botnick").value)
  431. }
  432. if(msg.data=="botnick0"){
  433. botnick=0
  434. localStorage.setItem("botnick",0)
  435. }
  436. if(msg.data=="botnick1"){
  437. botnick=1
  438. localStorage.setItem("botnick",1)
  439. }
  440. if(msg.data=="botnick2"){
  441. botnick=2
  442. localStorage.setItem("botnick",2)
  443. }
  444. if(msg.data=="botnick3"){
  445. botnick=3
  446. localStorage.setItem("botnick",3)
  447. }
  448. if(msg.data=="showavatarlist"){
  449. // f("#STBOT1").style.display="none"
  450. f("#avatarlist").style.display="block"
  451. }
  452. if(msg.data=="hideavatarlist"){
  453. f("#STBOT1").style.display="block"
  454. f("#avatarlist").style.display="none"
  455. }
  456. if(msg.data=="avatar0"){
  457. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/0.svg";
  458. avatar=0
  459. localStorage.setItem("avatar",0)
  460. }
  461. if(msg.data=="avatar1"){
  462. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/1.svg";
  463. avatar=1
  464. localStorage.setItem("avatar",1)
  465. }
  466. if(msg.data=="avatar2"){
  467. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/2.svg";
  468. avatar=2
  469. localStorage.setItem("avatar",2)
  470. }
  471. if(msg.data=="avatar3"){
  472. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/3.svg";
  473. avatar=3
  474. localStorage.setItem("avatar",3)
  475. }
  476. if(msg.data=="avatar4"){
  477. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/4.svg";
  478. avatar=4
  479. localStorage.setItem("avatar",4)
  480. }
  481. if(msg.data=="avatar5"){
  482. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/5.svg";
  483. avatar=5
  484. localStorage.setItem("avatar",5)
  485. }
  486. if(msg.data=="avatar6"){
  487. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/6.svg";
  488. avatar=6
  489. localStorage.setItem("avatar",6)
  490. }
  491. if(msg.data=="avatar7"){
  492. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/7.svg";
  493. avatar=7
  494. localStorage.setItem("avatar",7)
  495. }
  496. if(msg.data=="avatar8"){
  497. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/8.svg";
  498. avatar=8
  499. localStorage.setItem("avatar",8)
  500. }
  501. if(msg.data=="avatar9"){
  502. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/9.svg";
  503. avatar=9
  504. localStorage.setItem("avatar",9)
  505. }
  506. if(msg.data=="avatar10"){
  507. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/10.svg";
  508. avatar=10
  509. localStorage.setItem("avatar",10)
  510. }
  511. if(msg.data=="avatar11"){
  512. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/11.svg";
  513. avatar=11
  514. localStorage.setItem("avatar",11)
  515. }
  516. if(msg.data=="avatar12"){
  517. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/12.svg";
  518. avatar=12
  519. localStorage.setItem("avatar",12)
  520. }
  521. if(msg.data=="avatar13"){
  522. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/13.svg";
  523. avatar=13
  524. localStorage.setItem("avatar",13)
  525. }
  526. if(msg.data=="avatar14"){
  527. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/14.svg";
  528. avatar=14
  529. localStorage.setItem("avatar",14)
  530. }
  531. if(msg.data=="avatar15"){
  532. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/15.svg";
  533. avatar=15
  534. localStorage.setItem("avatar",15)
  535. }
  536. if(msg.data=="avatar16"){
  537. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/16.svg";
  538. avatar=16
  539. localStorage.setItem("avatar",16)
  540. }
  541. if(msg.data=="avatar17"){
  542. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/17.svg";
  543. avatar=17
  544. localStorage.setItem("avatar",17)
  545. }
  546. if(msg.data=="avatar18"){
  547. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/18.svg";
  548. avatar=18
  549. localStorage.setItem("avatar",18)
  550. }
  551. if(msg.data=="avatar19"){
  552. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/19.svg";
  553. avatar=19
  554. localStorage.setItem("avatar",19)
  555. }
  556. if(msg.data=="avatar20"){
  557. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/20.svg";
  558. avatar=20
  559. localStorage.setItem("avatar",20)
  560. }
  561. if(msg.data=="avatar21"){
  562. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/21.svg";
  563. avatar=21
  564. localStorage.setItem("avatar",21)
  565. }
  566. if(msg.data=="avatar22"){
  567. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/22.svg";
  568. avatar=22
  569. localStorage.setItem("avatar",22)
  570. }
  571. if(msg.data=="avatar23"){
  572. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/23.svg";
  573. avatar=23
  574. localStorage.setItem("avatar",23)
  575. }
  576. if(msg.data=="avatar24"){
  577. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/24.svg";
  578. avatar=24
  579. localStorage.setItem("avatar",24)
  580. }
  581. if(msg.data=="avatar25"){
  582. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/25.svg";
  583. avatar=25
  584. localStorage.setItem("avatar",25)
  585. }
  586. if(msg.data=="avatar26"){
  587. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/26.svg";
  588. avatar=26
  589. localStorage.setItem("avatar",26)
  590. }
  591. if(msg.data=="avatar27"){
  592. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/27.svg";
  593. avatar=27
  594. localStorage.setItem("avatar",27)
  595. }
  596. if(msg.data=="avatar28"){
  597. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/28.svg";
  598. avatar=28
  599. localStorage.setItem("avatar",28)
  600. }
  601. if(msg.data=="avatar29"){
  602. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/29.svg";
  603. avatar=29
  604. localStorage.setItem("avatar",29)
  605. }
  606. if(msg.data=="avatar30"){
  607. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/30.svg";
  608. avatar=30
  609. localStorage.setItem("avatar",30)
  610. }
  611. if(msg.data=="avatar31"){
  612. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/31.svg";
  613. avatar=31
  614. localStorage.setItem("avatar",31)
  615. }
  616. if(msg.data=="avatar32"){
  617. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/32.svg";
  618. avatar=32
  619. localStorage.setItem("avatar",32)
  620. }
  621. if(msg.data=="avatar33"){
  622. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/33.svg";
  623. avatar=33
  624. localStorage.setItem("avatar",33)
  625. }
  626. if(msg.data=="avatar34"){
  627. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/34.svg";
  628. avatar=34
  629. localStorage.setItem("avatar",34)
  630. }
  631. if(msg.data=="avatar35"){
  632. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/35.svg";
  633. avatar=35
  634. localStorage.setItem("avatar",35)
  635. }
  636. if(msg.data=="avatar36"){
  637. f("#avatar").src = "https://gartic.io/static/images/avatar/svg/36.svg";
  638. avatar=37
  639. localStorage.setItem("avatar",37)
  640. }
  641.  
  642.  
  643. if(msg.data=="customkickadd"){
  644. const value = f("#kicklistinput").value;
  645. var customkicklist = localStorage.getItem("customkick");
  646. if (!customkicklist.includes(value) && !customkickitems.includes(value)) {
  647. customkickitems.push(value);
  648. let customkickitem = JSON.parse(localStorage.getItem("customkick"));
  649. if (customkickitem.findIndex(item => item.user === value) === -1) {
  650. customkickitem.push({ "user": value });
  651. localStorage.setItem("customkick", JSON.stringify(customkickitem));
  652. f("#STBOT3").innerHTML += `<h2 class="customkick" id="customkick.` + value + `">` + value + `</h2>
  653. <input type="submit" class="customkickremove" id="customkickuser.` + value + `" onclick="window.postMessage('customkickremove.` + value + `','*')" value="remove">`
  654. }
  655. }
  656. }
  657. if(msg.data.indexOf("customkickremove.")!=-1){
  658. let usernick = event.data.split("customkickremove.")[1];
  659. let storage = JSON.parse(localStorage.getItem("customkick"));
  660.  
  661. if (storage && Array.isArray(storage)) {
  662. for (let i = 0; i < storage.length; i++) {
  663. if (storage[i].user === usernick) {
  664. storage.splice(i, 1);
  665. break;
  666. }
  667. }
  668.  
  669. localStorage.setItem("customkick", JSON.stringify(storage));
  670. var value = usernick;
  671. var index = customkickitems.indexOf(value);
  672. if (index > -1) {
  673. customkickitems.splice(index, 1);
  674. }
  675. }
  676. let kickusertext= document.getElementById("customkick."+usernick)
  677. let kickuserremovebtn= document.getElementById("customkickuser."+usernick)
  678. kickusertext.remove()
  679. kickuserremovebtn.remove()
  680.  
  681. }
  682. if(msg.data=="customkickremoveall"){
  683. var elementsCustomKick = document.querySelectorAll('[id*="customkick."]');
  684. var elementsCustomKickUser = document.querySelectorAll('[id*="customkickuser."]');
  685. function deleteElement(element) {
  686. element.parentNode.removeChild(element);
  687. }
  688. elementsCustomKick.forEach(function(element) {
  689. deleteElement(element);
  690. });
  691. elementsCustomKickUser.forEach(function(element) {
  692. deleteElement(element);
  693.  
  694. })
  695. localStorage.setItem("customkick","[]")
  696. customkickitems=[]
  697. }
  698. })
  699. let readyc=0,botc=0,otoeven=0,roomusers=[]
  700.  
  701. let WebSocket=window.WebSocket
  702. window.ginterval=0
  703. window.selectlevel=-1
  704. let originalSend = WebSocket.prototype.send,setTrue=false;
  705. window.wsObj={}
  706. console.log("running")
  707. WebSocket.prototype.send=function(data){
  708. originalSend.apply(this, arguments)
  709. if(Object.keys(window.wsObj).length==0){window.wsObj=this;window.eventAdd()}
  710. };
  711.  
  712. function updatespeckicks(){
  713. f(".userkickmenu").innerHTML=""
  714. roomusers.forEach(user=>{
  715. user.nick.split("‏").join("")!="STBOT"?f(".userkickmenu").innerHTML+=`<input type="submit" class="kickmenubtn" value="`+user.nick+`" onclick="window.postMessage('kickuser.`+user.id+`','*')">`:0
  716. })
  717. }
  718.  
  719. window.eventAdd=()=>{
  720. if(!setTrue){
  721. setTrue=1
  722. window.wsObj.addEventListener("message",(msg)=>{
  723.  
  724. if(msg.data.indexOf('42["5"')!=-1){
  725. let objlist=JSON.parse('["5"'+msg.data.split('42["5"')[1])
  726. objlist[5].forEach(item=>{roomusers.push(item)})
  727. updatespeckicks()
  728. }
  729. if(msg.data.indexOf('42["23"')!=-1){
  730. let user=JSON.parse("{"+msg.data.split("{")[1].split("}")[0]+"}")
  731. roomusers.push(user)
  732. updatespeckicks()
  733. }
  734. if(msg.data.indexOf('42["24"')!=-1){
  735. let user=msg.data.split(",")[1].split('"')[1]
  736. for(let i=0;i<roomusers.length;i++){
  737. typeof(roomusers[i].id)==='undefined'?0:roomusers[i].id==user?roomusers.splice(i,1):0
  738. }
  739. updatespeckicks()
  740. }
  741. })
  742. }
  743. }
  744.  
  745.  
  746.  
  747.  
  748. let html=`
  749. <div class="userlist">
  750. <div class="userkickmenu"></div>
  751. <input type="submit" style="width:90px; background:red" onclick="window.postMessage('kickall','*')" value="KICK ALL">
  752. <input type="checkbox" class="kickonjoin">&nbsp;Kick on join<br>
  753. <input type="checkbox" class="kickallwhenjoin">&nbsp;Kick when join<hr>
  754. </div>
  755.  
  756. </div>
  757. <div id="avatarlist" class="icebot">
  758. <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;">
  759. <div class="avatarbtn"><button>
  760. <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>
  761. <button>
  762. <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>
  763. <button>
  764. <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>
  765. <button>
  766. <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>
  767. <div class="avatarbtn"><button>
  768. <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>
  769. <button>
  770. <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>
  771. <button>
  772. <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>
  773. <button>
  774. <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>
  775. <div class="avatarbtn"><button>
  776. <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>
  777. <button>
  778. <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>
  779. <button>
  780. <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>
  781. <button>
  782. <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>
  783. <div class="avatarbtn"><button>
  784. <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>
  785. <button>
  786. <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>
  787. <button>
  788. <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>
  789. <button>
  790. <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>
  791. <div class="avatarbtn"><button>
  792. <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>
  793. <button>
  794. <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>
  795. <button>
  796. <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>
  797. <button>
  798. <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>
  799. <div class="avatarbtn"><button>
  800. <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>
  801. <button>
  802. <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>
  803. <button>
  804. <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>
  805. <button>
  806. <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>
  807. <div class="avatarbtn"><button>
  808. <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>
  809. <button>
  810. <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>
  811. <button>
  812. <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>
  813. <button>
  814. <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>
  815. <div class="avatarbtn"><button>
  816. <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>
  817. <button>
  818. <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>
  819. <button>
  820. <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>
  821. <button>
  822. <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>
  823. <div class="avatarbtn"><button>
  824. <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>
  825. <button>
  826. <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>
  827. <button>
  828. <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>
  829. </div>
  830. <div class="avatarbtn">
  831. <button>
  832. <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>
  833. <button>
  834. <button>
  835. <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>
  836. <br>
  837. </div>
  838. <div id="STBOT2" class="STBOT2">
  839. <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">
  840. </div>
  841. <div id="STBOT3" class="STBOT3">
  842.  
  843. <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; ">
  844. <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
  845. </button>
  846. <button id="openLinkButton" class="custom-button">More Scripts</button>
  847. </div>
  848. <div id="STBOT4" class="STBOT4">
  849. <div class="panel">
  850.  
  851. <div class="row">
  852. <span class="text">Auto Skip</span>
  853. <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','*')" />
  854. </div>
  855.  
  856. <div class="row">
  857. <span class="text">Auto Report</span>
  858. <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>
  859.  
  860. <div class="row">
  861. <span class="text">Anti AFK</span>
  862. <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','*')" />
  863. </div>
  864.  
  865. <div class="row">
  866.  
  867.  
  868. <span class="textx">Drow Bot</span>
  869. <button onclick="window.postMessage('tips','*')" class="animated-button" style = "width: 30%;">
  870. <span>DROW</span>
  871. <span></span>
  872. </button>
  873. </div>
  874.  
  875. </div>
  876. </div>
  877.  
  878.  
  879. <div id="STBOT1" class="STBOT">
  880. <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()" />
  881. <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;">
  882. <input type="submit" id="join" onclick="window.postMessage('join','*')" value="JOIN" style="border-radius: 5px; width: 20%; cursor: pointer; height: 30px;color: #ffffff;">
  883. <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;">
  884. <input type="submit" class="chooseavatar" onclick="window.postMessage('showavatarlist','*')" value="Avatar"style="width: 20%; border-radius: 5px;height: 30px;color: #ffffff;">
  885. <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;">
  886. <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>
  887. <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;">
  888. <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;">
  889.  
  890.  
  891. <br>
  892. <div class="broadcastbox">
  893. <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; ">
  894. <button class="broadcastbtn" onclick="window.postMessage('broadcast','*')" value="Broadcast"style="border-radius: 5px;height: 30px;color: #ffffff;margin-top: 10px;margin-left: 4px;">Send
  895. </button></div>
  896. <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
  897. </button></div>
  898. <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
  899.  
  900. </button></div>
  901.  
  902. <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;">
  903. <input type="submit" class="exit" onclick="window.postMessage('exit','*')" value="EXIT" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  904. <input type="submit" class="report" onclick="window.postMessage('report','*')" value="REPORT" style=" border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  905. <input type="submit" class="jump" onclick="window.postMessage('jump','*')" value="SKIP" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  906. <input type="submit" class="acceptdraw1" onclick="window.postMessage('acceptdraw1','*')" value="DRAW" style="border-radius: 5px;height: 30px;width: 47%;color: #ffffff;margin-top: 7px;">
  907.  
  908. <br>
  909. </div>
  910.  
  911.  
  912. `
  913. function setCSS(){
  914. var css = `
  915.  
  916. `;
  917.  
  918.  
  919. const openLinkButton = document.getElementById('openLinkButton');
  920.  
  921.  
  922. openLinkButton.addEventListener('click', () => {
  923.  
  924. const link = 'https://gf.qytechs.cn/en/users/1353946-stragon-x';
  925.  
  926. window.open(link, '_blank');
  927.  
  928. });
  929.  
  930. document.querySelector('.broadcastbtnx').addEventListener('click', function() {
  931.  
  932. var numTabs = document.getElementById("broadcastx").value;
  933.  
  934. var url = "https://cdn.blockaway.net/_tr/?successMessage=WW91ciBhZHZlcnRpc2VtZW50IHN1YnNjcmlwdGlvbiBzdWNjZXNzZnVsbHkgY2FuY2VsbGVk&__cpLangSet=1/#https://gartic.io/"; // replace with the desired URL
  935.  
  936. for (var i = 0; i < numTabs; i++) {
  937.  
  938. window.open(url, "_blank");
  939.  
  940. }
  941.  
  942. });
  943. const images = document.querySelectorAll('img.offon');
  944. images.forEach((image) => {
  945. image.addEventListener('click', () => {
  946. const src = image.src;
  947. if (src === 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png') {
  948. 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';
  949. } 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') {
  950. image.src = 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png';
  951. } else {
  952. image.src = 'https://parspng.com/wp-content/uploads/2022/07/tickpng.parspng.com-2.png';
  953. }
  954. });
  955. });
  956.  
  957. var button = document.createElement("button");
  958. button.style.position = "fixed";
  959. button.style.left = "2px";
  960. button.style.top = "50%";
  961. button.style.transform = "translateY(-50%)";
  962. button.style.background = "red";
  963. button.style.color = "white";
  964. button.style.border = "none";
  965. button.style.padding = "10px 20px";
  966. button.style.borderRadius = "10px";
  967. button.style.cursor = "pointer";
  968. button.style.zIndex = "99999";
  969. button.style.borderRadius = "100px";
  970. button.style.border = "3px solid black";
  971.  
  972. button.innerHTML = "&#8594;";
  973.  
  974. button.addEventListener("click", function() {
  975. var panel = document.getElementById("STBOT1");
  976. var panelx = document.getElementById("panelx");
  977. var panely = document.getElementById("STBOT2");
  978. var panelz = document.getElementById("STBOT3");
  979. var panels = document.getElementById("STBOT4");
  980.  
  981. if (panel.style.display === "none" && panelx.style.display === "none") {
  982. panel.style.display = "block";
  983. panelx.style.display = "block";
  984. panely.style.display = "block";
  985. panelz.style.display = "block";
  986. panels.style.display = "block";
  987. var svg = button3.querySelector('svg');
  988. var svgx = button2.querySelector('svg');
  989. var svgz = button1.querySelector('svg');
  990.  
  991. svg.setAttribute('stroke', '#ff0000');
  992. svgx.setAttribute('stroke', '#ffffff');
  993. svgz.setAttribute('stroke', '#ff0000');
  994. button.innerHTML = "&#8594;";
  995. } else {
  996. panel.style.display = "none";
  997. panelx.style.display = "none";
  998. panely.style.display = "none";
  999. panelz.style.display = "none";
  1000. panels.style.display = "none";
  1001. button.innerHTML = "&#8592;";
  1002. }
  1003. });
  1004.  
  1005. document.body.appendChild(button);
  1006.  
  1007. var panelx = document.createElement("div");
  1008. panelx.style.width = "45px";
  1009. panelx.style.height = "124px";
  1010. panelx.style.backgroundColor = "#000";
  1011. panelx.style.borderRadius = "50px";
  1012. panelx.style.border = "2px solid #FF0000";
  1013. panelx.style.position = "fixed";
  1014. panelx.style.left = "7px";
  1015. panelx.style.top = "33.3%";
  1016. panelx.id = "panelx";
  1017. panelx.style.display = "flex";
  1018. panelx.style.flexDirection = "column";
  1019. panelx.style.justifyContent = "center";
  1020. panelx.style.alignItems = "center";
  1021. panelx.style.textAlign = "center";
  1022. panelx.style.zIndex = "99999";
  1023.  
  1024.  
  1025.  
  1026. var button1 = document.createElement("button");
  1027. 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>";
  1028.  
  1029. button1.style.marginBottom = "10px";
  1030. button1.style.marginTop = "7px";
  1031. button1.style.zIndex = "99999";
  1032. button1.addEventListener("click", function() {
  1033.  
  1034. var svg = button3.querySelector('svg');
  1035. var svgx = button2.querySelector('svg');
  1036. var svgz = button1.querySelector('svg');
  1037.  
  1038.  
  1039. svg.setAttribute('stroke', '#ff0000');
  1040. svgx.setAttribute('stroke', '#ff0000');
  1041. svgz.setAttribute('stroke', '#ffffff');
  1042.  
  1043.  
  1044.  
  1045. var panel = document.getElementById("STBOT1");
  1046. var panelx = document.getElementById("panelx");
  1047. var panely = document.getElementById("STBOT2");
  1048. var panelz = document.getElementById("STBOT3");
  1049. var panels = document.getElementById("STBOT4");
  1050.  
  1051. panelz.style.display = "none";
  1052. panel.style.display = "none";
  1053. panelx.style.display = "block";
  1054. panely.style.display = "none";
  1055. panels.style.display = "block";
  1056.  
  1057. });
  1058.  
  1059. var button2 = document.createElement("button");
  1060. 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>";
  1061. button2.style.marginBottom = "10px";
  1062. button2.style.marginTop = "7px";
  1063. button2.style.zIndex = "99999";
  1064. button2.addEventListener("click", function() {
  1065.  
  1066. var svg = button3.querySelector('svg');
  1067. var svgx = button2.querySelector('svg');
  1068. var svgz = button1.querySelector('svg');
  1069.  
  1070.  
  1071. svg.setAttribute('stroke', '#ff0000');
  1072. svgx.setAttribute('stroke', '#ffffff');
  1073. svgz.setAttribute('stroke', '#ff0000');
  1074.  
  1075.  
  1076. var panel = document.getElementById("STBOT1");
  1077. var panelx = document.getElementById("panelx");
  1078. var panely = document.getElementById("STBOT2");
  1079. var panelz = document.getElementById("STBOT3");
  1080. var panels = document.getElementById("STBOT4");
  1081.  
  1082. panelz.style.display = "none";
  1083. panel.style.display = "block";
  1084. panelx.style.display = "block";
  1085. panely.style.display = "block";
  1086. panels.style.display = "none";
  1087.  
  1088. });
  1089.  
  1090. var button3 = document.createElement("button");
  1091. 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>";
  1092. button3.style.marginBottom = "7px";
  1093. button3.style.zIndex = "99999";
  1094.  
  1095. button3.addEventListener("click", function() {
  1096.  
  1097. var svg = button3.querySelector('svg');
  1098. var svgx = button2.querySelector('svg');
  1099. var svgz = button1.querySelector('svg');
  1100.  
  1101. svg.setAttribute('stroke', '#ffffff');
  1102. svgx.setAttribute('stroke', '#ff0000');
  1103. svgz.setAttribute('stroke', '#ff0000');
  1104.  
  1105.  
  1106.  
  1107. var panel = document.getElementById("STBOT1");
  1108. var panelx = document.getElementById("panelx");
  1109. var panely = document.getElementById("STBOT2");
  1110. var panelz = document.getElementById("STBOT3");
  1111. var panels = document.getElementById("STBOT4");
  1112.  
  1113. panel.style.display = "none";
  1114. panelx.style.display = "block";
  1115. panely.style.display = "none";
  1116. panelz.style.display = "block";
  1117. panels.style.display = "none";
  1118.  
  1119. });
  1120.  
  1121.  
  1122. panelx.appendChild(button2);
  1123. panelx.appendChild(button1);
  1124. panelx.appendChild(button3);
  1125.  
  1126.  
  1127. document.body.appendChild(panelx);
  1128.  
  1129.  
  1130.  
  1131.  
  1132. GM_addStyle(css);
  1133. f(".kickallwhenjoin").addEventListener("change",()=>{
  1134. GM_setValue("kicknewset",f(".kickallwhenjoin").checked)
  1135. })
  1136. f(".kickonjoin").addEventListener("change",()=>{
  1137. GM_setValue("kickjoinset",f(".kickonjoin").checked)
  1138. })
  1139. }
  1140.  
  1141. window.addEventListener("message",function(event){
  1142. if(typeof(event.data)==="string"){
  1143. if(event.data=="join"){
  1144. f("#roomlink").value==""?f("#roomlink").value=window.location.href:0
  1145. botc=0;GM_setValue("resetcount",rand())
  1146. readyc=0
  1147. GM_sendMessage("join",f("#roomlink").value.split("/")[3],f("#botnick").value,avatar,localStorage.getItem("botnick"),f(".kickonjoin").checked,rand())
  1148. }
  1149. if(event.data.indexOf("kickuser.")!=-1){
  1150. let userid=event.data.split("kickuser.")[1]
  1151. GM_setValue("kick",userid+".."+num(10000))
  1152. }
  1153.  
  1154. if(event.data=="broadcast"){
  1155. GM_setValue("broadcast",f("#broadcast").value+"►"+num(5000))
  1156. }
  1157. if(event.data=="chat"){
  1158. GM_setValue("msg",f("#message").value+"►"+num(5000))
  1159. }
  1160. if(event.data=="answer"){
  1161. GM_setValue("answer",f("#answer").value+"►"+num(5000))
  1162. }
  1163. if(event.data=="report"){
  1164. GM_setValue('report', num(5000));
  1165. }
  1166. if(event.data=="jump"){
  1167. GM_setValue('jump', num(5000));
  1168. }
  1169. if(event.data=="acceptdraw1"){
  1170. GM_setValue('acceptdraw1', num(5000));
  1171. }
  1172. if(event.data=="acceptdraw2"){
  1173. GM_setValue('acceptdraw2', num(5000));
  1174. }
  1175. if(event.data=="bluemode"){
  1176. GM_setValue('bluemode', num(5000));
  1177. }
  1178. if(event.data=="acceptdraw3"){
  1179. GM_setValue('acceptdraw3', num(5000));
  1180. }
  1181. if(event.data=="tips"){
  1182. GM_setValue('tips', num(5000));
  1183. }
  1184. if(event.data=="exit"){
  1185. GM_setValue('exit', num(5000));
  1186. }
  1187.  
  1188.  
  1189. if(event.data=="kickall"){
  1190. var elements = document.getElementsByClassName("kickmenubtn");
  1191. var elementsvalue = [];
  1192.  
  1193. for (var i = 0; i < elements.length; i++) {
  1194. elementsvalue.push(elements[i].getAttribute("onclick"));
  1195. }
  1196.  
  1197. elementsvalue.forEach(function(value, index) {
  1198. setTimeout(function() {
  1199. let userid = value.split("kickuser.")[1].split("','*")[0];
  1200.  
  1201. GM_setValue("kick",userid+".."+num(10000))
  1202. }, 550 * index);
  1203. })}
  1204. if(event.data=="broadcastspamtoggle"){
  1205. let broadcastspamMS=parseInt(localStorage.getItem("broadcastspam"))
  1206. var broadcastspam = f("#broadcastspam").value
  1207. intervalbroadcast=setInterval(()=>{
  1208. GM_setValue("broadcast",broadcastspam+"►"+num(5000))
  1209. },broadcastspamMS)
  1210. f("#broadcaststart").style.display="none"
  1211. f("#broadcaststop").style.display="block"
  1212. }
  1213. if(event.data=="chatspamtoggle"){
  1214. let messagespamMS=parseInt(localStorage.getItem("messagespam"))
  1215. var messagespam = f("#messagespam").value
  1216. intervalmsg=setInterval(()=>{
  1217. var chatspam = f("#messagespam").value
  1218. GM_setValue("msg",chatspam+"►"+num(5000))
  1219. },messagespamMS)
  1220. f("#msgstart").style.display="none"
  1221. f("#msgstop").style.display="block"
  1222. }
  1223. if(event.data=="answerspamtoggle"){
  1224. let answerspamMS=parseInt(localStorage.getItem("answerspam"))
  1225. var answerspam = f("#answerspam").value
  1226. intervalanswer=setInterval(()=>{
  1227. var answerspam = f("#answerspam").value
  1228. GM_setValue("answer",answerspam+"►"+num(5000))
  1229. },answerspamMS)
  1230. f("#answerstart").style.display="none"
  1231. f("#answerstop").style.display="block"
  1232. }
  1233. if(event.data=="stopbroadcast"){
  1234. clearInterval(intervalbroadcast)
  1235. f("#broadcaststart").style.display="block"
  1236. f("#broadcaststop").style.display="none"
  1237. }
  1238. if(event.data=="stopmsg"){
  1239. clearInterval(intervalmsg)
  1240. f("#msgstart").style.display="block"
  1241. f("#msgstop").style.display="none"
  1242. }
  1243. if(event.data=="stopanswer"){
  1244. clearInterval(intervalanswer)
  1245. f("#answerstart").style.display="block"
  1246. f("#answerstop").style.display="none"
  1247. }
  1248.  
  1249. }
  1250. })
  1251.  
  1252. localStorage.getItem("botc")?0:window.localStorage.setItem("botc",0)
  1253. GM_setValue("resetcount",rand())
  1254. //
  1255. setInterval(()=>{
  1256. if(f("#users")){
  1257. fa(".kickmenubtn").forEach(ele=>{
  1258. f(".scrollElements").innerText.indexOf(ele.value)==-1?ele.remove():0
  1259. })
  1260. f("g")?f("g").remove():0;
  1261. }
  1262. if(f("input[name=chat]")){
  1263. f(".contentPopup")&&f(".btYellowBig.ic-yes")?f(".btYellowBig.ic-yes").click():0;
  1264.  
  1265. if(f(".contentPopup .nick")&&f(".ic-votekick")&&otoeven==0){
  1266. otoeven=1//
  1267. f(".close").addEventListener("click",()=>{otoeven=0})
  1268. f(".ic-ignore").addEventListener("click",()=>{otoeven=0})
  1269. f(".ic-votekick").addEventListener("click",()=>{
  1270. otoeven=0
  1271. GM_setValue("kick",f(".contentPopup .nick").innerText+".."+num(10000))
  1272. })
  1273. }
  1274. }
  1275. f("input[name=chat]")?f("input[name=chat]").setAttribute("placeholder",+botc+" bot aktif"):0
  1276. f(".taktifbot")?f(".taktifbot").innerText=botc:0
  1277.  
  1278. if(f("#background")&&!f(".userlist")&&!f(".option")&&!f(".STBOT")){
  1279. f("#background").innerHTML+=html
  1280. setCSS()
  1281. }
  1282. },100)
  1283. GM_addValueChangeListener("botekle", function(I,C,E,b) {
  1284. botc++
  1285. f(".taktifbot")?f(".taktifbot").innerText=botc:0
  1286. })
  1287.  
  1288. GM_addValueChangeListener("ready", function(I,C,E,b) {
  1289. readyc++
  1290. readyc>=botc&&botc!=0?GM_setValue("join",rand()):0
  1291. })
  1292.  
  1293. GM_addValueChangeListener("botexit", function(I,C,E,b) {
  1294. //botc--
  1295. })
  1296. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址