daily pastebin goal
35%
SHARE
TWEET

test

a guest Dec 23rd, 2017 85 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         EpicOS 6
  3. // @namespace    http://tampermonkey.net/
  4. // @version      6
  5. // @description  try to take over the world!
  6. // @author       Infinity/SublimeHawk6/Epictree160
  7. // @match        http://www.multiplayerpiano.com/*
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. /*
  12.     TERMS & CONDITIONS & INFORMATION:
  13.  
  14. EpicOS, Epic's Chat Entertainment System
  15. (Copyright (©) Sublime Studios 2015)
  16. was created and
  17. is owned by Epictree160, aka SublimeHawk6, aka Infinity~,
  18. now known as Tᕼᕮ ᕼOST. EpicOS Chat Entertainment System
  19. was initially started in 2015 and completed in 2016.
  20. It is part of the 160System, which is a series of bots
  21. created and owned by Tᕼᕮ ᕼOST. This bot includes another
  22. system called NMPBLink, also created by Tᕼᕮ ᕼOST. There were
  23. several different versions of EpicOS before this final one:
  24. Version 1: https://pastebin.com/VJb3yCN9
  25. Version 2: https://pastebin.com/11eCR7ux
  26. Version 3: [Missing.]
  27. Version 4: https://pastebin.com/s9xZ9Wfr
  28. Version 5: https://pastebin.com/pEndJub5
  29. You are now at version: 6
  30. Version 6: https://pastebin.com/0NKMTuWg
  31. Contributors:
  32. Epic/Epictree160/SublimeHawk6/Infinity~/The Host (commands, findUser function, globalSend function, channelSend function, bot names.),
  33. Squid/く8彡/Casio (Automatic command list updates, some command templates, bot suggestions, inspiration to even create this bot),
  34. Vidkunnsonn/Skallagrim (bot suggestions&other),
  35. Electrashave (formatUnicode function),
  36. Logan (JS command),
  37. Chacha (Bot disconnecting message, bot suggestions),
  38. CitronSustain/Vistril (bot suggestions, emojis),
  39. Braden T (Tsunami command),
  40. Ham\'s Music (nmpblink base&idea, bot suggestions),
  41. Anon (bot suggestions),
  42. Chris | Male | Neko (command ideas&bot suggestions),
  43. ATLAS A.I™ (assistance&inspiration for the style of EpicOS),
  44. ❴❓❵/Ming (assistance/inspiration/ideas),
  45. Foxy (assistance/inspiration/ideas),
  46. Steven/Sven/BN-TK/NinjaFox (assistance/inspiration/ideas),
  47. JPDLD (assistance&inspiration/ideas),
  48. Chloe (assistance&inspiration/ideas),
  49.  
  50.     USAGE SUMMARY:
  51.  
  52. download notepad++
  53. download Google Chrome
  54. download Browsec VPN Chrome Extension
  55. open this file in notepad++
  56. find ownerId =
  57. set it to ownerId = 'your _id here'
  58. (get your own _id by going to MPP, opening console by pressing f12, typing in MPP.client.getOwnParticipant()._id,
  59. copying the result it gives you.)
  60. find admins =
  61. delete the list and replace it with admins = ['your _id here'];
  62. you can add more ids like so: admins = ['id1','id2','id3'] and so on.
  63. that's all.
  64. To execute the bot, right click on this text in notepad++, click select all and then copy it,
  65. open the console with f12 on www.multiplayerpiano.com in chrome with your closest server enabled in Browsec VPN
  66. paste the script into the console.
  67. it will take a few seconds to load.
  68. when it does, the bot will detect its first runtime and will provide further instructions.
  69.  
  70. IMPORTANT:
  71. For the maximum performance out of EpicOS, host it on seperate computer and keep the Google Chrome tab that
  72. EpicOS is running on selected and at the front to prevent crashes.
  73.  
  74. Save this file now and thank you for choosing EpicOS, Epic's Chat Entertainment System.
  75. Message us on Discord for further assistance: EpicOSAssistance#5042
  76. If you want information on NMPBLink and how proxying works with EpicOS, send "nmpblink info request"
  77. */
  78.  
  79.  
  80.  
  81. //SCRIPT:
  82.  
  83.  
  84.  
  85.  
  86. if(localStorage.EOSFIRSTRUNTIME==null){
  87. cmdChar = '^';
  88. botname='EpicOS';
  89. localStorage.lastcmdchar='^';
  90. localStorage.lastbotname='EpicOS';
  91. setTimeout(function(){
  92. localStorage.EOSFIRSTRUNTIME='EpicOS, Epic\'s Chat Entertainment System was executed initially on this system at: '+Date();;
  93. EOS.chat.send('DETECTEDFIRSTRUNTIME: Hello. Welcome to EpicOS. We assume you have read the setup guide at the start of the script.');
  94. EOS.chat.send('Type ^adminhelp for admin commands. Type ^ownerhelp for owner commands. Type ^help for the main command list. Type "EpicOS start nmpblink" without quotes to start NMPBLink.');
  95. EOS.chat.send('Only use NMPBLink if you have got instructions on how to use it by sending "nmpblink info request" without quotes to our Discord: EpicOSAssistance#5042');
  96. setTimeout(function(){
  97. EOS.chat.chat('Remember that you must use ^save to save the botname and prefix if you change it.');
  98. EOS.chat.send('Message us on Discord for further assistance: EpicOSAssistance#5042');
  99. EOS.chat.send('Join the 160System discord server here: https://www.discord.me/160');
  100. EOS.chat.send('Get EpicOS from our pastebin account here: https://pastebin.com/u/160Productions');
  101. }, 10000);
  102. }, 40000);
  103. }
  104. function shutdownALL(){
  105. EOS.chat.send('Shutting down all clients.');
  106. if(nmpb_online){
  107. nmpb_cl.stop();
  108. EOS.chat.send('NMPBLink shutdown.');
  109. }
  110. if(banonline){
  111. banclient.stop();
  112. EOS.chat.send('Ban announcement client shutdown.');
  113. }
  114. if(Object.keys(nmpb_proxy_database).length>0){
  115. killProxyMode();
  116. EOS.chat.send('Proxy system shutdown.');
  117. }
  118. clearInterval(AutoReconnect);
  119. EOS.chat.send('Automatic reconnection interval shutdown.');
  120. batteryenabled=false;
  121. Power2=false;
  122. Power='off';
  123. EOS.chat.send('Battery interval shutdown.');
  124. EOS.chat.send('Commands shutdown.')
  125. botname='Goodbye!';
  126. setTimeout(function(){
  127. botname='EpicOS [Offline]';
  128. EOS.chat.send('Main client shutdown.');
  129. setTimeout(function(){
  130. EOS.client.stop();
  131. }, 8000);
  132. }, 6000);
  133. }
  134. function log(log){ console.log("%c\n"+log, 'font-family: courier; font-size: 15px; color: #0f8da3;');}
  135. AUTOMATICMODERATION=true; //automatic banning and spam detection features
  136. function DAM(){
  137. AUTOMATICMODERATION=false;
  138. EOS.chat.send('> Automatic moderation system disabled.');
  139. }
  140. function EAM(){
  141. AUTOMATICMODERATION=true;
  142. EOS.chat.send('> Automatic moderation system enabled.');
  143. }
  144. //86.87 15
  145. setTimeout(function(){startBanClient();batteryenabled=false;},60000);
  146. //*****************************
  147. //~SUBLIME STUDIOS~
  148. //SublimeHawk6 (Epictree160)
  149. //Do not pretend you own
  150. //or have written this script.
  151. //*****************************
  152. whitelist = [
  153. 'a63bbd27020081cf5fe4f060'
  154. ];
  155. //2015
  156. //dickheads:
  157. //51ae6a811e43f5c7ecb97bcb
  158. //yay
  159. //TO DO LIST:
  160. //MOAR COMMMANDSSS!!
  161. rooms2 = [];
  162. //EpicOS 6.2: fixed bot spamming error messages at startup.
  163. Power2 = true;
  164. version = '6.5';
  165. //EMOJIS BECAUSE WHY NOT
  166. setInterval(function(){
  167. log('Votedisable votes reset.')
  168. votecount = 0;
  169. voteids = [];
  170. }, 30000);
  171. emojis = { //these might be different depending on which browser/device you use. - oh - too much fucking caffeine was invested in making this
  172.  
  173.     //INFINITY SYMBOLS START
  174.     cat1: '🐈',
  175.     cat2: '🐱',
  176.     pumpkin: '🎃', //fixed spelling error.
  177.     ghost: '👻',
  178.     moon: '🌙',
  179.     tick: '✔️',
  180.     warning: '⚠️',
  181.     earth: '🌎',
  182.     star: '✨',
  183.     questionmark: '❓',
  184.     car: '🚗',
  185.     truck: '🚚',
  186.     taxi: '🚕',
  187.     traffic: '🚦',
  188.     trademark: '™',
  189.     taco: '🥙',
  190.     boredface: '😑',
  191.     gun: '🔫',
  192.     potato: '🥔',  //xd
  193.     triangle: '🔻',
  194.     cross: '❌',
  195.     action: '🎬',
  196.     //INFINITY SYMBOLS END
  197.     //FACES EMOJI START
  198.     happy_face_big_mouth: '😀',
  199.     happy_face_mouth_with_tongue: '😃',
  200.     happy_face_mouth_tongue_closed_eyes: '😄',
  201.     happy_face_arrow_eyes: '😆',
  202.     happy_face_closed_eyes_sweat: '😅',
  203.     happy_face_fucking_dying: '😂',
  204.     happy_face_rofl: '🤣',//idk
  205.     happy_face_extremely_happy: '☺️',
  206.     happy_face_not_very_extremely: '😊',
  207.     happy_face_angel: '😇',
  208.     happy_face_normal: '🙂',
  209.     happy_face_wtf: '🙃',
  210.     happy_face_wink: '😉',
  211.     happy_face_sleeping: '😌',
  212.     happy_face_heart_eyes: '😍',
  213.     kissface1: '😘',
  214.     kissface2: '😗',
  215.     kissface3: '😙',
  216.     kissface4: '😚',
  217.     happy_face_tongue_out: '😋',
  218.     happy_face_tongue_wink: '😜',
  219.     happy_face_arrow_tongue: '😝',
  220.     happy_face_tongue_open: '😛',
  221.     happy_face_money: '🤑',//mightnotshow
  222.     happy_face_clapping: '🤗',//alsomightnotshow
  223.     happy_face_nerd: '🤓',//alsoalsomightnotshow.
  224.     happy_face_cool: '😎',
  225.     happy_face_clown: '🤡',//mightnotshow,visualstudiosucks
  226.     happy_face_cowboy: '🤠',
  227.     happy_face_seductive: '😏',
  228.     sad_face_irritated: '😒',
  229.     sad_face: '😞',
  230.     sad_face2: '😔',
  231.     sad_face_slightly_worried: '😟',
  232.     sad_face_bummed_out: '',
  233.     sad_face3: '😕',
  234.     sad_face_huge: '☹️',
  235.     pissedoff1: '😣',
  236.     pissedoff2: '😖',
  237.     pissedoff3: '😫',
  238.     auuugh1: '😩',
  239.     auuugh2: '',
  240.     dragon_breath: '😤',
  241.     angry_face1: '😠',
  242.     demon: '😡',
  243.     no_mouth: '😶',
  244.     disappointed1:'😐',
  245.     disappointed2:'😑',
  246.     surprised1:'😯',
  247.     surprised2:'😦',
  248.     surprised3:'😧 ',
  249.     surprised_small_mouth:'😮',
  250.     surprised_huge_fucking_eyes:'😲',
  251.     whirly_eyes:'😵',
  252.     embarrassed:'😳',
  253.     HOLY_SHIT:'😱',
  254.     surprised4:'😨',
  255.     bluesurprised_sweat:'😰',
  256.     cry_single_tear:'😢',
  257.     surprised_sweat:'😥',
  258.     drool:'🤤', //didnt show on VS again >:C
  259.     cry1:'😭',
  260.     sweat_wtf_again:'😓',
  261.     cry_single_tear_2:'😪',
  262.     sleeping2:'😴',
  263.     roll_eyes:'🙄',
  264.     thinking:'🤔',
  265.     thinking_with_foot:'🤥', /*?*/ //i think its this old meme: https://i.pinimg.com/474x/08/43/7b/08437b0d1c44bdb9dfe26a2e8476f64d--hands-on-coffee-cups.jpg
  266.     oh_shit_just_got_real:'😬',
  267.     zipped_lips:'🤐',
  268.     vomit:'🤢',
  269.     sneeze:'🤧',
  270.     cough_mask:'😷',
  271.     fever:'🤒',
  272.     broken_head: '🤕',
  273.     demon2:'😈',
  274.     demon3:'👿',
  275.     monster1:'👹',
  276.     monster2:'👺',
  277.     poo:'💩',
  278.     ghost1:'👻',
  279.     skull:'💀',
  280.     crossbones_skull:'☠️',
  281.     ayylmao:'👽',
  282.     //FACES EMOJI END
  283.     //OTHER FACES AND SYMBOLS START
  284.     alien_monster:'👾', //zerg rush, i think?? wil edit when i find out
  285.     robot_thing:'🤖',
  286.     butterfly_hand:'👐',
  287.     to_the_roof:'🙌',
  288.     //OTHER FACES AND SYMBOLS END
  289.     //HAND GESTURES START
  290.     clap_hand:'👏',
  291.     bless:'🙏',
  292.     handshake:'🤝',
  293.     like:'👍',
  294.     dislike:'👍',
  295.     brofist:'👊',
  296.     clench_fist:'✊',
  297.     brofist_left:'🤛',
  298.     brofist_right:'🤜',
  299.     cross_fingers:'🤞',
  300.     peace:'✌️',
  301.     rock_on:'🤘',
  302.     okay:'👌',
  303.     left_point:'👈',
  304.     right_point:'👉',
  305.     up_point:'👆',
  306.     down_point:'👇',
  307.     up_point_no_thumb:'☝️',
  308.     full_hand_front:'✋',
  309.     full_hand_back:'🤚',
  310.     full_hand_front_spread:'🖐',
  311.     star_trek_thing:'🖖',
  312.     wave_probably:'👋',
  313.     telephone:'👋',
  314.     flex:'👋',
  315.     fuck_you: '🖕',
  316.     pencil_hand:'✍️',
  317.     selfie_hand:'🤳',
  318.     paint_nails_hand: '💅',
  319.     //HAND GESTURES END
  320.     //TRAINS START
  321.     JPDLD_train:'🚂',
  322.     JPDLD_train_light: '🚦',
  323.     JPDLD_train_misc2: '🚧',
  324.     JPDLD_train_misc3: '🚏',
  325.     //TRAINS END
  326.     //SYMBOLS START
  327.     red_heart_small:'❤',
  328.     yellow_heart: '💛',
  329.     green_heart:'💚',
  330.     lightblue_heart:'💙',
  331.     infinity_blue_heart:'💜',
  332.     black_heart: '🖤',
  333.     broken_heart:'💔',
  334.     heart_dot:'❣️',
  335.     heart_x2:'💕',
  336.     circling_heart:'💞'}
  337. //EMOJIS BECAUSE WHY NOT
  338. roomselected=false;
  339. //54.245.170.221 80 //random proxy ip
  340.  
  341. //MPP.client._events.n.pop();
  342. EOS = MPP;
  343. EOS.chat.send('One moment.');
  344. setTimeout(function(){
  345. EOS.chat.send('Welcome to EpicOS. Starting system. ['+emojis.tick+']');
  346. Power = 'off';
  347. }, 2000);
  348. setTimeout(function(){
  349. log('Spam detection enabled.');
  350. }, 5000);
  351. setTimeout(function(){
  352. log('Battery interval enabled.');
  353. console.log('Loading system settings.')
  354. }, 8000);
  355. setTimeout(function(){
  356. EOS.chat.send('EpicOS, Epic\'s Chat Entertainment System (Copyright (©) Sublime Studios 2015) Version ' + version + ' created by Infinity is now online! (GET EPICOS HERE: https://pastebin.com/0NKMTuWg) ['+emojis.tick+emojis.action+']')
  357. EOS.chat.send('You may type ' + cmdChar + 'help to access my command list, I have over 80 commands available!');
  358. Power = 'on';
  359. }, 20000);
  360. aroomisselected=false;
  361. EOS_runconsolecommand = {
  362. disconnect:function(){EOS.client.stop()},
  363. connect:function(){EOS.client.start()},
  364. sendchat:function(message){MPP.chat.send(message)},
  365. sendchat_nobuffer:function(message){EOS.client.sendArray([{m: "a", message: message }]);},
  366. ban:function(id,reason){if(id.length==24) {if(!reason) {Reason = '..Oops. It looks like a reason hasn\'t been provided by an admin.';} else {Reason = reason;};banned.push(id);EOS.chat.send('Console banned user _id: ' + id + ' Reason: ' + Reason);} else {EOS.chat.send('Couldn\'t ban id, make sure it is an _id. The id should consist of 24 characters ['+emojis.cross+emojis.warning+']');log('Couldn\'t ban id, make sure it is an _id. The id should consist of 24 characters');}}
  367. }
  368.  
  369. proxyflooddetection = setInterval(function(){if(AUTOMATICMODERATION){if(chat_buffer.length>=spamlimit){chat_buffer = [];EOS.chat.send('Possible proxy flood detected. Please refrain from spamming. Will not be tolerated by administrators. Commands disabled temporarily. ['+emojis.warning+emojis.cross+']');Power='off';setTimeout(function(){EOS_runconsolecommand.sendchat_nobuffer('Commands enabled. Please do not spam. Thank you.');Power = 'on'},20000);}}},0);
  370. EOS.client.on("ls",function(ls){
  371. for(var room in ls.u){
  372. rooms.push(ls.u[room]._id);
  373. uniqueNames = [];
  374. $.each(rooms, function(i, el){
  375.     if($.inArray(el, rooms2) === -1) rooms2.push(el);
  376. });
  377.  
  378. };
  379. });
  380.  
  381. setInterval(function(){$('#chat').fadeIn();},2000);
  382. document.dispatchEvent(new MouseEvent("mousedown"));
  383. nmpb_proxy_database={};
  384. finding=false;
  385. songcount = 0;
  386. setInterval(function(){
  387. if(EOS.client.channel._id=='lobby'){nmpb_DefaultROOM='lolwutsecretlobbybackdoor';}else{
  388. nmpb_DefaultROOM=EOS.client.channel._id;}
  389. }, 1000);
  390. nmpb_online=false;
  391. nmpb_requests=false;
  392. nmpb_requests_database={};
  393. nmpb_autoplay=false;
  394. nmpb_proxy_amount=-1;
  395. function startProxy(){
  396. nmpb_proxy_amount++;
  397. nmpb_proxy_database[nmpb_proxy_amount]={client:new Client('ws://www.multiplayerpiano.com:8080')};
  398. nmpb_proxy_database[nmpb_proxy_amount].client.start();
  399. nmpb_proxy_database[nmpb_proxy_amount].client.setChannel(nmpb_DefaultROOM);
  400. }
  401. function updateProxyNames(name){
  402. updateproxyname=-1;
  403. updateproxynames=setInterval(function(){
  404. updateproxyname++;
  405. log('updated proxy '+updateproxyname+' name to '+name);
  406. nmpb_proxy_database[updateproxyname].client.sendArray([{ m: "userset", set: { name: name} }]);
  407. if(updateproxyname==Object.keys(nmpb_proxy_database).length-1){
  408. clearInterval(updateproxynames);
  409. log('Complete!')
  410. }
  411. }, 500);
  412. }
  413. function updateProxyRooms(room){
  414. updateproxyroom=-1;
  415. updateproxyrooms=setInterval(function(){
  416. updateproxyroom++;
  417. log('updated proxy '+updateproxyroom+' room to '+room);
  418. nmpb_proxy_database[updateproxyroom].client.setChannel(room);
  419. if(updateproxyroom==Object.keys(nmpb_proxy_database).length-1){
  420. clearInterval(updateproxyrooms);
  421. log('Complete!')
  422. }
  423. }, 500);
  424. }
  425. PROXYFOLLOWEPICOS = setInterval(function(){
  426. if(Object.keys(nmpb_proxy_database).length>0){
  427. if(EOS.client.channel._id=='lobby'){EOS_room = 'lolwutsecretlobbybackdoor';}else{
  428. EOS_room = EOS.client.channel._id;
  429. }
  430. setTimeout(function(){
  431. updateProxyRooms(EOS_room);
  432. }, 500);
  433. }
  434. }, 10000);
  435. function upnd(){
  436. updateProxyNames('EpicOS Proxy Assistant (160SocketSystem)');
  437. }
  438. function killProxyMode(){
  439. killproxycounter=-1;
  440. log('[NMPBLink] ---> killing proxy mode')
  441. killproxy=setInterval(function(){
  442. killproxycounter++;
  443. nmpb_proxy_database[killproxycounter].client.stop();
  444. log('stopped proxy: #'+killproxycounter+' with _id: '+nmpb_proxy_database[killproxycounter].client.getOwnParticipant()._id);
  445. if(killproxycounter==Object.keys(nmpb_proxy_database).length-1){
  446. clearInterval(killproxy);
  447. log('killed all proxies');
  448. log('ended interval killproxy');
  449. nmpb_proxymode=false;
  450. log('set var nmpb_proxymode to false');
  451. console.warn('clearing database');
  452. console.warn('. . . . . .');
  453. nmpb_proxy_database={};
  454. log('Database cleared!');
  455. log('var turn set to 0');
  456. nmpb_proxy_amount=-1;
  457. log('NMPBLink proxy mode successfully disabled.');
  458. DPC();
  459. log('Disabled proxy chat.')
  460. }
  461. }, 500);
  462. }
  463. turn=-1;
  464. function startNMPB(){
  465. if(nmpb_online){EOS.chat.send('NMPBLink is already active! Type '+NMPB_prefix+'help for commands.');}else{
  466. nmpb_online=true;
  467.  
  468. EOS.client.on("a", function(msg) {
  469. if(Power2){
  470. if(msg.a.toLowerCase().substring(0,NMPB_prefix.length)==NMPB_prefix){
  471. if(msg.a.toLowerCase().split(NMPB_prefix)[1]=='loop'){
  472. if(!nmpb_loop){
  473. EOS.chat.send('Song repeat enabled. Note that autoplay is required to be enabled for this command to work. Autoplay can only be enabled by an administrator.');
  474. nmpb_loop=true;
  475. }else{
  476. EOS.chat.send('Song repeat disabled.');
  477. nmpb_loop=false;
  478. }
  479. }
  480. }
  481. }
  482. });
  483. function nmpb_cl_send(msg){
  484. nmpb_cl.sendArray([{m: "a", message: msg}]);
  485. }
  486. EOS.client.on("a", function(msg) {
  487. console.log('msg received')
  488. if(banned.includes(msg.p._id)||blNames.includes(msg.p.name)) {console.log('banned')} else {
  489. console.log('not banned')
  490. if(msg.a.toLowerCase().substring(0,NMPB_prefix.length)==NMPB_prefix){
  491. console.log('starts with prefix');
  492. if(Power2){
  493. console.log('is enabled');
  494. if(msg.a.toLowerCase().includes(NMPB_prefix+'echo')) {console.log('echo');EOS.chat.send('The echo command has been disabled. Sorry about that.');} else {
  495. if(msg.a.toLowerCase().includes(NMPB_prefix+'help')){
  496. console.log('help');
  497. EOS.chat.send('Modded sequencer commands: '+NMPB_prefix+'loop');
  498. nmpb_cl_send('/help');
  499. }else{
  500. console.log('other');
  501. nmpb_cl_send(msg.a.replace(NMPB_prefix,'/'));}}
  502. }
  503. }
  504. }
  505. });
  506. log('Starting NMPBLink');
  507. NMPB_prefix='-';
  508. nmpb_cl=new Client('ws://www.multiplayerpiano.com:8080');
  509. nmpb_cl.start();
  510. nmpb_cl.setChannel('EOSNMPBLINK2');
  511. log('NMPB prefix set. (NMPB_prefix)');
  512. log('NMPB client connected. (nmpb_cl)');
  513. function nmpb_cl_send(msg){
  514. nmpb_cl.sendArray([{m: "a", message: msg}]);
  515. }
  516. EOS.chat.send('NMPBLink, created by Infinity~, is now active. Type '+NMPB_prefix+'help for commands.');
  517. log('[160] NMPBLink is ACTIVE!');
  518. log('Created by Infinity~');
  519. log('---------------------');
  520. echo = 1;
  521. selectedID = ownerId;
  522. log('Selected ID (_id to be precise) set to ownerId: '+ownerId);
  523. nmpb_cl.on("a", function(msg) {
  524.     if (msg.p._id == selectedID) {
  525.         if (msg.a.substring(0, "Welcome,".length) == "Welcome," || msg.a == "Use /help [command] for command info.") {
  526.             console.warn('Possible issue detected: A new user may have connected to the room "EOSNMPBLINK". It is recommended that you check this user has permission to be in the room and the room is private');return;
  527.         }
  528.     if(msg.a == 'Not found.') {EOS.chat.send('The file was not found! You can use ' + NMPB_prefix + 'list for a list of songs or use ' + NMPB_prefix + 'upload to upload your own MIDI file. Sorry about that!');} else {
  529.     if(msg.a == 'To increase note quota give me the crown.'){EOS.chat.send('NOTEQUOTA WARNING. SYSTEM STRESS DETECTED.');}else{
  530.     if(msg.a.substring(0,'Now playing: Id:'.length)=='Now playing: Id:'){
  531.     if(GETINFO){
  532.     GETINFO=false;
  533.     T=msg.a.split('Now playing: Id:')[1].split('. Name: ');nmpb_id=T[0].trim();nmpb_name=T[1];
  534.     }
  535.     }else{
  536.         setTimeout(function(){
  537.     EOS.chat.send(msg.a.replace(/\//g, NMPB_prefix));
  538.     }, 1000);
  539.     }}}}
  540. });
  541. nmpb_loop=false;
  542. nmpb_sendmessage=true;
  543. nmpb_cl.on('m', msg => {
  544. if(nmpb_autoplay)
  545. if(msg.x==86.87||msg.x>86.87){
  546. if(msg.y==15||msg.y>15){
  547. if(nmpb_sendmessage){
  548. if(nmpb_loop){
  549. log('END OF SONG DETECTED');
  550. log('LOOP IS ENABLED. REPLAYING SONG.');
  551. nmpb_sendmessage=false;
  552. setTimeout(function(){
  553. function nmpb_cl_send(msg){
  554. nmpb_cl.sendArray([{m:"a", message: msg}]);
  555. };
  556. nmpb_cl_send('/rr');
  557. log('> . . .');
  558. nmpb_sendmessage=true;
  559. }, 1000);}
  560. else{
  561. log('END OF SONG DETECTED. PLAYING NEXT SHORTLY.');
  562. nmpb_sendmessage=false;
  563. function nmpb_cl_send(msg){
  564. nmpb_cl.sendArray([{m:"a", message: msg}]);
  565. };
  566. EOS.chat.send('> NMPBLink Autoplay feature is enabled. Finishing song. Playing next shortly..');
  567. log('10 SECONDS REMAINING.');
  568. nmpb_counter1=10;
  569. nmpb_interval1=setInterval(function(){
  570. nmpb_counter1--;
  571. log(nmpb_counter1+' SECONDS REMAINING.');
  572. if(nmpb_counter1==0){
  573. clearInterval(nmpb_interval1);
  574. log('DONE. PLAYING.');
  575. log('> . . .');
  576. nmpb_cl_send('/r');
  577. nmpb_sendmessage=true;
  578. }
  579. }, 1000);
  580. }
  581. }
  582. }
  583. }
  584. });
  585. nmpb_proxymode=false;
  586. nmpb_cl.on("n", function(msg){
  587. //time = msg.t;
  588. //EOS.client.startNote(msg.n[]);
  589. if('')
  590. turn=0;
  591. var time = msg.t;
  592.     for (var ns = 0; ns<msg.n.length; ns++){
  593.         for (var i = 0; i<echo; i++){
  594.             notes = [];
  595.             notes.push(msg.n[ns]);
  596.             if(!nmpb_proxymode){
  597.             EOS.client.sendArray([{m: "n", t: time+(30*i), n: notes , v: 1}]);
  598.             } else {
  599.             turn++;
  600.             console.warn('(TEST): TURN UPDATED TO: '+turn);
  601.             if(turn==Object.keys(nmpb_proxy_database).length){
  602.             turn=0;
  603.             };
  604.             nmpb_proxy_database[turn].client.sendArray([{m: "n", t: time+(30*i), n: notes , v: 1}]);
  605.             }
  606.             nmpb_playing=true;
  607.             setTimeout(function(){
  608.             nmpb_playing=false;
  609.             }, 30000);
  610.         }
  611.     }
  612. });
  613. }
  614. }
  615. nmpb_proxymode=false;
  616. function formatAMPM(date) {
  617.   var hours = date.getHours();
  618.   var minutes = date.getMinutes();
  619.   var ampm = hours >= 12 ? 'pm' : 'am';
  620.   hours = hours % 12;
  621.   hours = hours ? hours : 12; // the hour '0' should be '12'
  622.   minutes = minutes < 10 ? '0'+minutes : minutes;
  623.   var strTime = hours + ':' + minutes + ' ' + ampm;
  624.   return strTime;
  625. }
  626.  
  627. log('Commands: Section 1 Activated.');
  628. //SETTINGS++
  629. roomtime=1.8e+6;
  630. spamlimit = 15;
  631. trustedusers=[
  632. '7e680871eef2b87f2c190cfd',
  633. 'ed09641a21a5184f6a8779f1',
  634. 'f369ee0ebc82c77be2f408ae',
  635. '6918006370d05f4802047186'
  636. ];
  637. AutoReconnect = setInterval(function(){if(EOS.client.isConnected()){}else{log('Connection lost. Attempting Auto Reconnect..');EOS.client.start();EOS.chat.send('The connection was temporarily lost.')}}, 1000); //Auto reconnects when the bot loses connection, useful for 24/7 hosting if the site goes down at night
  638. onbeforeunload = () => EOS_runconsolecommand.sendchat_nobuffer("Disconnecting.."); //it says "Disconnecting.." before it disconnects :I
  639. cmdChar = '^'; //the command character/command prefix. for example, if cmdChar = '^'; then you would type ^help to access the command list
  640. battery = 100; //the percentage that the bots battery feature is at
  641. botname = 'EpicOS'; //the bots display name
  642. spying = false; //whether or not the bot is spying with the spy(); function
  643. batterything = true; //batterything
  644. batterything1 = true; //batterything1
  645. batterything2 = true; //batterything2
  646. batterything3 = true; //batterything3
  647. googleavailable = true; //google stuff
  648. googleCooldown = 6000; //google command usage cooldown in milliseconds
  649. googleCommand = true; //this determines whether or not the google command is enabled or disabled
  650. infinitebattery = false; //whether or not the battery is always at 100%. this changes automatically
  651. batteryname = true; //whether or not the bot displays the battery percentage in its name. this changes automatically so you dont have to mess with it
  652. batteryenabled = true; //whether or not the bots battery feature is enabled or not
  653. chargecommand = true; //determines whether or not the charge command is enabled to charge the bots battery feature, this gets disabled automatically when the battery reaches 0%
  654. searchHistory = []; //things that users have searched for with the google command
  655. cmdChar2 = 'EpicOS'; //this means you can say "epicos" in chat and the bot will respond and do things and yeah..
  656. ForbiddenRooms = []; //put any room name in here and when the bot connects to any of the rooms in here it will disable the commands
  657. ECL = ['help']; //unused
  658. Power = 'on'; //determines whether or not the commands are enabled or not off means the commands are off and on means the commands are on (obviously)
  659. banned = [
  660. 'af159288cb2368547e7b6c75',
  661. 'daf814c2aaf8246f8e8ba8d4',
  662. '1c99752a8e51880d2b414cf2',
  663. '0ec78224511bc128d073e3b2']; //users ids who are banned and dont have access to the bot
  664. FCL = [
  665. 'help',
  666. 'about',
  667. 'translatetobinary',
  668. 'encode',
  669. 'decode',
  670. 'google',
  671. 'suggest',
  672. 'stats',
  673. 'shout',
  674. 'myinfo',
  675. 'bans',
  676. 'games',
  677. 'yes',
  678. 'no',
  679. 'navyseals',
  680. 'translatefrombinary',
  681. 'amiadmin',
  682. 'afk',
  683. 'ayy-lmao',
  684. 'boom',
  685. 'reverse',
  686. 'underline',
  687. 'zalgo',
  688. 'denis',
  689. 'kiss',
  690. 'hug',
  691. 'slap',
  692. 'lenny',
  693. 'fact',
  694. 'kill',
  695. 'time',
  696. 'eat',
  697. 'drink',
  698. 'generaterpname',
  699. 'invent',
  700. 'joke',
  701. 'sink',
  702. 'dare',
  703. 'pun',
  704. 'double',
  705. 'adminhelp',
  706. 'suicide',
  707. 'wtf',
  708. 'meow',
  709. 'say',
  710. 'gr8']; //main public full command list
  711. MPC = [
  712. 'bunny',
  713. 'votedisable (vd)',
  714. 'levi',
  715. 'karma',
  716. 'cake',
  717. 'improto',
  718. 'thischat',
  719. 'latest',
  720. 'discord',
  721. 'join',
  722. 'selectroom',
  723. 'finduser',
  724. 'globalsend',
  725. 'dumbass',
  726. 'channelsend',
  727. 'uptime'
  728. ]; //more public commands
  729. AOC = [
  730. 'tsunami',
  731. 'op',
  732. 'deop',
  733. 'news',
  734. 'news2',
  735. 'battery',
  736. 'ban',
  737. 'power',
  738. 'welcome',
  739. 'js',
  740. 'announce',
  741. 'nmpbpower',
  742. 'autoplay']; //admin only command list
  743. OOC = [
  744. 'text-to-speech',
  745. 'restart',
  746. 'disconnect',
  747. 'shutdown',
  748. 'save',
  749. 'autoregenerate',
  750. 'regenerate',
  751. 'hotel',
  752. 'transferowner']; //owner only command list
  753. CMDUNFINISHED = '[WIP Command]: Sorry, it looks like this command is still being coded or is a Work In Progress command.'; //the message that's displayed when a commands is work in progress. usually i dont use this
  754. _ = true; //whether or not the bot disables commands when its in a forbidden room
  755. var chat_buffer = []; //messages that are in the "queue" to be sent
  756. SwearingAllowed = true; //if its false then the bot bans users who swear. i just leave this on true though since its just a stupid and annoying feature
  757. msgcount = 0; //how many messages have been sent
  758. speakChat = false; //this determines whether or not text to speech says all messages posted in chat
  759. thing = 'true'; //i have no idea but i think this has something to do with the bots battery feature thing
  760. ownerName = 'SublimeHawk6'; //the owners name, this variable is useless i think... i dont even know, i cant understand half of my own code so im not sure what this is even for
  761. cmdChar = localStorage.lastcmdChar; //this just gets the last saved cmdchar from localStorage and sets the var cmdChar to whatever is in localStorage
  762. botname = localStorage.lastbotname; //this just gets the last saved botname from localStorage and sets the var botname to whatever is in localStorage
  763. localStorage.ownerName = ownerName; //useless
  764. suggestioncounter = 0; //how many suggestions have been submitted, this usually remains 0 as nobody really uses the suggest command
  765. admins =
  766. ["0eab0774ba77d8744c9bf2a4",
  767. "e3dec44672ae214c6080a230",
  768. "93f28b4cac00d832fd30d8d7",
  769. "bf590ebbb48ecb500c5e9672",
  770. "d55bf273f64f37c5691f3bbb",
  771. "7e680871eef2b87f2c190cfd",
  772. "f021f2c801396b94b5674e3a",
  773. "051ee1ec34cf0218653af6a8",
  774. "a2e5687a970ad4ced3828e58",
  775. "63ce4e6b86780ae23e04a5b8"]; //users who are admin
  776. msgcount = 0; //how many messages have been sent
  777. statscount = 0; //how many times the stats command has been used
  778. leavecount = 0; //how many users have left the room
  779. joincount = 0; //how many users have joined the room
  780. blNames = ["Socket","LOL","Spammer","Proxy","Levi","blobek-lady2013","Denis","Zhaydin-Admin"]; //blacklisted names that get banned whenever they type in chat
  781. autobanned = []; //autobanned users ids
  782. thingy = 0; //i dont even know what that's for but it does something
  783. var ballresponses = ['XD LOL. No.', 'Hell no!', 'bitch u stupid or something???', 'never','maybe idk','go away pls','Dunno','Hell yea!','Yea','Yep','Nah','Sorry im not home right now','no','YES','Fat chance','Lol fat chance','I dont think so!','Not this time!','i aint talking to YOU!','Yea sure whatever ','whatever','Suuuree','Maybe so',':P','In the year 3000 you will','just 3 seconds','Lel hell no!','nah m8','Definitely!','Duhhhh, yes!','what do you think','of course... NOT','of course!','Duhh','XD NO','no','yes','m8','doubt it','Tomorrow','Ughhh im tired can you ask again some other time??','TrY AgAiN wHeN i CaRe!','TrY aGaIn!','i hate you','UGH NO','google it','m8 i may be a computer but i dont know everything!','[The number you are calling does not give a fuck]','k','Don\'t count on it.','Not this time!','Nope.']; //random responses for the 8ball command
  784. var getResponse = ballresponses[Math.floor(Math.random() * ballresponses.length)];
  785. var diceresponses = ['1','6','3','5','2','4']; //random number responses for the dice command
  786. var diceresponse = diceresponses[Math.floor(Math.random() * diceresponses.length)];
  787. var Operators = ['+','-','/','*']; //this was for the maths command i was working on but that got removed as it was a bit trickier to make than i thought it'd be, so this is just unused
  788. var getOperator = Operators[Math.floor(Math.random() * Operators.length)];
  789. correctanswercount = 0; //how many questions have been answered correctly on the timetables command in the games section
  790. welcome = false; //whether or not the bot welcomes users
  791. news = 'Latest feature: Use the join command to move the bot to your own room!'; //text that displays after command list loads in help command
  792. news2 = 'Please feel free to use the suggest command to provide feedback, thanks! Also, try out the games command!'; //more text that displays after the command list
  793. afkusersids = []; //afk users ids
  794. afkusersnames = []; //afk users names
  795. rpsr = ['paper','rock','scissors']; //rock paper scissors responses
  796. votecount = 0; //how many users have voted to disable commands with the votedisable command
  797. voteids = []; //user ids that have voted to disable the commands with the votedisable command
  798. AutoR = false; //Whether or not the bot automatically updates the command list
  799. ownerId = '0eab0774ba77d8744c9bf2a4'; //Owners _id
  800. securityerror = 'Security Error: '; //Security error message
  801. error = 'Error: '; //Error message
  802. Responses = {
  803. 'greetings':['Hi','Hello','Hey','Greetings!','Hello there!'],
  804. 'confirm':['Confirmed','Noted.','Registered.','Command registered','Registered command','Processing','Processing request.','Sure!','Done!','Affirmative'],
  805. 'goodbye':['Goodbye','Bye','See you later'],
  806. 'funny':['Haha'],
  807. 'yes':['Yes?','What can I do for you?','What?','What is it?','How can I help?','How may I be of assistance to you?'],
  808. 'confuzzled':['Yeahhh... I don\'t understand.','What?','Can you repeat that, please?','Sorry, what?','Uhh.. what?','You\'ve lost me there haha']} //EpicOS Smart Response System responses
  809. pixel_lm = ''; //Last thing said to pixel
  810. pixel_reports = []; //Administrator Pixel reports
  811. systeminroom=false;
  812. extra = 'none';
  813. latestcmd = 'globalsend';
  814. comingsoon = 'none';
  815. otherinfo = 'Discontinued projects: EpicOS Discord Edition and The Pixel AI System';
  816. idiotmessage=true;
  817. idiots = [
  818. '51ae6a811e43f5c7ecb97bcb',
  819. 'af159288cb2368547e7b6c75',
  820. 'daf814c2aaf8246f8e8ba8d4',
  821. '1c99752a8e51880d2b414cf2',
  822. '01d900c769fc9b443484bf0c'];
  823. pixelenabled=false;
  824. autoupdateName = setInterval(function(){ if(batteryname) { EOS.client.sendArray([{ m: "userset", set: { name: botname + ' [' + cmdChar + 'help] Battery: ' + battery + '%'  } }]); } else { EOS.client.sendArray([{ m: "userset", set: { name: botname + ' [' + cmdChar + 'help]'  } }]); } }, 0000);
  825. //SETTINGS--
  826.  
  827. //Pixel START
  828. function saytopixel(input,data){
  829. var dt = new Date();
  830.     var h =  dt.getHours(), m = dt.getMinutes();
  831.     var _time = (h > 12) ? ('PM') : ('AM');
  832. if(_time == 'AM' == true) {a = 'morning'} else {a = 'evening/afternoon'};
  833. EOS.chat.send(discontinued+' Sorry about that');
  834. pixel_lm = '('+Date()+') ('+data.p._id+') '+data.p.name+': '+input;
  835. if(input==''){EOS.chat.send('Pixel: ' + Responses.greetings[Math.floor(Math.random() * Responses.greetings.length)] + ' want to know a little bit more about me?'); pixel_awaitresponse1 = true; }
  836. else {
  837. if(input.toLowerCase().substring(0,'hi'.length)=='hi'||input.toLowerCase().substring(0,'hey'.length)=='hey'||input.toLowerCase().substring(0,'hey'.length)=='hey'||input.toLowerCase().substring(0,'hello',length)=='hello') {EOS.chat.send('Pixel: '+Responses.greetings[Math.floor(Math.random() * Responses.greetings.length)])} else {
  838. if(pixel_awaitresponse1){
  839. pixel_awaitresponse1=false;
  840. if(input.toLowerCase().substring(0,'yes'.length)=='yes'||input.toLowerCase().substring(0,'yep'.length)=='yep'||input.toLowerCase().substring(0,'yeah'.length)=='yeah'||input.toLowerCase().substring(0,'yup'.length)=='yup'||input.toLowerCase().substring(0,'okay'.length)=='okay'||input.toLowerCase().substring(0,'ok'.length)=='ok'){
  841. EOS.chat.send('Pixel: Okay then, one second..');
  842. setTimeout(function(){
  843. EOS.chat.send('Pixel: Hi there! I am Pixel, Epic\'s Smart Response System. I was created by Infinity (SublimeHawk6/Epictree160). The date that this feature was created was: Saturday 16th September 2017. There are multiple different private versions of me outside of MPP.');
  844. }, 2000);
  845. }
  846. else {
  847. EOS.chat.send('Sorry, this system is no longer being worked on.'+discontinued);
  848. }}
  849. else {
  850. EOS.chat.send('Pixel: ' + Responses.confuzzled[Maths.floor(Math.random() * Responses.confuzzled.length)])
  851. setTimeout(function() {
  852. EOS.chat.send('EpicOS: Looks like Pixel failed to understand your query. No worries, a report is currently being generated for an admin to review. Thanks for contributing to Pixel. New responses may be added to respond to your input. Please remember that Pixel only supports English. Try rephrasing your query, if Pixel still does not understand, I apologise.');
  853. pixel_reports.push('//START REPORT User: ' + pixel_lm + ' || Pixel responded with Responses.confuzzled..  END REPORT');
  854. log('**NEW PIXEL REPORT GENERATED..**');
  855. log('**To view report now, type pixel_reports[pixel_reports.length-1]; To cancel automatic report display, type cancel(); **');
  856. setTimeout(function(){
  857. log('Displaying report automatically in..');
  858. log('10');
  859. setTimeout(function(){
  860. log('9');
  861. }, 1000);
  862. setTimeout(function(){
  863. log('8');
  864. }, 2000);
  865. setTimeout(function(){
  866. log('7');
  867. }, 3000);
  868. setTimeout(function(){
  869. log('6');
  870. }, 4000);
  871. setTimeout(function(){
  872. log('5');
  873. }, 5000);
  874. setTimeout(function(){
  875. log('4');
  876. }, 6000);
  877. setTimeout(function(){
  878. log('3');
  879. }, 7000);
  880. setTimeout(function(){
  881. log('2');
  882. }, 8000);
  883. setTimeout(function(){
  884. log('1');
  885. }, 9000);
  886. final = setTimeout(function(){
  887. log('0');
  888. setTimeout(function(){
  889. log(pixel_reports[pixel_reports.length-1])
  890. }, 200);
  891. }, 10000);
  892. }, 4000);
  893. }, 2000);
  894. }
  895.  
  896. }
  897. }
  898. function cancel() {
  899. clearInterval(final);
  900. log('Automatic report display was manually cancelled.')
  901. }}
  902. //Pixel END
  903.  
  904. //Epic's Language START
  905. hello = 'heplo ';
  906. what = 'waygc ';
  907. is = 'us ';
  908. i = 'I ';
  909. by = 'buh';
  910. your = 'yior ';
  911. name = 'camo ';
  912. good = 'iud ';
  913. to = 'uo ';
  914. hear = 'orea ';
  915. yes = 'oos ';
  916. no = 'lo ';
  917. okay = 'lekoo ';
  918. bye = 'bop ';
  919. hey = 'heu ';
  920. it = 'oy ';
  921. is = 'od ';
  922. not = 'mop ';
  923. a = 'la ';
  924. be = 'hua ';
  925. idea = 'ibee ';
  926. an = 'wan ';
  927. ha = 'lek ';
  928. please = 'leapse ';
  929. maybe = 'niuba ';
  930. bad = 'duad ';
  931. happy = 'hallpy ';
  932. sad = 'suas ';
  933. important = 'omporting ';
  934. remember = 'lerember ';
  935. on = 'un ';
  936. off = 'loc ';
  937. are = 'loo ';
  938. how = 'poh ';
  939. you = 'yio ';
  940. that = 'htaoi ';
  941. am = 'um ';
  942. epicos = 'epicos ';
  943. pixel = 'pixel ';
  944. was = 'eas ';
  945. so = 'osa ';
  946. now = 'pana ';
  947. there = 'yagatha ';
  948. command = 'instrucom ';
  949. list = 'lalist ';
  950. help = 'hople ';
  951. never = 'nevern ';
  952. sure = 'shope ';
  953. ever = 'levern ';
  954. because = 'beakas ';
  955. and = 'yandera ';
  956. use = 'utili ';
  957. useful = 'utilifal ';
  958. cool = 'col ';
  959. really = 'reeli ';
  960. real = 'reel ';
  961. fake = 'gafener ';
  962. faker = 'gafenary ';
  963. auto = 'pato ';
  964. automatic = 'patoatop ';
  965. displaying = 'folomur ';
  966. display = 'folo ' ;
  967. monitor = 'manata ';
  968. monitoring = 'manatamur ';
  969. observe = 'manaya ';
  970. observing = 'manayamur ';
  971. observation = 'manayaiun ';
  972. just = 'ladel ';
  973. because = 'necioas ';
  974. make = 'booke ';
  975. bug = 'huf ';
  976. dug = 'duf ';
  977. cake = 'loka ';
  978. create = 'freage ';
  979. //Epic's Language END
  980.  
  981.  
  982. function LoadHelpList(msg) { EOS.chat.send('[MAIN COMMANDS]: ' + cmds1); LoadHelpList4(msg);LoadNews1();LoadNews2();}
  983. function LoadHelpList2(msg) { EOS.chat.send('[ADMIN-ONLY COMMANDS]: ' + cmds2)}
  984. function LoadHelpList3(msg) { EOS.chat.send('[OWNER-ONLY COMMANDS]: ' + cmds3)}
  985. function LoadHelpList4(msg) { EOS.chat.send('[OTHER PUBLIC COMMANDS]: ' + cmds4)}
  986. function LoadNews1() {EOS.chat.send('Latest News: ' + news)}
  987. function LoadNews2() {EOS.chat.send('Latest News: ' + news2)}
  988. var Z = {
  989.             chars: {
  990.                 0 : [ /* up */
  991.                     '\u030d', /*     ̍     */
  992.                     '\u030e', /*     ̎     */
  993.                     '\u0304', /*     ̄     */
  994.                     '\u0305', /*     ̅     */
  995.                     '\u033f', /*     ̿     */
  996.                     '\u0311', /*     ̑     */
  997.                     '\u0306', /*     ̆     */
  998.                     '\u0310', /*     ̐     */
  999.                     '\u0352', /*     ͒     */
  1000.                     '\u0357', /*     ͗     */
  1001.                     '\u0351', /*     ͑     */
  1002.                     '\u0307', /*     ̇     */
  1003.                     '\u0308', /*     ̈     */
  1004.                     '\u030a', /*     ̊     */
  1005.                     '\u0342', /*     ͂     */
  1006.                     '\u0343', /*     ̓     */
  1007.                     '\u0344', /*     ̈́     */
  1008.                     '\u034a', /*     ͊     */
  1009.                     '\u034b', /*     ͋     */
  1010.                     '\u034c', /*     ͌     */
  1011.                     '\u0303', /*     ̃     */
  1012.                     '\u0302', /*     ̂     */
  1013.                     '\u030c', /*     ̌     */
  1014.                     '\u0350', /*     ͐     */
  1015.                     '\u0300', /*     ̀     */
  1016.                     '\u0301', /*     ́     */
  1017.                     '\u030b', /*     ̋     */
  1018.                     '\u030f', /*     ̏     */
  1019.                     '\u0312', /*     ̒     */
  1020.                     '\u0313', /*     ̓     */
  1021.                     '\u0314', /*     ̔     */
  1022.                     '\u033d', /*     ̽     */
  1023.                     '\u0309', /*     ̉     */
  1024.                     '\u0363', /*     ͣ     */
  1025.                     '\u0364', /*     ͤ     */
  1026.                     '\u0365', /*     ͥ     */
  1027.                     '\u0366', /*     ͦ     */
  1028.                     '\u0367', /*     ͧ     */
  1029.                     '\u0368', /*     ͨ     */
  1030.                     '\u0369', /*     ͩ     */
  1031.                     '\u036a', /*     ͪ     */
  1032.                     '\u036b', /*     ͫ     */
  1033.                     '\u036c', /*     ͬ     */
  1034.                     '\u036d', /*     ͭ     */
  1035.                     '\u036e', /*     ͮ     */
  1036.                     '\u036f', /*     ͯ     */
  1037.                     '\u033e', /*     ̾     */
  1038.                     '\u035b', /*     ͛     */
  1039.                     '\u0346', /*     ͆     */
  1040.                     '\u031a'  /*     ̚     */
  1041.                 ],
  1042.                 1 : [ /* down */
  1043.                     '\u0316', /*     ̖     */
  1044.                     '\u0317', /*     ̗     */
  1045.                     '\u0318', /*     ̘     */
  1046.                     '\u0319', /*     ̙     */
  1047.                     '\u031c', /*     ̜     */
  1048.                     '\u031d', /*     ̝     */
  1049.                     '\u031e', /*     ̞     */
  1050.                     '\u031f', /*     ̟     */
  1051.                     '\u0320', /*     ̠     */
  1052.                     '\u0324', /*     ̤     */
  1053.                     '\u0325', /*     ̥     */
  1054.                     '\u0326', /*     ̦     */
  1055.                     '\u0329', /*     ̩     */
  1056.                     '\u032a', /*     ̪     */
  1057.                     '\u032b', /*     ̫     */
  1058.                     '\u032c', /*     ̬     */
  1059.                     '\u032d', /*     ̭     */
  1060.                     '\u032e', /*     ̮     */
  1061.                     '\u032f', /*     ̯     */
  1062.                     '\u0330', /*     ̰     */
  1063.                     '\u0331', /*     ̱     */
  1064.                     '\u0332', /*     ̲     */
  1065.                     '\u0333', /*     ̳     */
  1066.                     '\u0339', /*     ̹     */
  1067.                     '\u033a', /*     ̺     */
  1068.                     '\u033b', /*     ̻     */
  1069.                     '\u033c', /*     ̼     */
  1070.                     '\u0345', /*     ͅ     */
  1071.                     '\u0347', /*     ͇     */
  1072.                     '\u0348', /*     ͈     */
  1073.                     '\u0349', /*     ͉     */
  1074.                     '\u034d', /*     ͍     */
  1075.                     '\u034e', /*     ͎     */
  1076.                     '\u0353', /*     ͓     */
  1077.                     '\u0354', /*     ͔     */
  1078.                     '\u0355', /*     ͕     */
  1079.                     '\u0356', /*     ͖     */
  1080.                     '\u0359', /*     ͙     */
  1081.                     '\u035a', /*     ͚     */
  1082.                     '\u0323'  /*     ̣     */
  1083.                 ],
  1084.                 2 : [ /* mid */
  1085.                     '\u0315', /*     ̕     */
  1086.                     '\u031b', /*     ̛     */
  1087.                     '\u0340', /*     ̀     */
  1088.                     '\u0341', /*     ́     */
  1089.                     '\u0358', /*     ͘     */
  1090.                     '\u0321', /*     ̡     */
  1091.                     '\u0322', /*     ̢     */
  1092.                     '\u0327', /*     ̧     */
  1093.                     '\u0328', /*     ̨     */
  1094.                     '\u0334', /*     ̴     */
  1095.                     '\u0335', /*     ̵     */
  1096.                     '\u0336', /*     ̶     */
  1097.                     '\u034f', /*     ͏     */
  1098.                     '\u035c', /*     ͜     */
  1099.                     '\u035d', /*     ͝     */
  1100.                     '\u035e', /*     ͞     */
  1101.                     '\u035f', /*     ͟     */
  1102.                     '\u0360', /*     ͠     */
  1103.                     '\u0362', /*     ͢     */
  1104.                     '\u0338', /*     ̸     */
  1105.                     '\u0337', /*     ̷      */
  1106.                     '\u0361', /*     ͡     */
  1107.                     '\u0489' /*     ҉_     */
  1108.                 ]
  1109.  
  1110.             },
  1111.             random: function(len) {
  1112.                 if (len == 1) return 0;
  1113.                 return !!len ? Math.floor(Math.random() * len + 1) - 1 : Math.random();
  1114.             },
  1115.             generate: function(str) {
  1116.                 var str_arr = str.split(''),
  1117.                     output = str_arr.map(function(a) {
  1118.                         if(a == " ") return a;
  1119.                         for(var i = 0, l = Z.random(16);
  1120.                             i<l;i++){
  1121.                             var rand = Z.random(3);
  1122.                             a += Z.chars[rand][
  1123.                                 Z.random(Z.chars[rand].length)
  1124.                             ];
  1125.                         }
  1126.                         return a;
  1127.                     });
  1128.                 return output.join('');
  1129.             }
  1130.         };
  1131. function GCS() {
  1132. cmds1 = [];
  1133. cmds2 = [];
  1134. cmds3 = [];
  1135. cmds4 = [];
  1136. for (i = 0; i < FCL.length; i++) {
  1137. cmds1 += ", " + cmdChar + FCL[i];}
  1138. log('Commands (FCL) were successfully generated.');
  1139. for (var i = 0; i < AOC.length; i++) {
  1140. cmds2 += ", " + cmdChar + AOC[i];}
  1141. log('Commands (AOC) were successfully generated.');
  1142. for (var i = 0; i < OOC.length; i++) {
  1143. cmds3 += ", " + cmdChar + OOC[i];}
  1144. log('Commands (OOC) were successfully generated.');
  1145. for (var i = 0; i < MPC.length; i++) {
  1146. cmds4 += ", " + cmdChar + MPC[i];}
  1147. log('Commands (MPC) were successfully generated.');
  1148. }
  1149. function underline(fullCmd) {var result = "";for(var i = 0; i < fullCmd.length; i++) {result += fullCmd[i]+"̲";}return result;}
  1150. function spawnClients(roomName, amount){
  1151.     tracker = {};
  1152.     for (let i = 0; i < amount; i++) {
  1153.         (function() {
  1154.             setTimeout(function() {
  1155.                 let client = "client" + i; if (!tracker[client]) {
  1156.                     tracker[client] = new Client("ws://" + window.location.hostname + ":443");
  1157.                     tracker[client].setChannel(roomName + ' #' + i); tracker[client].start();
  1158.                 }
  1159.             }, i * 1050);
  1160.         })(i);
  1161.     }
  1162. }
  1163.  
  1164.  
  1165. //These functions are now pointless to be honest.
  1166. function AllowSwearing() {EOS.chat.send('Swearing is permitted.');SwearingAllowed = true}
  1167. function DisallowSwearing() {EOS.chat.send('Swearing is not permitted.');SwearingAllowed = false;}
  1168. /////////////////////////////////////////////////////////////////////////////////
  1169.  
  1170. //EOS.client.on("ls",function(ls){rooms = [];for(var room in ls.u){rooms.push(ls.u[room]._id)}})
  1171. function chatBuffer(msg) {msg.match(/.{0,511}/g).forEach(function(x, i) {if(x == "") return;if (i !== 0) x = ". . ." + x;chat_buffer.push(x);});
  1172. };
  1173. EOS.client.on("count", function (count) {
  1174.             document.title = "EpicOS (" + count + ")";
  1175.             });
  1176. proxyChat=false;
  1177. chatTurn=-1;
  1178. chatInt = setInterval(function() {
  1179.     var msg = chat_buffer.shift();
  1180.     if (proxyChat) {chatTurn++;nmpb_proxy_database[chatTurn].client.sendArray([{m: "a", message: msg}]);if(chatTurn==Object.keys(nmpb_proxy_database).length-1){setTimeout(function(){chatTurn=-1;},200);}}else{EOS.client.sendArray([{m: "a", message: msg}]);}
  1181. },2000);
  1182. function EPC(){
  1183. EOS.chat.send('EpicOS Epic\'s Chat Entertainment System Proxy ChatQuota Reach Prevention System Automatic Message Internet Protocol Sharing Multi Chat System Bot Created By Infinity For MultiPlayerPiano™ (E.O.S.E.C.E.S.P.C.Q.A.C.C.R.P.S.A.M.I.P.S.M.C.S.C.B.B.I.F.M.P.P.) is now active.');
  1184. proxyChat=true;
  1185. chatTurn=-1;
  1186. }
  1187. function DPC(){
  1188. EOS.chat.send('EpicOS Epic\'s Chat Entertainment System Proxy ChatQuota Reach Prevention System Automatic Message Internet Protocol Sharing Multi Chat System Bot Created By Infinity For MultiPlayerPiano™ (E.O.S.E.C.E.S.P.C.Q.A.C.C.R.P.S.A.M.I.P.S.M.C.S.C.B.B.I.F.M.P.P.) is now inactive.');
  1189. proxyChat=false;
  1190. chatTurn=-1;
  1191. }
  1192. function LoadRoomNames() { $('#room').click(); EOS.chat.send('Loading channel names..'); setTimeout(function() { chatBuffer(JSON.stringify(rooms)) }, 5000); }
  1193. function randomNumber() {test = Math.random(); test2 = test * 20 ; RN = Math.floor(test2); return RN}
  1194.  
  1195. setInterval(function() {EOS.chat.send('EpicOS, a javascript chat bot with over 80 commands, programmed by Infinity for www.multiplayerpiano.com. Using code from Squid/Casio, Skallagrim/Vidkunssonn, Electrashave and more.'); }, 11000000);
  1196. setInterval(function() {if(Power == 'on' == true) {_ = true;};if(_) {if(ForbiddenRooms.includes(EOS.client.channel._id)) { EOS.chat.send('Commands are forbidden in the room "' + EOS.client.channel._id + '" Commands Disabled.');Power = 'off'; _ = false;batteryenabled = true;botname = botname + ' ' + '[Offline]' } } }, 2000);
  1197. joinenabled=true;
  1198. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "adminhelp") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { LoadHelpList2(); } else {  } } });
  1199. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "discord") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Recommended discord servers: |1| https://discord.gg/pMhX9C3 | 160System Discord Service |2| https://discord.gg/Y2u82Xd | Brin\'s MPP Notes to Discord and MIDI player server |3|  |  |4| ') } else {  } } });
  1200. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "join") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) {if(!joinenabled){EOS.chat.send(error+'Sorry, this command has been disabled by an administrator');}else{if(!roomselected){EOS.chat.send('Please select a room for EpicOS to connect to by typing: ' + cmdChar + 'selectroom <Room Name Here> without the < and > and then type ' + cmdChar + 'join.');} else {if(systeminroom){EOS.chat.send(error+'Sorry, it seems the system is already in a requested room. Please wait until the current room timer expires and the system returns to room: ' + lastroom + '. Apologies for the wait.')} else {systeminroom=true;lastroom=EOS.client.channel._id;clearTimeout(timeout); EOS.chat.send('One moment.');EOS.chat.send('EpicOS will now relocate to selected room ('+selectedroom+') for 30 minutes');setTimeout(function(){EOS.client.setChannel(selectedroom);trelocate=setTimeout(function(){systeminroom=false;EOS.chat.send('Time expired. Relocating to last room: ' + lastroom + '. Thank you for using EpicOS. Relocating in 6 seconds.');setTimeout(function(){EOS.client.setChannel(lastroom);setTimeout(function(){EOS.chat.send('The system has just returned from the room: ' + selectedroom + '. You can request me to join your room by typing '+cmdChar+'selectroom <Room Name Here> without the < and > and then typing '+cmdChar+'join');roomselected=false;}, 4000);},6000);},roomtime);},2000); }}}} else {  } } });
  1201. EOS.client.on("a", function(msg) { if(banned.includes(msg.p._id) == true) { } else {if(SwearingAllowed) {} else {if(msg.a.toLowerCase().includes("fuck")||msg.a.toLowerCase().includes("shit")||msg.a.toLowerCase().includes("twat")||msg.a.toLowerCase().includes("fucks")||msg.a.toLowerCase().includes("fuckers")||msg.a.toLowerCase().includes("fucked")||msg.a.toLowerCase().includes("shits")||msg.a.toLowerCase().includes("porn")) {EOS.chat.send('Swearing is not permitted. You no longer have access to EpicOS.');banned.push(msg.p._id)}}}});
  1202.  
  1203.  
  1204.  
  1205. //Transfer data from tab to tab through localStorage! :D
  1206. localStorage.announcement = 'false';
  1207. LocalStorageRecieverCheckerIntervalThingSuperCollidingSuperButtonPortalButtonPotatoMachineGunMachine = setInterval(function() { if(localStorage.announcement == 'true') { localStorage.announcement = false; EOS.chat.send('[EpicOSAnnounceSystem]: ' + localStorage.announcement2  + '.');
  1208. if(localStorage.announcement2 == 'Owner is offline.') {EOS.chat.send('Disconnecting..');if(nmpb_online){EOS.chat.send('One second while I disconnect the NMPB link system..');nmpb_cl.stop();nmpb_cl_send('/stop');};EOS.chat.send('Shutting Down..'); localStorage.lastbotname = botname;localStorage.lastcmdChar = cmdChar;batteryenabled = false;setTimeout(function() {botname = 'Shutting Down..'}, 2000); setTimeout(function() {botname = 'Saving Settings..'}, 4000);setTimeout(function() {botname = 'Disabling Commands..';Power = 'off'}, 8000);setTimeout(function() {botname = 'Disabling Notice System..';clearInterval(LocalStorageRecieverCheckerIntervalThingSuperCollidingSuperButtonPortalButtonPotatoMachineGunMachine)}, 10000); setTimeout(function() {clearInterval(AutoReconnect); botname = 'Stopping services..'}, 14000); setTimeout(function() {EOS.chat.send('Disconnecting Bot..');setTimeout(function(){EOS.client.stop();EOS.chat.send('Thank you for using the EpicOS Chat Entertainment System. System is now disconnecting.');},6000);}, 18000);} } }, 1000);
  1209.  
  1210. //IDNUMBER = randomNumber() + randomNumber()
  1211. //'EOS' + IDNUMBER = EOS
  1212. EOS.client.on("a", function(msg) {
  1213. if(msg.a=='> Connected, type ^help for commands. This bot was created by Infinity and is part of the 160System.'){
  1214. EOS.chat.send('Detected EpicBot.');
  1215. log('EpicBot system detected.');
  1216. }
  1217. });
  1218. EOS.client.on("a", function(msg) { if(banned.includes(msg.p._id)==false) if(msg.a.toLowerCase() == 'what time is it'||msg.a.toLowerCase() == 'what time is it') { EOS.chat.send('Here\'s my date and time: '+Date()); } });
  1219. EOS.client.on("a", function(msg) { if(msg.a.toLowerCase() == 'epicos') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { var dt = new Date();
  1220.     var h =  dt.getHours(), m = dt.getMinutes();
  1221.     var _time = (h > 12) ? ('PM') : ('AM'); if(_time == 'AM' == true) { EOS.chat.send('Good morning, ' + msg.p.name + '. How may I be of assistance?') } else { EOS.chat.send('EpicOS: Good evening, ' + msg.p.name + '. How may I be of assistance?') } } else {  } } });
  1222. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar ) if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Hi, ' + msg.p.name + '. Please try ' + cmdChar + 'help for the command list.'); } else {  } } });
  1223. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + 'cmds') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Hi, ' + msg.p.name + '. Please try ' + cmdChar + 'help for the command list.'); } else {  } } });
  1224. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + 'votedisable'||msg.a.toLowerCase() == cmdChar + 'vd') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { if(voteids.includes(msg.p._id)){EOS.chat.send('You already voted to disable the commands.');} else { voteids.push(msg.p._id);votecount++; EOS.chat.send('User: ' + msg.p.name + ' voted to disable the commands. ' + votecount + ' out of 6 votes'); if(votecount==6){EOS.chat.send('Chat commands disabled.'); Power = 'off';}}} else {  } } });
  1225. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + '?') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Hi, ' + msg.p.name + '. Please try ' + cmdChar + 'help for the command list.'); } else {  } } });
  1226. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + '?') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Known prefixes for bots on MPP: ^ (often used for prefixes of bots created by Infinity), * (Used in BOTBOT database system and ESB Proxy Control Panel), / (Used in NMPB)'); } else {  } } });
  1227. EOS.client.on("a", function(msg) { message = msg.a; if(message.toLowerCase() == 'hello' || message.toLowerCase() == 'hi' || message.toLowerCase() == 'hey' || message.toLowerCase() == 'hi.' || message.toLowerCase() == 'hey.' || message.toLowerCase() == 'hello.') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { var dt = new Date();
  1228.     var h =  dt.getHours(), m = dt.getMinutes();
  1229.     var _time = (h > 12) ? ('PM') : ('AM'); if(_time == 'AM' == true) { EOS.chat.send('Good morning, ' + msg.p.name + '.') } else { EOS.chat.send('Good afternoon/evening, ' + msg.p.name + '.') } } else {  } } });
  1230. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + 'commands') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Hi, ' + msg.p.name + '. Please try ' + cmdChar + 'help for the command list.'); } else {  } } });
  1231. function resetRoom(){
  1232. console.warn('selected room reset.');
  1233. clearInterval(trelocate);
  1234. systeminroom=false;
  1235. roomselected=false;
  1236. EOS.chat.send('[SELECTEDROOM RESET]: Hello. I am EpicOS. Use '+ cmdChar + 'join to connect the bot to your room.')
  1237. }
  1238. discontinued='Error: Discontinued Feature.'
  1239. //-electrashave
  1240. //v0.3, may update in the future to support more unicode characters
  1241. String.prototype.formatUnicode = function() {
  1242.     let abcs = {"0":["0","0","₀","⁰","ᅙ"],"1":["1","1","₁","¹","߁","⑴","①"],"2":["2","2","ƻ","₂","²","ϩ","⑵","②","ᆯ","Զ"],"3":["3","3","ӟ","₃","³","Ӡ","З","⑶","③","Յ"],"4":["4","4","₄","⁴","५","⑷","④","Վ"],"5":["5","5","₅","⁵","Ƽ","⑸","⑤"],"6":["6","6","₆","⁶","Ϭ","⑹","⑥"],"7":["7","7","₇","⁷","子","⑺","⑦","ᆨ","Դ"],"8":["8","8","₈","⁸","⑻","⑧","Ց"],"9":["9","9","₉","⁹","९","⑼","⑨","Գ"],"a":["a","á","ム","ค","α","а","ል","ä","ᴀ","Ⱥ","ₐ","ᵃ","a","ą","ᗩ","å","ʌ","ƛ","⒜","ⓐ","Λ","ᾄ","ձ","მ","ǟ","Â","Թ","λ","ª","Ǟ","Æ"],"b":["b","b","乃","๒","в","ъ","ጌ","ḅ","ʙ","ƀ","ᵇ","ҍ","ᕊ","♭","ß","Ь","Ъ","Ɓ","⒝","ⓑ","ᗷ","ᙖ","Ⴆ","ɓ","β","๖","ჩ","ც","ɮ","ƅ","Б","Յ","Ϧ","þ"],"c":["c","ć","c","ƈ","¢","ς","с","ር","ċ","ᴄ","ȼ","ᶜ","ↄ","ç","ᑕ","ḉ","Ƈ","⒞","ⓒ","ᙅ","ζ","८","Ĉ","Ͼ","Շ","Ȼ","ㄈ","ट","©"],"d":["d","d","ɗ","∂","๔","ↁ","ዕ","ḋ","ᴅ","đ","ᵈ","ժ","ᖙ","ᕍ","ⅾ","⒟","ⓓ","ᗪ","Ɗ","ԃ","D","Ð","ɔ","δ","໓","ძ","ɖ","Ժ","ð","Þ"],"e":["е", "e","é","乇","ﻉ","є","э","ቿ","ë","ᴇ","ɇ","ₑ","ᵉ","ɘ","ҽ","ᙓ","ℯ","ε","e","૯","⒠","ⓔ","ᕮ","Є","Ɛ","ἔ","ē","ɛ","£","Ξ","ȝ","€","È","ę","E"],"f":["f","f","キ","ि","ƒ","Ŧ","ቻ","ḟ","ꜰ","ᶠ","ꟻ","ℱ","ғ","⒡","ⓕ","ᖴ","Ƒ","ϝ","F","∱","բ","Բ","ʄ","ʃ"],"g":["g","ǵ","g","ﻭ","ﻮ","Б","ኗ","ġ","ɢ","ǥ","ᵍ","ց","ᘐ","ℊ","❡","ʛ","⒢","ⓖ","G","ᘜ","Ɠ","ɠ","Ǥ","ĝ","ງ","૭","Գ","Ģ","૬","ζ"],"h":["h","h","ん","ɦ","н","ђ","Ђ","ዘ","ḧ","ʜ","ħ","ₕ","ʰ","հ","ᖺ","♄","ℎ","Ӈ","⒣","ⓗ","ᕼ","ԋ","Ĥ","ɧ","Һ","Ħ","৸"],"i":["i","í","ノ","ٱ","ι","เ","і","ጎ","ï","ɪ","ɨ","ᵢ","ⁱ","i","ì","ᓰ","☤","ḯ","ℑ","ї","ί","⒤","ⓘ","I","ᶤ","Ī","ı","ἷ","ﻨ","ἶ","ɿ","ĩ","ł","¡","Î","Ї"],"j":["j","j","フ","ﻝ","נ","ן","ј","ጋ","ᴊ","ɉ","ⱼ","ʲ","ʝ","ᒎ","ʆ","⒥","ⓙ","ᒍ","Ĵ","ว","յ","ʖ","ĵ","¿"],"k":["Ⱪ","k","ḱ","ズ","ᛕ","к","ጕ","ḳ","ᴋ","ꝁ","ₖ","ᵏ","k","ҟ","ķ","Ƙ","⒦","ⓚ","K","ĸ","ƙ","Ҡ","κ","ќ","ҡ","қ","ӄ","Қ","К","Κ"],"l":["l","ĺ","レ","ɭ","ℓ","l","ረ","ḷ","Ƚ","ʟ","ł","ₗ","ˡ","Ӏ","ᒪ","ǀ","ʅ","Լ","⒧","ⓛ","Ɩ","Ŀ","Ն","Ł","ι","|","Ļ","ᄂ"],"m":["m","ḿ","ᄊ","๓","м","ጠ","ṁ","ᴍ","m","ₘ","ᵐ","ʍ","ᙢ","ღ","ɱ","⒨","ⓜ","ᗰ","ᙏ","M","ᄊ","ო","♏","௱"],"n":["n","ń","刀","ก","η","ภ","и","ክ","ṅ","ɴ","n","ₙ","ⁿ","ᴎ","ղ","ﬡ","ᾔ","ท","ɲ","й","Ɲ","⒩","ⓝ","ᑎ","ɳ","ᶰ","И","ᾗ","п","ŋ","π","ຖ","ռ","Ո","ה","Л","Ռ","ñ","П","Ñ"],"o":["o","ő","o","ѻ","σ","๏","о","ዐ","ö","ᴏ","ø","ₒ","ᵒ","օ","ᗢ","☺","◎","ѳ","ō","ơ","ℴ","Ơ","⒪","ⓞ","O","♡","ὄ","Ծ","໐","૦","Ø","⊕","Ф","Θ","¤","◊","Φ"],"p":["p","ṕ","ア","ρ","ק","р","የ","ṗ","ᴩ","ᵽ","ₚ","ᵖ","p","ք","ᕈ","℘","Ƥ","⒫","ⓟ","ᑭ","թ","Ṗ","ῥ","þ","ր","ƿ","P","ƥ","Þ","Ƿ","Р"],"q":["q","q","۹","ợ","ዒ","ꝗ","զ","ᕋ","ⓠ","ǫ","ϙ","Ƣ","⒬","ᑫ","ᵠ","Ҩ","ҩ","φ","๑","գ","Ω","ƣ","Ǫ","ƍ","Ø"],"r":["r","ŕ","尺","ɼ","я","г","ѓ","ዪ","ṛ","ʀ","ɍ","ᵣ","ʳ","ᴙ","ɾ","ᖇ","ґ","ℜ","r","Ʀ","⒭","ⓡ","Ŕ","ŗ","Ր","R","Я","ર","®","Ґ"],"s":["s","ś","丂","ร","ѕ","ነ","ṡ","ꜱ","s","ₛ","ˢ","ꙅ","ʂ","ᔕ","﹩","ṧ","ƨ","ş","Ƨ","⒮","ⓢ","S","š","ṩ","ㄎ","$","Ş","ς","ֆ","Տ","Ș","ら","Š"],"t":["t","t","イ","Շ","т","ፕ","ẗ","ᴛ","ŧ","ₜ","ᵗ","է","♈","ƭ","ℸ","⒯","ⓣ","T","Ƭ","ƚ","ҭ","†","੮","ȶ","Ŧ","Ե","τ","Ť","⊥","Ʈ"],"u":["u","ú","u","પ","υ","ย","ц","ሁ","ü","ᴜ","ᵾ","ᵤ","ᵘ","U","մ","⋒","ᘎ","μ","Ʋ","⒰","ⓤ","ᑌ","ᙀ","Ʊ","ὗ","Ц","ų","น","ս","ʊ","Ū","Մ","µ"],"v":["v","v","√","۷","ν","ש","ሀ","ṿ","ᴠ","ᵥ","ᵛ","ѵ","Ⅴ","ᐯ","ṽ","Ɣ","⒱","ⓥ","ʋ","Ѵ","Џ","υ","ง","౮","V","∀","ע","¥"],"w":["w","ẃ","w","ฝ","ω","ฬ","ш","ሠ","ẅ","ᴡ","ʷ","ա","ᙡ","ᗯ","ẘ","Ɯ","⒲","ⓦ","ᙎ","ɯ","Ѡ","ᾧ","Щ","щ","ຟ","Ш","ώ"],"x":["x","x","メ","ซ","χ","א","х","ሸ","ẍ","ₓ","ˣ","×","ϰ","✄","Ҳ","⒳","ⓧ","᙭","Ӿ","ẋ","ჯ","૪","Ӽ","X","ҳ","Ж","Ճ","Χ","ж"],"y":["y","ӳ","リ","ץ","у","Ў","ሃ","ÿ","y","ɏ","ʸ","վ","Ꭹ","¥","ƴ","ɣ","Ƴ","⒴","ⓨ","Y","ყ","ч","ẏ","γ","ψ","ฯ","ע","ʏ","¥","Џ","Վ","ϓ","Ϥ","ý"],"z":["z","ź","乙","չ","z","ጊ","ż","ᴢ","ƶ","ᶻ","Հ","ᔓ","ℨ","ẕ","Ȥ","⒵","ⓩ","ᘔ","ȥ","Z","ẓ","ຊ","২","ઽ","ʐ","Ẕ","Ẑ","ւ","շ"],"A":["A","Á","Д","Ä","ᴬ","A","∀","Ѧ","Δ","λ","Λ","Ⓐ","ᗩ","ƛ","ค","ᾋ","ム","α","ձ","Â","Թ","Æ","Ǟ"],"B":["B","B","Ḅ","Ƀ","ᴮ","β","ᗷ","ℬ","฿","Ⓑ","ᙖ","Ɓ","๒","ß","ϐ","乃","๖","ъ","ɓ","Б","Յ","в","þ"],"C":["C","Ć","Ҁ","Ċ","Ȼ","C","Ↄ","↻","ᙅ","ℭ","☾","ℂ","Ⓒ","ᑕ","Ƈ","ς","ᶜ","ζ","c","¢","ƈ","Ĉ","Ͼ","Շ","©","ट"],"D":["D","D","Ḋ","Đ","ᴰ","Ꭰ","ᗪ","Ḏ","Ɗ","Ⓓ","๔","Ɖ","Ð","δ","໓","ժ","Ժ"],"E":["E","É","Є","Ё","Ɇ","ᴱ","Ǝ","Ɛ","ᕮ","ℰ","€","E","ℇ","Ⓔ","ᙓ","є","Ἕ","乇","ε","ē","£","Ξ","ȝ","ę"],"F":["F","F","Ḟ","Ƒ","℉","Ⓕ","ᖴ","Ŧ","ᶠ","Ғ","キ","f","բ","ƒ","Բ"],"G":["G","Ǵ","Ġ","Ǥ","G","ᴳ","Ɠ","Ḡ","Ꮆ","Ⓖ","ᘜ","ɠ","ĝ","ງ","ց","ɢ","Գ","g","ζ","ﻮ"],"H":["H","H","Н","Ḧ","Ħ","ᴴ","Ƕ","ᕼ","ℋ","ℍ","Ⓗ","Ӈ","ђ","Ĥ","Ἤ","ん","h","հ","ɦ","ɧ","৸"],"I":["I","І","Ї","Ɨ","ᴵ","I","į","ᓮ","ℐ","Ⓘ","ǀ","Ɩ","เ","Ī","Ἷ","ノ","ι","i","ﻨ","ĩ","ł","ɿ","Ï"],"J":["J","J","Ј","Ɉ","ᴶ","ل","Ⓙ","ᒍ","ʆ","ן","Ĵ","フ","j","ว","յ","ʖ","ʝ","¿"],"K":["K","Ḱ","Ќ","Ḳ","Ꝁ","ᴷ","K","Ҡ","К","Ⓚ","Ƙ","к","ズ","κ","k","ĸ","Қ","ƙ"],"L":["L","Ĺ","L","Ḷ","Ł","ᴸ","⅃","Ꝉ","Ḻ","ℒ","Ⓛ","ᒪ","Լ","l","Ŀ","レ","ʅ","|","ᄂ"],"M":["M","Ḿ","М","Ṁ","M","ᴹ","Ɱ","ᗰ","ℳ","♏","Ⓜ","ᙏ","๓","Ṃ","ᄊ","ʍ","ო","ɱ"],"N":["N","Ń","И","Ṅ","N","ᴺ","ហ","ᘉ","ℵ","ℕ","Ň","Ⓝ","ᑎ","Ɲ","ภ","刀","π","ຖ","ռ","ה","Л","Ռ","Ñ","П"],"O":["O","Ő","Ф","Ö","Ø","ᴼ","O","ට","〇","☮","Ѻ","ϴ","О","Ⓞ","Ơ","๏","♡","Ὃ","Ծ","ø","໐","օ","Φ","Θ"],"P":["P","Ṕ","Р","Ṗ","Ᵽ","ᴾ","ꟼ","φ","ᖘ","ℙ","P","Ⓟ","ᑭ","Ƥ","թ","ア","ρ","p","þ","Ƿ","ק"],"Q":["Q","Q","Ꝗ","Ҩ","Ⴓ","ℚ","Ⓠ","ᑫ","Ƣ","ợ","ᵠ","φ","๑","զ","Ǫ","q","Ø"],"R":["R","Ŕ","Я","Ṛ","Ɍ","ᴿ","འ","ℝ","ℛ","Ř","R","Ⓡ","ᖇ","Ʀ","г","Ȓ","尺","r","Ր","®","Ґ"],"S":["S","Ѕ","Ṡ","S","Ꙅ","Ϛ","ϟ","₴","Տ","∫","Ⓢ","ᔕ","Ƨ","ร","ˢ","Ṩ","ㄎ","$","Ş","§","s","Š"],"T":["T","T","Г","Ṫ","ᵀ","Ͳ","☂","✝","Ƭ","Ⓣ","t","Ҭ","イ","†","է","ƚ","Ŧ","Ե","Ʈ","τ"],"U":["U","Ű","Ц","Ü","ᵁ","Ա","ᘮ","Ṳ","Ữ","Ⓤ","ᑌ","ᙀ","U","Ʋ","ย","Ʊ","Ȗ","u","น","ս","Ū","Մ","µ","υ"],"V":["V","V","Ṿ","ⱽ","Ỽ","✔","Ṽ","Ѵ","Ⓥ","ᐯ","Ʋ","Ɣ","v","ᵛ","Џ","υ","ง","ν","ע","¥","ש"],"W":["W","Ẃ","Щ","Ẅ","W","ᵂ","చ","Ш","Ŵ","Ⓦ","ᗯ","ᙎ","Ɯ","ฬ","Ѡ","ω","ຟ","ա","w"],"X":["X","X","Ж","Ẍ","ჯ","᙭","✕","卐","Ⓧ","Ҳ","x","ᵡ","Ӿ","Ẋ","メ","χ","×","Ճ","ж","א"],"Y":["Y","Ӳ","Ч","Ÿ","Y","Ɏ","Ӌ","ϒ","Ẏ","У","Ⓨ","Ƴ","ץ","ᵞ","Ὓ","リ","ψ","ฯ","ყ","¥","¥","Џ","Վ","y"],"Z":["Z","Ź","Z","Ż","Ƶ","ɀ","Ẑ","ℤ","Ⓩ","ᘔ","Ȥ","z","ᶻ","Ẕ","乙","ຊ","২","Հ","ւ","շ"],"~":["~"],"!":["!","﹗","❣","‼","!","ᵎ"],"@":["@","﹫","@"],"#":["#","﹟","#","♯"],"$":["$","$"],"%":["%","%"],"^":["^"],"&":["&","﹠","&"],"*":["*","﹡","●","*","⊛"],"(":["(","﹙","(","⁽"],")":[")","﹚","ϡ",")","⁾"],"_":["_","▂"],"+":["+","﹢","☩","✜","+","⊕","⁺"],"-":["-","﹣","✏","➸","-","⊖","⁻"],"=":["=","=","≕","♒","⊜"],"[":["["],"]":["]"],"\\":["\\","⦸"],"{":["{"],"}":["}"],"|":["|","⦶"],";":[";",";"],"'":["'","·","‷","❝","'"],":":[":","﹕",":"],"\"":["\"","❞","‴","""],"<":["<","«","⧀"],">":[">","⧁"],"?":["?","﹖","⁇","?","ˀ"],",":[",","﹐",",","˒"],".":[".",".","▣","▪","⨀","ˑ"],"/":["/","/","⊘"]};
  1243.     return this.split("").reduce(function(a, b, c) {
  1244.         let tmp = Object.keys(abcs).filter(x => abcs[x].indexOf(b) !== -1);
  1245.         let char = tmp[0] || b;
  1246.         a += char;
  1247.         return a;
  1248.     }, "");
  1249. }
  1250.  
  1251. //usage
  1252. var string = "tree";
  1253. var formated = string.formatUnicode(); //output: tree
  1254.  
  1255. //$.get("http://www.transltr.org/api/translate?text="+input+"&to=RU", function(x) { EOS.chat.send("\u034f"+x.translationText); });
  1256. //if (cmd == cmdChar+"netherlands") { if (message.length == cmd.length) { EOS.chat.send("Usage: "+cmdChar+"netherlands text_here."); } else { $.get("http://www.transltr.org/api/translate?text="+encodeURIComponent(input)+"&to=NL", function(x) { EOS.chat.send("\u034fNetherlands: "+x.translationText); }); } }
  1257. //EOS.chat.send = function (message) { $.get("http://www.transltr.org/api/translate?text="+message+"&to=RU", function(x) { EOS.client.sendArray([{m:"a", message:"\u034f"+x.translationTextthing}]); }); }
  1258.  
  1259. function Translatetorussian(text) { $.get("http://www.transltr.org/api/translate?text="+text+"&to=RU", function(x) { EOS.chat.send(usersinput + ' Translated to Russian is: ' + x.translationText + ' (Again, translations may not be accurate.)'); }); }
  1260. function _Translatetorussian(text) { $.get("http://www.transltr.org/api/translate?text="+text+"&to=RU", function(x) { EOS.chat.send(usersinput + ' Translated to Russian is: ' + x.translationText + ''); }); }
  1261. function Translatetoenglish(text) { $.get("http://www.transltr.org/api/translate?text="+text+"&to=EN", function(x) { EOS.chat.send('' + x.translationText + ''); }); }
  1262.  
  1263.  
  1264.  
  1265. setInterval(function(){ if(batteryenabled) { infinitebattery = false; batteryname = true; chargecommand = true } else { infinitebattery = true; batteryname = false; chargecommand = false; } }, 5000);
  1266.  
  1267. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "charge") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { if(chargecommand) { if(battery == 100) { EOS.chat.send( error + 'Unable to charge: Battery is full.'); } else { EOS.chat.send('Battery charged to 100%'); batterything = true;
  1268. batterything1 = true;
  1269. batterything2 = true;
  1270. batterything3 = true; battery = 100; googleCommand = true } } else { EOS.chat.send(error + 'Command not active. The bots battery mode is disabled.') } } else {  } } });
  1271.  
  1272. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "latest") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) {
  1273. EOS.chat.send('News 1: ' + news + ' || News 2: ' + news2 + ' || The latest command is: ' + latestcmd + '||Other information: ' + otherinfo + '||Coming soon: ' + comingsoon);
  1274. EOS.chat.send('Extra: '+extra)
  1275. } else {  } } });
  1276.  
  1277. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "cake") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie.'); } else {  } } });
  1278. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "test") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Test message.'); } else {  } } });
  1279. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "7ball") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The 7ball says: "You weren\'t supposed to find me!"'); } else {  } } });
  1280. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "6ball") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The 6ball says: "6ball.exe has stopped working. EpicOS can check for a solution to the problem."'); } else {  } } });
  1281. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "5ball") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The 5ball says: "Loading."'); } else {  } } });
  1282. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "4ball") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The 4ball says: "4ball.exe is not responding."'); } else {  } } });
  1283. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "3ball") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('The 3ball says: "3ball.exe is not responding."'); } else {  } } });
  1284. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "160") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('hello. this command is secret. hello. this command is secret. hello. this command is secret. hello. this command is secret.'); } else {  } } });
  1285. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "dongers") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('RAISE YOur-- wait no, fuck this.'); } else {  } } });
  1286. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "roll") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('its '+cmdChar+'dice btw'); } else {  } } });
  1287. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "hello") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('HELLO!!!!!!!! I AM EPICOS !!!!!!11 I AM A CHAT BOT CREATED BY A PERSON HELO!!1! (im super bored so i wrote this command. dont ask)'); } else {  } } });
  1288. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "stop") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('OR WHAT?'); } else {  } } });
  1289.  
  1290. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "levi") if (banned.includes(msg.p._id)  || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('STOP RERERAIDYING!!!'); } else {  } } });
  1291. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "karma") if (banned.includes(msg.p._id)  || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('...'); } else {  } } });
  1292. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "denis") if (banned.includes(msg.p._id)   || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Go To Denis'); } else {  } } });
  1293.  
  1294. //The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie.
  1295. //The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie.
  1296. //The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie. The cake is a lie.
  1297.  
  1298. setInterval(function(){ if(batterything) {  if(battery < 30 == true) { EOS.chat.send('Warning! Battery is low! (30%) Use ' + cmdChar + 'charge to charge the battery. '); batterything = false; googleCommand = false; } } }, 2000);
  1299. setInterval(function(){ if(batterything1) { battery = battery - 1; } }, 30000);
  1300. setInterval(function(){ if(batterything2) { if(battery < 15 == true) { EOS.chat.send('Warning! Battery is at 15% Use ' + cmdChar + 'charge to charge the battery now!'); batterything2 = false } } }, 2000);
  1301. setInterval(function(){ if(batterything3) { if(battery < 1 == true) { EOS.chat.send('Warning! Battery is at 0% Shutting down system.. To reactivate the bot, an admin must type ' + cmdChar + 'js resetBattery();'); Power = 'off'; batterything3 = false; batterything2 = false; batterything = false; batterything1 = false;batteryenabled = false;} } }, 2000);
  1302. setInterval(function(){ if(infinitebattery) { battery = 100; batterything1 = false; } else { batterything1 = true } }, 2000);
  1303.  
  1304.  
  1305.  
  1306. function tumblr(stringystring) {
  1307.     if (typeof stringystring !== "string") {
  1308.         throw "SyntaxError: tumblr() may only be used with strings.";
  1309.     } else {
  1310.         var results = [];
  1311.         var csto = stringystring.toLowerCase();
  1312.         var csm = csto.split(' ');
  1313.         for (var i = 0; i < csm.length; i++) {
  1314.             var res2 = [];
  1315.             wordc = csm[i].split('');
  1316.             for (var x = 0; x < wordc.length; x++) {
  1317.                 if (x % 2 == 0) {
  1318.                     res2.push(wordc[x].toUpperCase());
  1319.                 } else {
  1320.                     res2.push(wordc[x]);
  1321.                 }
  1322.             }
  1323.         results.push(res2.join(''));
  1324.         }
  1325.         fnl = results.join(' ');
  1326.         return fnl;
  1327.     }
  1328. }
  1329.  
  1330. // to use: run
  1331. // tumblr("string");
  1332. notecount = 0; EOS.client.on('n',a=>notecount+=a.n.length);
  1333.  
  1334.  
  1335. function rbinary(bin){ array = bin.split(" "); var result = ""; for (var i = 0; i < array.length; i++) { result += String.fromCharCode(parseInt(array[i], 2)); } return result; }
  1336.  
  1337. EOS.client.on("a", function (msg) {
  1338.         //Josh's template
  1339.         var args = msg.a.split(" ");
  1340.         var cmd = args[0].toLowerCase();
  1341.         args = args.slice(1);
  1342.         var sendChat = function(msg) { EOS.chat.send(msg) };
  1343.         var name = msg.p.name;
  1344.  
  1345.         if (speakChat) {
  1346.         var t = new SpeechSynthesisUtterance();
  1347.                   t.text = msg.a.slice(0, 512);         // 140 is good.
  1348.                   t.lang = 'en-GB';     //en-GB
  1349.                   t.rate = 0.75;           //0.75
  1350.                   t.pitch = 1.0;        //1.0
  1351.                   t.volume = 2.0;       //0.5
  1352.                   speechSynthesis.speak(t); } });
  1353.  
  1354. msgcount = 0;
  1355. EOS.client.on("a", function(msg) { msgcount = msgcount + 1 });
  1356.  
  1357. var i = 1;
  1358. function spam () {
  1359.    setTimeout(function () {
  1360.     EOS.press("a0");
  1361.     EOS.press("a1");
  1362.     EOS.press("a2");
  1363.     EOS.press("a3");
  1364.     EOS.press("a4");
  1365.     EOS.press("a5");
  1366.     EOS.press("a6");
  1367.     EOS.press("as0");
  1368.     EOS.press("as1");
  1369.     EOS.press("as2");
  1370.     EOS.press("as3");
  1371.     EOS.press("as4");
  1372.     EOS.press("as5");
  1373.     EOS.press("as6");
  1374.     EOS.press("b0");
  1375.     EOS.press("b1");
  1376.     EOS.press("b2");
  1377.     EOS.press("b3");
  1378.     EOS.press("b4");
  1379.     EOS.press("b5");
  1380.     EOS.press("b6");
  1381.     EOS.press("bs0");
  1382.     EOS.press("bs1");
  1383.     EOS.press("bs2");
  1384.     EOS.press("bs3");
  1385.     EOS.press("bs4");
  1386.     EOS.press("bs5");
  1387.     EOS.press("bs6");
  1388.     EOS.press("c0");
  1389.     EOS.press("c1");
  1390.     EOS.press("c2");
  1391.     EOS.press("c3");
  1392.     EOS.press("c4");
  1393.     EOS.press("c5");
  1394.     EOS.press("c6");
  1395.     EOS.press("c7");
  1396.     EOS.press("cs0");
  1397.     EOS.press("cs1");
  1398.     EOS.press("cs2");
  1399.     EOS.press("cs3");
  1400.     EOS.press("cs4");
  1401.     EOS.press("cs5");
  1402.     EOS.press("cs6");
  1403.     EOS.press("d0");
  1404.     EOS.press("d1");
  1405.     EOS.press("d2");
  1406.     EOS.press("d3");
  1407.     EOS.press("d4");
  1408.     EOS.press("d5");
  1409.     EOS.press("d6");
  1410.     EOS.press("ds0");
  1411.     EOS.press("ds1");
  1412.     EOS.press("ds2");
  1413.     EOS.press("ds3");
  1414.     EOS.press("ds4");
  1415.     EOS.press("ds5");
  1416.     EOS.press("ds6");
  1417.     EOS.press("e0");
  1418.     EOS.press("e1");
  1419.     EOS.press("e2");
  1420.     EOS.press("e3");
  1421.     EOS.press("e4");
  1422.     EOS.press("e5");
  1423.     EOS.press("e6");
  1424.     EOS.press("es0");
  1425.     EOS.press("es1");
  1426.     EOS.press("es2");
  1427.     EOS.press("es3");
  1428.     EOS.press("es4");
  1429.     EOS.press("es5");
  1430.     EOS.press("es6");
  1431.     EOS.press("f0");
  1432.     EOS.press("f1");
  1433.     EOS.press("f2");
  1434.     EOS.press("f3");
  1435.     EOS.press("f4");
  1436.     EOS.press("f5");
  1437.     EOS.press("f6");
  1438.     EOS.press("fs0");
  1439.     EOS.press("fs1");
  1440.     EOS.press("fs2");
  1441.     EOS.press("fs3");
  1442.     EOS.press("fs4");
  1443.     EOS.press("fs5");
  1444.     EOS.press("fs6");
  1445.     EOS.press("g0");
  1446.     EOS.press("g1");
  1447.     EOS.press("g2");
  1448.     EOS.press("g3");
  1449.     EOS.press("g4");
  1450.     EOS.press("g5");
  1451.     EOS.press("g6");
  1452.     EOS.press("gs0");
  1453.     EOS.press("gs1");
  1454.     EOS.press("gs2");
  1455.     EOS.press("gs3");
  1456.     EOS.press("gs4");
  1457.     EOS.press("gs5");
  1458.     EOS.press("gs6");
  1459.       i++;
  1460.       if (i < 10) {    // Write how many times you want to spam it for example this is going to spam 10 times
  1461.  
  1462.       }
  1463.    }, 100)      // Write delay in milliseconds
  1464. }
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.     var googleCommandDelay = 3;
  1471.  
  1472.     var div = document.createElement("div");
  1473.     div.id = "Div1";
  1474.     div.style.display= "none";
  1475.     document.body.appendChild(div);
  1476.  
  1477.  
  1478.     (function() {
  1479.         var cx = '010021570394457971158:qajzusztxwo';
  1480.         var gcse = document.createElement('script');
  1481.         gcse.type = 'text/javascript';
  1482.         gcse.async = true;
  1483.         gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
  1484.             '//www.google.com/cse/cse.js?cx=' + cx;
  1485.         var s = document.getElementsByTagName('script')[0];
  1486.         s.parentNode.insertBefore(gcse, s);
  1487.     })();
  1488.  
  1489.     function gcseCallback(query) {
  1490.         if (document.readyState != 'complete')
  1491.             return google.setOnLoadCallback(gcseCallback, true);
  1492.         google.search.cse.element.render({gname:'gsearch', div:'Div1', tag:'searchresults-only', attributes:{webSearchResultSize:1}});
  1493.         var element = google.search.cse.element.getElement('gsearch');
  1494.         element.execute(query);
  1495.         returnResults();
  1496.         setTimeout(function(){
  1497.         googleavailabe = true}, googleCooldown);
  1498.     };
  1499.     function getTitle(index){
  1500.         var title = document.getElementsByClassName("gsc-thumbnail-inside")[index].textContent;
  1501.         return title;
  1502.     }
  1503.  
  1504.         function getLink(index){
  1505.         if (typeof document.getElementsByClassName("gsc-webResult gsc-result")[0].getElementsByClassName("gs-spelling gs-result")[0] != "undefined")
  1506.             index++;
  1507.         if (typeof document.getElementsByClassName("gsc-webResult gsc-result")[0].getElementsByClassName("gs-spelling")[0] != "undefined")
  1508.             index++;
  1509.         if (typeof document.getElementsByClassName("gsc-webResult gsc-result")[0].getElementsByClassName("gs-spelling gs-spelling-original")[0] != "undefined")
  1510.             index++;
  1511.         var title = document.getElementsByClassName("gsc-webResult gsc-result")[index];
  1512.         var firstdiv = title.getElementsByClassName("gsc-thumbnail-inside")[0];
  1513.         var firstatag = firstdiv.getElementsByTagName("a")[0];
  1514.         var link = firstatag.getAttribute("data-ctorig");
  1515.         return link;
  1516.     }
  1517.  
  1518.     function getText(index){
  1519.         var txt = document.getElementsByClassName("gs-bidi-start-align gs-snippet")[index].textContent;
  1520.         return txt;
  1521.     }
  1522.  
  1523.     function checkLoaded(index){
  1524.         if (typeof document.getElementsByClassName("gs-bidi-start-align gs-snippet")[index] != "undefined" &&
  1525.         typeof document.getElementsByClassName("gsc-thumbnail-inside")[index] != "undefined" &&
  1526.         typeof document.getElementsByClassName("gsc-webResult gsc-result")[index] != "undefined"){
  1527.             return true;
  1528.         }
  1529.         else {
  1530.             return false;
  1531.         }
  1532.     }
  1533.  
  1534.     function checkNoResult(){
  1535.         if (typeof document.getElementsByClassName("gs-webResult gs-result gs-no-results-result")[0] != "undefined"){
  1536.             return true;
  1537.         }
  1538.         else{
  1539.             return false;
  1540.         }
  1541.     }
  1542.     function returnResults(){
  1543.         var intervalId = setInterval(function(){
  1544.             if (checkNoResult() == true){
  1545.                 div.innerHTML = "";
  1546.                 EOS.chat.send( error + 'Your search - ' + lastsearch + ' - did not match any documents. | Make sure that all words are spelled correctly. | Try different keywords. | Try more general keywords. |');
  1547.                 clearInterval(intervalId);
  1548.             }
  1549.             if (checkLoaded(0) == true && checkLoaded(1) == true && checkLoaded(2) == true){
  1550.                 EOS.chat.send("First result || " + getTitle(0) + ": (" + getLink(0) + ") => " +getText(0));
  1551.                 EOS.chat.send("Second result || " + getTitle(1) + ": (" + getLink(1) + ") => " +getText(1));
  1552.                 EOS.chat.send("Third result || " + getTitle(2) + ": (" + getLink(2) + ") => " +getText(2));
  1553.                 div.innerHTML = "";
  1554.                 clearInterval(intervalId);
  1555.             }
  1556.         },25);
  1557.     }
  1558.  
  1559.  
  1560. EOS.client.on("a", function(msg) {if(AUTOMATICMODERATION){ if(blNames.includes(msg.p.name) == true )  { if(autobanned.includes(msg.p._id) == true) {  } else { EOS.chat.send('User with the id (' + msg.p._id + ') has been added to the ban list. Reason: Autobanned by system, that name is blacklisted.'); autobanned.push(msg.p._id); banned.push(msg.p._id); } } } });
  1561.  
  1562. EOS.client.on("participant removed", function(msg) { leavecount = leavecount + 1 });
  1563. EOS.client.on("participant added", function(msg) { joincount = joincount + 1 });
  1564. welcomemessage='';
  1565. EOS.client.on("participant added", function(msg) { if(welcome){EOS.chat.send('Welcome, ' + msg.name + '. '+welcomemessage)}});
  1566.  
  1567.  
  1568. function binary(text) { var output = ""; var input = text; for (i=0; i < input.length; i++) { var e=input[i].charCodeAt(0);var s = ""; do{ var a =e%2; e=(e-a)/2; s=a+s; } while(e!=0); while(s.length<8){s="0"+s;} output+=s + " "; } return output; }
  1569.  
  1570.  
  1571. function encode(text) { return window.btoa(unescape(encodeURIComponent(text))); }
  1572.  
  1573. function decode(text){ return decodeURIComponent(escape(window.atob(text))); }
  1574. iannouncedtime=0;
  1575.  
  1576. EOS.client.on('a', function (msg) {if(idiots.includes(msg.p._id)){if(idiotmessage){if(iannouncedtime>5){EOS.chat.send('Spam detected. To prevent spam this message has been momentarily disabled.');idiotmessage=false;setTimeout(function(){EOS.chat.send('Variable: idiotmessage set to: true By system.');},60000);} else{iannouncedtime++;EOS.chat.send('The system recommends to ignore the above message posted by the user with the _id: '+msg.p._id+', the name: '+msg.p.name+' and the id: '+msg.p.id+'.');}}}});
  1577.  
  1578. RESETTHEIDIOTCOUNTERQUICKLY = setInterval(function(){iannouncedtime=0;},20000);
  1579.  
  1580. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"remindme") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'remindme txt') }  else {  EOS.chat.send(CMDUNFINISHED);  }}}}});
  1581. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"encode") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send('Please input something for me to encode!') }  else {  EOS.chat.send('Encoded: ' + encode(input) + '');  }}}}});
  1582.  
  1583. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if(Power == "on" == true) { if (cmd == cmdChar+"google") { if( googleCommand == true ){if(!googleavailable){EOS.chat.send('This command has a ' + googleCooldown + ' millisecond cooldown to prevent spam. Please wait and then try again later. Thanks!');} else { if (input == "") { EOS.chat.send('Please input something for me to google!') }  else { EOS.chat.send('[GOOGLE]: Commands temporarily disabled while search is in progress. Processing request..'); lastsearch = input; Power = 'off'; searchHistory.push(lastsearch); setTimeout(function(){ gcseCallback(input); Power = 'on'}, 4000); } }}}}}});
  1584.  
  1585. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"decode") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else {if(input == "") { EOS.chat.send("Please input something for me to decode! ") }  else {  EOS.chat.send('Decoded: ' + decode(input) + '');  }}}}});
  1586.  
  1587. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"selectroom") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else {if(input == "") { EOS.chat.send("You are using the command incorrectly. Correct command usage: " + cmdChar + "selectroom <Room Name Here> without the < and >.") }  else {  EOS.chat.send('Selected: '+input+'. Ready to continue. Displaying options.');EOS.chat.send('To connect to a room, type ' + cmdChar + 'join to confirm your connection within 30 seconds.');EOS.chat.send('To send a message to a channel, type '+cmdChar+'channelsend <message here> without the < and > to confirm your option within 30 seconds.');roomselected=true;selectedroom=input;timeout = setTimeout(function(){EOS.chat.send('@'+ msg.p.name+ ' Selected room was reset because you did not select an option within 30 seconds.');roomselected=false;}, 30000);  }}}}});
  1588.  
  1589. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"say") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else {if(input == "") { EOS.chat.send('Usage: ' + cmdChar + 'say [txt here]') }  else {if(input=='ban me'){EOS.chat.send('Cool.')}else{EOS.chat.send('\u034f' + input);  }}}}}});
  1590.  
  1591. respondtostop=true;
  1592. EOS.client.on("a", function (msg) {if(banned.includes(msg.p._id)==false){if(respondtostop){if(msg.a.toLowerCase()=='stop'){if(nmpb_online){if(Power2){function nmpb_cl_send(msg){nmpb_cl.sendArray([{m:"a", message: msg}]);};log('Processing.');log('Stopped song on request. Disable this with respondtostop = false;');nmpb_cl_send('/stop');EOS.chat.send('The song has been stopped.');}}}}}});
  1593.  
  1594. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"translatetobinary") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Please input something for me to translate.") }  else {  EOS.chat.send('Translated: ' + binary(input) + '.');  }}}}});
  1595.  
  1596. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"translatefrombinary") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Please input something for me to translate.") }  else {  EOS.chat.send('Translated: ' + rbinary(input) + '.');  }}}}});
  1597.  
  1598. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"channelsend") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Incorrect usage. Usage: " + cmdChar + "") }  else {  EOS.chat.send('One moment.');if(!roomselected){EOS.chat.send('Please type '+cmdChar+'selectroom <room name here> without the < and > and then try again. Thanks.')}else{clearTimeout(timeout);channelSend(selectedroom,message);}}}}}});
  1599. gs_cc = false;
  1600. gs_sm = false;
  1601. function globalSend(message){
  1602. rooms = [];
  1603. rooms2 = [];
  1604. log('_');
  1605. log('Initializing..');
  1606. if(!gs_sm) {
  1607. gs_sm=true;
  1608. setTimeout(function() {
  1609. log('Loading channel names..');
  1610. $('#room').click();
  1611.     setTimeout(function(){
  1612.     document.dispatchEvent(new MouseEvent("mousedown"));
  1613. log('Channel names loaded.');
  1614. EOS.chat.send('> Calculated. Estimated time for sending: '+rooms2.length*3+' seconds estimated.');
  1615. log('> Calculated. Estimated time for sending: '+rooms2.length*3+' seconds estimated.');
  1616.     },10000); }, 2000);
  1617. log('Checking if client is already connected..');
  1618. if(gs_cc) {log('Client is connected already');} else {
  1619. log('Client is not connected');
  1620. log('Connecting..');
  1621. website = 'www.multiplayerpiano.com';
  1622. port = '8080';
  1623. gs_cl = new Client("ws://"+website+":"+port);
  1624. gs_cl.start();
  1625. gs_currentroom=EOS.client.channel._id;
  1626. if(EOS.client.channel._id=='lobby'){
  1627. gs_currentroom='lolwutsecretlobbybackdoor'};
  1628. gs_cl.setChannel(gs_currentroom);
  1629. EOS.chat.send('Client connected: website: ' + website + ' port: ' + port + ' room: ' + gs_currentroom);}
  1630. gs_counter = -1;
  1631. setTimeout(function(){
  1632. EOS.chat.send('[EpicOSAnnounceSystem]: Sending..');
  1633. function gs_cl_send(msg){
  1634. gs_cl.sendArray([{m:"a", message: msg}]);
  1635. }
  1636. gs_interval = setInterval(function(){
  1637. gs_counter++;
  1638. gs_cl.setChannel(rooms2[gs_counter]);
  1639. setTimeout(function(){
  1640. gs_cl.sendArray([{m:"a", message: '[EpicOSAnnounceSystem]: '+message}]);
  1641. gs_cl.sendArray([{m:"a", message: '[EpicOSAnnounceSystem]: The above announcement was sent from: ' + gs_currentroom}]);
  1642. }, 1000);
  1643. if(gs_counter>=rooms2.length){clearInterval(gs_interval);EOS.chat.send('[EpicOSAnnounceSystem]: Announcement complete.');gs_sm=false;gs_cl.setChannel('EpicOSAnnounceSystemClientStorageRoom');}
  1644. }, 3000);
  1645. }, 15000);
  1646. } else {EOS.chat.send('Output: [BUSY] System cannot globally send a message because a global message send is already in progress. Please wait for the system to finish and try again later. Sorry about that.')}
  1647. }
  1648. cs_cl_connected=false;
  1649. cs_sending=false;
  1650. function channelSend(chnl,msg){
  1651. EOS.chat.send('_');
  1652. if(!cs_cl_connected){
  1653. website = 'www.multiplayerpiano.com';
  1654. port = '8080';
  1655. cs_cl = new Client("ws://"+website+":"+port);
  1656. cs_cl.start();
  1657. cs_currentroom=EOS.client.channel._id;
  1658. EOS.chat.send('Client connected.');
  1659. cs_cl_connected=true;
  1660. }
  1661. function cs_cl_send(msg){
  1662. cs_cl.sendArray([{m:"a", message: msg}]);
  1663. }
  1664. if(cs_sending){
  1665. EOS.chat.send('[EpicOSMessageSystem]: [BUSY] System cannot send a message to: ' + chnl + ' because a channel message send is already in progress. The system will notify you when the message has been sent and then you can try again.');
  1666. } else {
  1667. setTimeout(function(){
  1668. EOS.chat.send('[EpicOSMessageSystem]: Sending..');
  1669. cs_sending=true;
  1670. cs_cl.setChannel(chnl);
  1671. setTimeout(function(){
  1672. cs_cl_send('[EpicOSMessageSystem]: '+msg);
  1673. cs_cl_send('[EpicOSMessageSystem]: The above message was sent from: ' + EOS.client.channel._id + '');
  1674. cs_sending=false;
  1675. EOS.chat.send('[EpicOSMessageSystem]: Message sent successfully.');
  1676. }, 1000);
  1677. }, 6000);
  1678. }
  1679. }
  1680. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"globalsend") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Usage: " + cmdChar + "globalsend <message> without the < and >") }  else {  EOS.chat.send('One moment.'); globalSend(input);  }}}}});
  1681.  
  1682. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"finduser") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Usage: " + cmdChar + "findUser <A users name here> without the < and >.") }  else {  EOS.chat.send('One moment.'); findUser(input);}}}}});
  1683.  
  1684. function EAP(){
  1685. nmpb_autoplay=true;
  1686. EOS.chat.send('> Autoplay is enabled. Selecting a song.');
  1687. function nmpb_cl_send(msg){
  1688. nmpb_cl.sendArray([{m:"a", message: msg}]);
  1689. };
  1690. nmpb_cl_send('/r');
  1691. }
  1692.  
  1693. function DAP(){
  1694. nmpb_autoplay=false;
  1695. EOS.chat.send('> Autoplay is disabled.');
  1696. function nmpb_cl_send(msg){
  1697. nmpb_cl.sendArray([{m:"a", message: msg}]);
  1698. };
  1699. }
  1700.  
  1701. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"hug") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("User not found") }  else {  EOS.chat.send(msg.p.name + ' hugs ' + info(input).name + '.');  }}}}});
  1702.  
  1703. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"slap") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("User not found") }  else {  EOS.chat.send(msg.p.name + ' slaps ' + info(input).name + '.');  }}}}});
  1704.  
  1705. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if(Power == "on" == true) { if (cmd == cmdChar+"suggest") { if (input == "") { EOS.chat.send("Please enter something for me to add to the suggestion list. If an administrator catches you spamming this command and not providing actual suggestions, it may result in a permanent ban from the bot. Thanks for any feedback provided.") }  else { localStorage.suggestions = localStorage.suggestions + ' _ ' + input + ', Suggested by ' + msg.p.name; suggestioncounter = suggestioncounter + 1 ; EOS.chat.send('(Suggestion #' + suggestioncounter + ') Thank you! Your suggestion has been saved. ' + '(' + input + ', Suggested by ' + msg.p.name + ', with the _id ' + msg.p._id + ')');  }}}}});
  1706.  
  1707. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "help") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { LoadHelpList(msg); } else {  } } });
  1708.  
  1709. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "games") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Games: ' + cmdChar + '8ball, ' + cmdChar + 'dice, ' + cmdChar + 'timetables, ' + cmdChar + 'rockpaperscissors (' + cmdChar + 'rps)'); } else {  } } });
  1710.  
  1711. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "amiadmin") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) {EOS.chat.send('One moment.'); if(admins.includes(msg.p._id) == true) { EOS.chat.send('Yes, you are an admin of EpicOS.') } else { EOS.chat.send('No, you are not an admin of EpicOS.') } } else {  } } });
  1712.  
  1713. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "dice") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { var diceresponse = diceresponses[Math.floor(Math.random() * diceresponses.length)]; EOS.chat.send( msg.p.name + ' rolled the dice and got: ' + diceresponse + ' out of 6!'); } else {  } } });
  1714.  
  1715. EOS.client.on("a", function(msg) { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { if(msg.p.name.includes('﷽')){EOS.chat.send('The user with the _id: ' + msg.p._id + ' has been added to the ban list. Reason: Name\'s including that character are often spam names.');banned.push(msg.p._id); } } else {  } } });
  1716.  
  1717. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "yes") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('No'); } else {  } } });
  1718. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "no") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Yes'); } else {  } } });
  1719. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "dumbass") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('^^ WARNING ^^');EOS.chat.send('^^ DUMBASS DETECTED ^^');EOS.chat.send('^^ DUMBASS DETECTED ^^');EOS.chat.send('^^ NAME OF DETECTED DUMBASS: '+msg.p.name+' ^^');EOS.chat.send('^^ THIS DUMBASS APPEARS TO BE EXTRA DUMB. PLEASE BE CAREFUL. ^^');EOS.chat.send('^^ DO NOT INTERACT WITH THE DUMBASS AT ANY TIME OTHERWISE YOU MAY BECOME AS DUMB AS THAT DUMBASS ^^'); } else {  } } });
  1720.  
  1721. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "ownerhelp") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { LoadHelpList3()} else {  } } });
  1722.  
  1723. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "about") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) {EOS.chat.send('EpicOS Chat Entertainment System was originally created in 2015.'); EOS.chat.send('EpicOS was created by Infinity (AKA Epictree160/SublimeHawk6), it has over 70 commands and uses code from Infinity (commands, findUser function, globalSend function, channelSend function, much more.), Squid (Automatic command list updates, command templates, bot suggestions ), Vidkunnsonn (bot suggestions&other), Electrashave (formatUnicode function), Logan (JS command), Chacha (Bot disconnecting message, bot suggestions), CitronSustain (bot suggestions, emojis), Braden T (Tsunami command), Ham\'s Music (nmpblink base&idea, bot suggestions), Anon (bot suggestions) Type ' + cmdChar + 'help to view the command list.');EOS.chat.send('Special thanks to Chris | Male | Neko! For giving me the ideas for many of this system\'s commands!');
  1724. EOS.chat.send('Version: ' + version);
  1725. EOS.chat.send('> EpicOS, Epic\'s Chat Entertainment System Copyright (©) Sublime Studios 2015'); } else {  } } });
  1726.  
  1727. EOS.client.on("a", function(msg) {
  1728. if(AUTOMATICMODERATION){
  1729. if(Power=='on'){
  1730. if(!banned.includes(msg.p._id)){
  1731. if(!msg.p._id==EOS.client.getOwnParticipant()._id){
  1732. if(msg.p.name.toLowerCase().includes(botname.toLowerCase())){
  1733. EOS.chat.send('> You have been denied service to this system due to possible impersonation. Congratulations on that.');
  1734. banned.push(msg.p._id);
  1735. }
  1736. }
  1737. }
  1738. }
  1739. }
  1740. });
  1741.  
  1742. totalCommands = OOC.length + FCL.length + AOC.length + MPC.length;
  1743. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "stats") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { statscount = statscount + 1; EOS.chat.send('Since the last system reboot, ' + notecount + ' notes have been pressed, ' + msgcount + ' messages have been sent, the stats command has been used ' + statscount + ' time(s), ' + joincount + ' person(s) have joined, and ' + leavecount + ' person(s) have left. Command Count: EpicOS currently has ' + FCL.length + ' public commands, ' + OOC.length + ' owner only commands, ' + AOC.length + ' administrator only commands and ' + MPC.length + ' other commands. Total Command Count: ' + totalCommands + ' commands!');} else {  } } });
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "tsunami") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('TSUNAMI INCOMING!!');  t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 50)}); // could i make the code not so big?
  1750.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 55)}); // yes. yes i could.
  1751.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 60)}); // but a m just too lazy for that :3
  1752.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 65)}); // maybe in 2.5 ;D
  1753.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 70)});
  1754.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 50)});
  1755.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 55)});
  1756.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 60)});
  1757.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 65)});
  1758.         t=0; Object.keys(EOS.piano.keys).forEach(function(key) {setTimeout(function () {EOS.press(key,1)}, t++ * 70)});
  1759.    } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1760.  
  1761.  
  1762.  
  1763. //adduserid = "513c055c68e493b4668787e2"; admins = admins + ',' + adduserid + ''; EOS.chat.send('Added user to //the admin list. (' + adduserid + ')');
  1764.  
  1765. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "power on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('EpicOS is now online. Public commands were enabled. Type ' + cmdChar + 'help for the command list.'); localStorage.lastcmdChar = cmdChar;  Power = "on" } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1766.  
  1767. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "power off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('EpicOS is now offline. Public commands were disabled.'); localStorage.lastcmdChar = cmdChar; localStorage.lastbotname = botname; Power = "off" } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1768.  
  1769. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "power") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Usage: ' + cmdChar + 'power [on/off] (User: ' + msg.p.name + ')' ); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1770.  
  1771. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "nmpbpower on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('NMPB access enabled.'); Power2 = true; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1772.  
  1773. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "nmpbpower off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('NMPB access disabled.'); Power2 = false;} else { EOS.chat.send( securityerror + accessdenied ) } } });
  1774.  
  1775. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "nmpbpower") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Usage: ' + cmdChar + 'power2 [on/off] (User: ' + msg.p.name + ')' ); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1776.  
  1777. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "battery on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('The EpicOS Battery Feature is now enabled.'); batteryenabled=true; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1778.  
  1779. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "battery off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('The EpicOS Battery Feature is now disabled.'); batteryenabled=false; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1780.  
  1781. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "battery") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Usage: ' + cmdChar + 'battery [on/off] (User: ' + msg.p.name + ')' ); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1782.  
  1783. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "autoplay on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send(Responses.confirm[Math.floor(Math.random() * Responses.confirm.length)]); nmpb_autoplay=true;EAP(); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1784.  
  1785. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "autoplay off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send(Responses.confirm[Math.floor(Math.random() * Responses.confirm.length)]); nmpb_autoplay=false;DAP(); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1786. accessdenied='ACCESS DENIED. '
  1787. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "autoplay") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Usage: ' + cmdChar + 'autoplay [on/off] (User: ' + msg.p.name + ')' ); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1788. setInterval(function(){if(cmdChar=='?'){EOS.chat.send('> This is EpicOS, not CasiOS! Prefix defaulting to: ^');cmdChar='^';}},2000);
  1789. announcetrusted=true;
  1790. EOS.client.on("participant added", function(msg){if(announcetrusted){ if (trustedusers.includes(msg._id)){ EOS.chat.send('A trusted user has connected: | ' + msg.name + ' | ' + msg._id  + ' | ' + msg.id) } } });
  1791. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "welcome on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Welcome messages are now enabled. (User: ' + msg.p.name + ')'); welcome = true } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1792.  
  1793. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "welcome off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Welcome messages are now disabled. (User: ' + msg.p.name + ')'); welcome = false } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1794.  
  1795. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "welcome") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Usage: ' + cmdChar + 'welcome [on/off] (User: ' + msg.p.name + ')'); delete welcome } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1796.  
  1797. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: Please use '+cmdChar+'announce <announceid> <on/off>');EOS.chat.send('IDS: 1 - Announce when a bad reputation user has connected | 2 - Announce when a trusted user has connected'); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1798.  
  1799. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 1") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: Please use '+cmdChar+'announce 1 <on/off>'); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1800.  
  1801. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 2") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: Please use '+cmdChar+'announce 2 <on/off>'); } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1802.  
  1803. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 1 off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: announce ID 1 = var idiotmessage: var idiotmessage value set to: false. ||The system will no longer announce when a bad reputation user has connected.');idiotmessage=false; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1804.  
  1805. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 2 off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: announce ID 2 = var announcetrusted: var announcetrusted value set to: false. ||The system will no longer announce when a trusted user has connected.');announcetrusted=false; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1806.  
  1807. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 1 on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: announce ID 1 = var idiotmessage: var idiotmessage value set to: true. ||The system will now announce when a bad reputation user has connected.');idiotmessage=true; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1808.  
  1809. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "announce 2 on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('[EpicOSAnnounceSystem]: announce ID 2 = var announcetrusted: var announcetrusted value set to: true. ||The system will now announce when a trusted user has connected.');announcetrusted=true; } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1810. // simple JavaScript evaluater in chat - meow :3
  1811. if (typeof gScriptLoaded === "undefined") {
  1812.     gScriptLoaded = true;
  1813.  
  1814.     var args;
  1815.     var cmd;
  1816.     var input;
  1817.     var isAdmin;
  1818.      
  1819.                                         // If you want to add more preople use !js admins.push(their_id_here)
  1820.                                         // this will allow them to use !js too. But be careful who you trust!
  1821.  
  1822.  
  1823.     // simplified
  1824.  
  1825.     Object.prototype.toString = function() {
  1826.         return JSON.stringify(this);
  1827.     }
  1828.  
  1829.     EOS.client.on("a", function (msg) {
  1830.         args = msg.a.split(' ');
  1831.         cmd = args[0];
  1832.         input = msg.a.substring(cmd.length).trim();
  1833.  
  1834.         isAdmin = false; // this will remain false if the below check fails
  1835.                          // if this isAdmin is manually set to true anyone
  1836.                          // will be able to use !js. This is very bad
  1837.         if (admins.indexOf(msg.p._id) != -1) isAdmin = true; // makes you admin if you're in admins
  1838.  
  1839.         // anything inside this block will run if the user is an admin
  1840.         if (isAdmin) {
  1841.             if (cmd == cmdChar+"js") {
  1842.                 try {
  1843.         if(input.includes('ownerId')){EOS.chat.send('Due to security issues I cannot allow you to interact with the variable: "ownerId". Sorry about that.')}else{
  1844.         if(input.includes('location')){EOS.chat.send('Forbidden. "location" is blacklisted. ');EOS.chat.send('> Nice try though.');} else{
  1845.                     EOS.chat.send('[' + msg.p.name + '] JavaScript Console Output: ' + eval(input));}}
  1846.                 } catch (err) {
  1847.                     EOS.chat.send('[' + msg.p.name + '] JavaScript Console Output: ' + error + err);
  1848.                 }
  1849.             }
  1850.         }  // else they're not admin
  1851.     } );
  1852. } else {
  1853.     console.warn("You've already pasted the script!\nRefresh the page then paste it again");
  1854. }
  1855.  
  1856.  
  1857. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "disconnect") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Disconnecting EpicOS system, please wait..'); Power = "off"; delete welcome ; EOS.client.stop() } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  1858.  
  1859.  
  1860. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "restart") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { setTimeout(function(){ EOS.chat.send('Restarting EpicOS system..'); Power = "off" }, 2000);
  1861. setTimeout(function(){ EOS.chat.send('Disconnecting'); EOS.client.stop() }, 4000);
  1862. setTimeout(function(){ EOS.client.start() }, 16000);
  1863. setTimeout(function(){ }, 20000);
  1864. setTimeout(function(){ EOS.chat.send('Connected');EOS.chat.send('EpicOS has successfully restarted. For the command list, type ' + cmdChar + 'help.'); Power = "on" }, 25000); } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  1865.  
  1866. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "save") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Settings were saved.'); localStorage.lastcmdChar = cmdChar; localStorage.lastbotname = botname; } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  1867.  
  1868.  
  1869. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"ban") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '')) { if (input == "") { EOS.chat.send(error + 'Failed to ban user: Incorrect use. Usage: ' + cmdChar + 'Ban [Users _id here.]') }  else { EOS.chat.send('Banning user.. (' + input + ')');if( input.length == 24 == false) { EOS.chat.send( error + 'Failed to ban user: Please use someones _id. That is not an _id!'); } else { if ( input == ownerId == true ) { EOS.chat.send( error + 'Failed to ban user: You cannot ban the owner.'); } else { if ( admins.includes(input) == true ) { EOS.chat.send( error + 'Failed to ban user: You cannot ban an admin.'); } else { if ( banned.includes(input) == true ) { EOS.chat.send( error + 'Failed to ban user: This id was already found in the ban list.') } else { setTimeout(function(){ EOS.chat.send('User with the id (' + input + ') has been added to the ban list. Please note that whenever the system restarts, the banned user list will be reset.'); banned.push(input) }, 2000); }}}}}}}}}});
  1870.  
  1871. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "unbanall") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '')) { EOS.chat.send('Unbanned all users.'); banned = [] } else { EOS.chat.send( securityerror + accessdenied ) } } });
  1872.  
  1873. EOS.client.on("a", function(msg) {
  1874. if(msg.p._id==ownerId){
  1875. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1876. if(msg.a.toLowerCase().includes('start')){
  1877. if(msg.a.toLowerCase().includes('nmpb')){
  1878. EOS.chat.send('Sure thing. Give me a moment, please.');
  1879. setTimeout(function(){
  1880. startNMPB();
  1881. }, 4000);
  1882. }
  1883. }
  1884. }
  1885. }
  1886. });
  1887. EOS.client.on("a", function(msg) {
  1888. if(msg.p._id==ownerId){
  1889. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1890. if(msg.a.toLowerCase().includes('shut')){
  1891. if(msg.a.toLowerCase().includes('down')){
  1892. EOS.chat.send('I am now shutting down.');
  1893. localStorage.lastbotname = botname;localStorage.lastcmdChar = cmdChar;batteryenabled = false;setTimeout(function() {botname = 'Shutting Down..'}, 2000); setTimeout(function() {botname = 'Saving Settings..'}, 4000);setTimeout(function() {botname = 'Disabling Commands..';Power = 'off'}, 8000);setTimeout(function() {botname = 'Disabling Notice System..';clearInterval(LocalStorageRecieverCheckerIntervalThingSuperCollidingSuperButtonPortalButtonPotatoMachineGunMachine)}, 10000); setTimeout(function() {clearInterval(AutoReconnect); botname = 'Stopping services..'}, 14000); setTimeout(function() {EOS.chat.send('Disconnecting Bot..');EOS.client.stop();}, 18000);
  1894. }
  1895. }
  1896. }
  1897. }
  1898. });
  1899. EOS.client.on("a", function(msg) {
  1900. if(msg.p._id==ownerId){
  1901. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1902. if(msg.a.toLowerCase().includes('what')){
  1903. if(msg.a.toLowerCase().includes('time')){
  1904. EOS.chat.send('Here\'s the date and time: ' + Date());
  1905. }
  1906. }
  1907. }
  1908. }
  1909. });
  1910. EOS.client.on("a", function(msg) {
  1911. if(msg.p._id==ownerId){
  1912. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1913. if(msg.a.toLowerCase().includes('enable')){
  1914. if(msg.a.toLowerCase().includes('autoplay')){
  1915. nmpb_autoplay=true;EOS.chat.send('Autoplay is enabled. Checking NMPB status.');
  1916. startNMPB();
  1917. }
  1918. }
  1919. }
  1920. }
  1921. });
  1922. //localStorage.history = JSON.stringify(searchHistory);
  1923.  //SAVE
  1924. //searchHistory = JSON.parse(localStorage.history);
  1925. //LOAD
  1926. EOS.client.on("a", function(msg) {
  1927. if(msg.p._id==ownerId){
  1928. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1929. if(msg.a.toLowerCase().includes('disable')){
  1930. if(msg.a.toLowerCase().includes('autoplay')){
  1931. nmpb_autoplay=false;EOS.chat.send('Autoplay is disabled. Checking NMPB status.');
  1932. startNMPB();
  1933. }
  1934. }
  1935. }
  1936. }
  1937. });
  1938. EOS.client.on("a", function(msg) {
  1939. if(msg.p._id==ownerId){
  1940. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1941. if(msg.a.toLowerCase().includes('disable')){
  1942. if(msg.a.toLowerCase().includes('commands')){
  1943. EOS.chat.send('I have disabled the system\'s commands.');
  1944. Power = 'off';
  1945. }
  1946. }
  1947. }
  1948. }
  1949. });
  1950. EOS.client.on("a", function(msg) {
  1951. if(msg.p._id==ownerId){
  1952. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1953. if(msg.a.toLowerCase().includes('enable')){
  1954. if(msg.a.toLowerCase().includes('commands')){
  1955. EOS.chat.send('I have enabled the system\'s commands.');
  1956. Power = 'on';
  1957. }
  1958. }
  1959. }
  1960. }
  1961. });
  1962. EOS.client.on("a", function(msg) {
  1963. if(msg.p._id==ownerId){
  1964. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1965. if(msg.a.toLowerCase().includes('shut')){
  1966. if(msg.a.toLowerCase().includes('up')){
  1967. EOS.chat.send('Hm, no.');
  1968. }
  1969. }
  1970. }
  1971. }
  1972. });
  1973. EOS.client.on("a", function(msg) {
  1974. if(msg.p._id==ownerId){
  1975. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1976. if(msg.a.toLowerCase().includes('delete')){
  1977. if(msg.a.toLowerCase().includes('system32')){
  1978. EOS.chat.send('System32 deleted.');
  1979. }
  1980. }
  1981. }
  1982. }
  1983. });
  1984. EOS.client.on("a", function(msg) {
  1985. if(msg.p._id==ownerId){
  1986. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  1987. if(msg.a.toLowerCase().includes('start')){
  1988. if(msg.a.toLowerCase().includes('lockdown')){
  1989. chat_buffer = [];
  1990. EOS.chat.send('LOCKDOWN INITIATED.');
  1991. ownerId = [];
  1992. admins = [];
  1993. Power = 'off';
  1994. batteryenabled=false;
  1995. botname = 'LOCKDOWN INITIATED';
  1996. clearInterval(cursor_programming_1);
  1997. }
  1998. }
  1999. }
  2000. }
  2001. });
  2002. EOS.client.on("a", function(msg) {
  2003. if(msg.p._id==ownerId){
  2004. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  2005. if(msg.a.toLowerCase().includes('reset')){
  2006. if(msg.a.toLowerCase().includes('room')){
  2007. EOS.chat.send('One moment.');
  2008. resetRoom();
  2009. }
  2010. }
  2011. }
  2012. }
  2013. });
  2014. EOS.client.on("a", function(msg) {
  2015. if(msg.p._id==ownerId){
  2016. if(msg.a.toLowerCase().substring(0,'epicos'.length)=='epicos'){
  2017. if(msg.a.toLowerCase().includes('reset')){
  2018. if(msg.a.toLowerCase().includes('prefix')){
  2019. EOS.chat.send('Prefix reset to ^.');
  2020. cmdChar = '^';
  2021. }
  2022. }
  2023. }
  2024. }
  2025. });
  2026.  
  2027. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"shout") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send('Please input something for me to shout!') }  else {  EOS.chat.send('͏' + input.toUpperCase() + '!!');  }}}}});
  2028.  
  2029. function info(name){
  2030.         var array = [];
  2031.         for (var pl in EOS.client.ppl){
  2032.             if (EOS.client.ppl[pl].name.toLowerCase().contains(name.toLowerCase())){
  2033.                 array.push(EOS.client.ppl[pl]);
  2034.             }
  2035.         }
  2036.         return array[Math.floor(Math.random() * array.length)];
  2037.     }
  2038.  
  2039.     function follow(part){
  2040.         intervalId2 = setInterval(function(){
  2041.             EOS.client.sendArray([{m: "m", x: part.x, y: part.y}]);
  2042.         },50);
  2043.     }
  2044.  
  2045.     function circleFollow(part){
  2046.         var ypos;
  2047.         var xpos;
  2048.         var ascend = true;
  2049.         var i = -500;
  2050.         intervalId2 = setInterval(function(){
  2051.             if (ascend == true){
  2052.                 i++
  2053.                 xpos = part.x + (0.01)*i;
  2054.                 ypos = 2*Math.sqrt(Math.pow(5,2) - Math.pow((xpos - part.x) ,2)) + (part.y);
  2055.             }
  2056.             else if (ascend == false){
  2057.                 i--;
  2058.                 xpos = part.x + (0.01)*i;
  2059.                 ypos = (part.y) - 2*(Math.sqrt(Math.pow(5,2) - Math.pow((xpos - part.x) ,2)));
  2060.             }
  2061.             if (i == 500){
  2062.                 ascend = false;
  2063.             }
  2064.             else if (i == -500){
  2065.                 ascend = true;
  2066.             }
  2067.             EOS.client.sendArray([{m: "m", x: xpos, y: ypos}]);
  2068.         },5);
  2069.     }
  2070. titleUpdate=setInterval(function(){
  2071. if(!EOS.client.isConnected()){
  2072. document.title='[EOS:Disconnected]';
  2073. }
  2074. }, 5000);
  2075. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "suicide") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('' + msg.p.name + ' has committed suicide! :c');} else {  } } });
  2076.  
  2077.  
  2078. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "myinfo") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send( msg.p.name + ', your id is ' + msg.p.id + ', your _id is ' + msg.p._id + ', the length of your name (' + msg.p.name + ') is ' + msg.p.name.length + ' characters long, your color in hex is ' + msg.p.color + ', your color name is "' + new Color(msg.p.color).getName().toLowerCase() + '". Thats all the information i have.'); } else {  } } });
  2079.  
  2080.  
  2081. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "bans") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { if ( banned.length == 0 ) { EOS.chat.send( error + 'No users are currently banned.') } else { EOS.chat.send('Banned users: ' + banned ); } } else {  } } });
  2082.  
  2083.  
  2084. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"8ball") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Please input a question for the 8ball to answer to.") }  else { var getResponse = ballresponses[Math.floor(Math.random() * ballresponses.length)]; EOS.chat.send('The 8ball says: "' + getResponse + '"')
  2085.  }}}}});
  2086.  
  2087.  
  2088. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"relocate") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('Please enter a room name for me to relocate to!') }  else {  EOS.chat.send('Relocating to room: ' + input + '.'); EOS.client.setChannel(input)
  2089. ; EOS.chat.send('[Connected to room: ' + input + '] Hi! I\'m EpicOS! For the command list, type ' + cmdChar + 'help.')  }}}}}});
  2090.  
  2091.  
  2092. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"prefix") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('Nice try, however the prefix cannot be set to nothing.') }  else {   EOS.chat.send('The prefix has now been set to "' + input + '"' + '! For a list of commands, type ' + input + 'help.'); cmdChar = input  }}}}}});
  2093.  
  2094. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"rename") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('My name cannot be nothing!') }  else { EOS.chat.send('The system has been renamed to ' + input + '.'); botname = input  }}}}}});
  2095.  
  2096.  
  2097. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "texttospeech") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Usage: ' + cmdChar + 'texttospeech [On/Off]');  } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2098.  
  2099. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "texttospeech on") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Text-to-speech is now enabled.'); speakChat = true } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2100.  
  2101. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "texttospeech off") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Text-to-speech is now disabled.'); speakChat = false } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2102.  
  2103.  
  2104. function getRandomizer(bottom, top) {
  2105. return Math.floor( Math.random() * ( 1 + top - bottom ) ) + bottom;
  2106. }
  2107.  
  2108. function startguess(){
  2109. EOS.chat.send('SUPERMAGICNUMBERGUESSHACKERMACHINE.EXE ONLINE')
  2110. guess=setInterval(function(){
  2111. EOS.chat.send(JSON.stringify(getRandomizer(0,1000))
  2112. );
  2113. }, 1000);
  2114. }
  2115.  
  2116. function stopguess(){
  2117. EOS.chat.send('SUPERMAGICNUMBERGUESSHACKERMACHINE.EXE OFFLINE')
  2118. clearInterval(guess);
  2119. }
  2120.  
  2121. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "navyseals") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('What the fuck did you just fucking say about me, you little bitch? I’ll have you know I graduated top of my class in the Navy Seals, and I’ve been involved in numerous secret raids on Al-Quaeda, and I have over 300 confirmed kills. I am trained in gorilla warfare and I’m the top sniper in the entire US armed forces. You are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on this Earth, mark my fucking words. You think you can '); EOS.chat.send('get away with saying that shit to me over the Internet? Think again, fucker. As we speak I am contacting my secret network of spies across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You’re fucking dead, kid. I can be anywhere, anytime, and I can kill you in over seven hundred ways, and that’s just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to '); EOS.chat.send('the entire arsenal of the United States Marine Corps and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your crappy little “clever” comment was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn’t, you didn’t, and now you’re paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You’re fucking dead, kiddo.') } else {  } } });
  2122.  
  2123. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"timetables") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { test = Math.random(); test2 = test * 20 ; RN = Math.floor(test2);  Lol = Math.random(); Lol2 = Lol * 20 ; RN2 = Math.floor(Lol2); var getOperator = Operators[Math.floor(Math.random() * Operators.length)]; Question = RN + ' ' + '*' + ' ' + RN2 ; Answer = RN * RN2 ; EOS.chat.send('[MATH]: What is ' + RN + ' ' + '*' + ' ' + RN2 + '? (Answer using ' + cmdChar + 'answer <Answer>)' );  }}}});
  2124.  
  2125. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"answer") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( input == Answer ) { correctanswercount = correctanswercount + 1 ; EOS.chat.send('Correct! ' + msg.p.name + ' answered correctly with ' + input + '! So far ' + correctanswercount + ' questions have been answered correctly.'); Question = '[No question has been set. Use the timetables command to start playing.]' ; Answer = '[No question has been set. Use the timetables command to start playing.]' } else { EOS.chat.send('Your answer was incorrect, ' + msg.p.name + '! The question was: ' + Question + '.');  } }}}});
  2126.  
  2127. EOS.client.on("a", function (msg) { if( botname == 'undefined' == true ) { EOS.chat.send( error + 'failed to load the bots name. Do /js botname = "EpicOS" and then /save to fix the problem.') } });
  2128.  
  2129. EOS.client.on("a", function (msg) { if( cmdChar == 'undefined' == true ) { EOS.chat.send( error + 'failed to load the bots cmdChar.') } });
  2130.  
  2131. function info(name){ for (var pl in EOS.client.ppl){ if (EOS.client.ppl[pl].name.toLowerCase().includes(name.toLowerCase())){ return EOS.client.ppl[pl]; } } }
  2132.  
  2133. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "afk") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send( msg.p.name + ' is now marked as AFK. Send any message to be unmarked.');  setTimeout(function(){ afkusersnames.push(msg.p.name); afkusersids.push(msg.p._id); }, 2000); } else {  } } });
  2134.  
  2135. EOS.client.on("a", function(msg) { if(afkusersids.includes(msg.p._id)) { if(msg.a.toLowerCase() == 'afk'||msg.a.toLowerCase() == 'brb'||msg.a.toLowerCase() == cmdChar + 'afk') { EOS.chat.send('You already said that, ' + msg.p.name + '!') } else { EOS.chat.send('Welcome back, ' + msg.p.name + '! I have now removed you from the AFK list.'); afkusersids.splice(msg.p._id); afkusersnames.splice(msg.p.name); } } });
  2136.  
  2137. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "settings") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '') ) { EOS.chat.send('Settings: The current prefix is ' + cmdChar + '. The current bot name is ' + botname + '. Public commands are ' + Power + '. Text to speech: ' + speakChat + '. The current news: ' + news + ', ' + news2 + '. ADMIN: To change the prefix: ' + cmdChar + 'prefix <Prefix here> To rename the bot: ' + cmdChar + 'rename <Name here> To power the bot on/off: ' + cmdChar + 'power <On/Off> To change the news: ' + cmdChar + 'news <News here>'); EOS.chat.send('Welcome messages: ' + welcome + ' To enable/disable welcome messages: ' + cmdChar + 'welcome [On/Off]'); EOS.chat.send('OWNER: To enable/disable the text-to-speech feature: ' + cmdChar + 'texttospeech <On/Off> To default all settings: ' + cmdChar + 'default')  } else { EOS.chat.send( securityerror + accessdenied ) } } });
  2138.  
  2139. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"news") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'news <Whatever you want here>') }  else { EOS.chat.send('The news has been updated from ' + news + ' to ' + input ); news = input }}}}}});
  2140.  
  2141. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"news2") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'news <Whatever you want here>') }  else { EOS.chat.send('The news has been updated from ' + news2 + ' to ' + input ); news2 = input }}}}}});
  2142.  
  2143.  
  2144.  
  2145.  
  2146. var imgData = [ [41,-1,81,60],  [81,60,87,64],  [87,64,92,63],  [92,63,89,73],  [89,73,86,76],  [86,76,80,78],  [80,78,77,80],  [77,80,73,84],  [73,84,71,89],  [71,89,72,91],  [72,91,76,90],  [76,90,80,87],  [80,87,84,82],  [84,82,85,79],  [85,79,89,75],  [89,75,92,71],  [92,71,94,64],  [94,64,92,63],  [41,-1,41,6],   [41,6,40,9],    [40,9,58,39],   [58,39,70,59],  [70,59,70,64],  [70,64,69,67],  [69,67,70,71],  [70,71,68,75],  [68,75,73,74],  [73,74,76,72],  [70,71,59,78],  [59,78,57,76],  [57,76,41,83],  [41,83,36,89],  [36,89,24,112], [24,112,30,115],    [30,115,37,112],    [37,112,43,109],    [43,109,53,112],    [53,112,55,112],    [55,112,58,113],    [58,113,60,111],    [60,111,60,108],    [60,108,65,104],    [65,104,64,102],    [64,102,73,91], [76,90,69,98],  [69,98,69,101], [69,101,66,104],    [66,104,65,106],    [65,106,63,107],    [63,107,57,115],    [57,115,56,122],    [56,122,47,125],    [47,125,44,119],    [44,119,43,112],    [43,112,43,109],    [36,104,39,102],    [39,102,42,101],    [45,101,61,94], [61,94,66,91],  [58,95,57,86],  [57,86,59,78],  [57,76,55,82],  [55,82,54,90],  [54,90,56,96],  [70,60,74,58],  [74,58,76,56],  [76,56,77,54],  [73,48,72,50],  [72,50,69,53],  [69,53,67,53],  [68,54,70,54],  [70,54,72,52],  [72,52,74,49],  [72,46,70,50],  [70,50,68,51],  [68,51,66,51],  [83,79,79,81],  [79,81,74,86],  [74,86,73,88],  [73,88,77,88],  [77,88,82,83],  [82,83,83,80],  [83,80,83,79],  [81,77,80,74],  [80,74,79,72],  [79,72,80,76],  [80,76,80,78],  [81,86,80,92],  [80,92,79,96],  [79,96,79,88],  [51,111,48,118],    [48,118,48,121],    [48,121,49,124],    [56,121,54,117],    [54,117,52,112],    [42,110,42,119],    [42,119,44,126],    [44,126,44,128],    [44,128,50,136],    [50,136,53,137],    [53,137,55,137],    [55,137,55,134],    [55,134,58,130],    [58,130,64,127],    [64,127,68,127],    [68,127,74,128],    [74,128,76,129],    [76,129,76,123],    [76,123,75,117],    [75,117,75,106],    [76,129,82,126],    [82,126,87,117],    [87,117,88,111],    [88,111,83,114],    [83,114,78,115],    [78,115,70,119],    [70,119,63,122],    [86,112,86,105],    [86,105,84,104],    [84,104,78,104],    [78,104,76,105],    [76,105,66,112],    [70,109,70,119],    [67,104,68,109],    [68,109,69,109],    [69,109,71,107],    [72,106,74,104],    [74,104,78,101],    [78,101,79,100],    [79,100,79,102],    [79,102,80,103],    [81,104,91,89], [91,89,91,88],  [91,88,93,83],  [93,83,95,77],  [95,77,96,73],  [96,73,98,70],  [98,70,98,68],  [98,68,94,64],  [93,67,94,67],  [94,67,96,69],  [96,69,94,71],  [94,71,92,71],  [84,81,87,85],  [87,85,91,88],  [91,89,86,86],  [86,86,83,84],  [87,117,97,115],    [97,115,100,113],   [100,113,109,103],  [109,103,109,102],  [107,102,111,102],  [111,102,116,98],   [116,98,121,95],    [121,95,129,93],    [129,93,134,92],    [134,92,128,89],    [128,89,121,84],    [121,84,117,83],    [117,83,115,81],    [115,81,111,86],    [111,86,107,89],    [107,89,98,89], [98,89,96,92],  [96,92,100,95], [100,95,100,97],    [100,97,105,97],    [105,97,107,99],    [107,99,107,102],   [104,108,98,108],   [98,108,93,109],    [93,109,88,112],    [90,116,91,114],    [91,114,94,112],    [94,112,97,111],    [97,111,102,111],   [101,97,99,100],    [99,100,96,101],    [96,101,93,100],    [93,100,90,106],    [90,106,86,106],    [84,100,92,98], [92,98,94,95],  [94,95,90,91],  [86,97,92,97],  [93,84,99,85],  [99,85,100,83], [100,83,102,77],    [102,77,97,72], [100,83,94,82], [108,88,106,82],    [106,82,107,81],    [107,81,114,82],    [110,86,108,83],    [133,91,135,92],    [135,92,138,87],    [138,87,138,84],    [138,84,121,84],    [133,91,132,91],    [80,104,78,106],    [78,106,77,110],    [77,110,78,115],    [86,105,84,106],    [84,106,84,113],    [78,106,84,106],    [117,127,111,125],  [111,125,104,121],  [104,121,99,114],   [60,129,61,138],    [61,138,64,144],    [64,144,69,143],    [69,143,75,139],    [75,139,76,136],    [76,136,84,130],    [84,130,84,123],    [66,127,68,132],    [68,132,71,135],    [71,135,74,136],    [74,136,76,136],    [66,144,69,150],    [69,150,74,149],    [74,149,79,147],    [79,147,78,141],    [78,141,75,139],    [69,150,73,159],    [73,159,75,162],    [75,162,83,161],    [83,161,84,161],    [84,161,85,156],    [85,156,83,153],    [83,153,85,149],    [85,149,89,145],    [89,145,90,139],    [90,139,86,130],    [86,130,84,130],    [86,136,81,144],    [79,146,81,147],    [81,147,82,149],    [84,123,91,129],    [91,129,94,130],    [94,130,97,129],    [97,129,97,131],    [97,131,100,135],   [100,135,105,139],  [105,139,111,142],  [111,142,114,142],  [90,131,95,132],    [95,132,96,131],    [96,131,98,135],    [98,135,104,140],   [104,140,110,143],  [110,143,112,143],  [112,143,108,150],  [108,150,102,149],  [102,149,97,149],   [97,149,94,141],    [94,141,90,131],    [98,150,105,151],   [105,151,107,152],  [107,152,104,163],  [104,163,103,178],  [103,171,100,168],  [100,168,101,154],  [101,154,96,153],   [96,153,90,155],    [90,155,84,169],    [84,169,84,181],    [84,181,81,170],    [84,161,84,169],    [98,150,97,151],    [97,151,101,154],   [75,162,74,175],    [74,175,78,187],    [78,187,78,188],    [107,122,110,121],  [110,121,111,119],  [111,119,111,117],  [111,119,114,124],  [114,124,118,128],  [118,128,125,132],  [125,132,126,132],  [126,132,127,133],  [127,133,127,134],  [127,134,120,138],  [120,138,114,142],  [75,170,76,167],    [76,167,78,166],    [78,166,80,167],    [80,167,80,169],    [80,169,78,171],    [78,171,76,171],    [76,171,75,170],    [76,169,76,170],    [76,170,77,170],    [77,170,78,169],    [78,169,78,167],    [78,167,77,167],    [77,167,76,169],    [86,173,89,164],    [89,164,98,165],    [98,165,97,174],    [96,173,96,167],    [96,167,90,166],    [90,166,88,173],    [89,171,91,169],    [91,169,94,169],    [94,169,96,171],    [96,171,94,173],    [94,173,90,173],    [90,173,89,171],    [89,169,91,168],    [91,168,95,168],    [95,168,96,169],    [104,178,105,174],  [105,174,107,160],  [107,160,112,148],  [112,148,121,142],  [121,142,127,139],  [127,139,131,136],  [131,136,131,132],  [131,132,127,129],  [127,129,121,127],  [121,127,116,123],  [116,123,113,119],  [113,119,113,117],  [111,117,113,117],  [113,117,120,116],  [120,116,124,116],  [124,116,128,117],  [128,117,138,116],  [138,116,145,117],  [145,117,154,123],  [154,123,159,128],  [159,128,160,132],  [160,132,145,131],  [145,131,141,129],  [141,129,139,126],  [139,126,135,125],  [160,132,161,137],  [161,137,158,155],  [158,155,160,161],  [160,161,160,170],  [160,170,155,182],  [155,182,151,193],  [151,193,150,195],  [121,116,117,119],  [117,119,119,122],  [119,122,129,128],  [129,128,133,127],  [133,127,139,130],  [139,130,143,136],  [143,136,159,136],  [159,136,161,137],  [143,136,134,144],  [134,144,130,143],  [130,143,125,145],  [125,145,115,152],  [115,152,111,161],  [111,161,107,172],  [107,172,106,177],  [106,177,109,179],  [113,179,131,158],  [131,158,137,156],  [137,156,143,148],  [143,148,146,141],  [146,141,152,145],  [152,145,158,155],  [148,144,140,158],  [140,158,132,160],  [132,160,115,181],  [137,156,140,157],  [140,157,142,157],  [142,157,147,160],  [147,160,148,164],  [148,164,148,170],  [148,170,146,174],  [146,174,149,177],  [149,177,154,180],  [154,180,156,180],  [122,118,124,122],  [124,122,125,122],  [125,122,126,121],  [126,121,128,119],  [128,119,131,121],  [131,121,132,124],  [132,124,129,127],  [132,146,124,151],  [124,151,126,152],  [126,152,125,156],  [125,156,122,160],  [122,160,119,162],  [119,162,115,161],  [115,161,111,168],  [111,168,110,175],  [110,175,111,177],  [123,157,120,160],  [120,160,118,160],  [118,160,116,157],  [116,157,117,154],  [117,154,120,152],  [120,152,122,152],  [122,152,124,154],  [124,154,123,157],  [121,159,122,156],  [122,156,120,154],  [120,154,117,154],  [113,149,115,151],  [115,151,115,152],  [115,152,111,153],  [126,125,126,123],  [126,123,128,121],  [128,121,130,121],  [126,125,127,126],  [127,126,129,126],  [129,126,131,124],  [131,124,130,121],  [127,122,128,122],  [128,122,129,123],  [129,123,130,125],  [63,142,-1,147],    [-1,147,-2,148],    [-2,148,-2,167],    [-2,167,74,169],    [66,145,-1,148],    [-1,148,-2,149],    [29,147,29,145],    [85,180,78,189],    [78,189,72,206],    [72,206,61,210],    [61,210,-10,208],   [-10,208,-12,231],  [-12,231,59,236],   [59,236,70,240],    [70,240,102,245],   [102,245,104,245],  [104,245,128,242],  [128,242,137,243],  [137,243,168,254],  [168,254,182,257],  [182,257,189,263],  [189,263,169,274],  [169,274,183,277],  [183,277,191,272],  [191,272,195,271],  [195,271,213,272],  [213,272,235,259],  [235,259,254,245],  [254,245,264,240],  [264,240,272,235],  [272,209,242,225],  [242,225,210,234],  [210,234,176,221],  [176,221,152,217],  [152,217,131,216],  [131,216,127,218],  [127,218,117,218],  [117,218,109,215],  [109,215,88,214],   [88,214,81,223],    [81,223,88,231],    [88,231,90,235],    [90,235,103,245],   [85,178,85,183],    [85,183,110,184],   [110,184,115,188],  [115,188,141,189],  [141,189,162,217],  [165,215,142,182],  [142,182,117,182],  [117,182,113,179],  [113,179,86,177],   [86,177,85,178],    [86,178,86,182],    [86,182,110,182],   [110,182,115,186],  [115,186,141,187],  [141,187,141,189],  [141,187,142,182],  [151,196,149,199],  [149,199,132,200],  [132,200,121,204],  [121,204,109,203],  [109,203,100,194],  [100,194,83,193],   [83,193,78,191],    [88,232,93,226],    [93,226,106,224],   [106,224,104,229],  [104,229,95,231],   [95,231,92,235],    [106,224,115,233],  [115,233,114,241],  [114,241,112,244],  [106,244,109,241],  [109,241,110,235],  [110,235,104,229],  [72,207,71,209],    [71,209,60,212],    [60,212,-9,210],    [-9,210,-10,211],   [29,209,29,210],    [154,249,169,240],  [169,240,178,235],  [178,235,181,231],  [181,231,181,226],  [181,226,176,221],  [210,234,208,237],  [208,237,199,241],  [199,241,193,247],  [193,247,186,255],  [186,255,181,257],  [189,263,207,261],  [207,261,221,262],  [221,262,229,259],  [229,259,243,250],  [243,250,256,244],  [271,224,251,240],  [251,240,238,245],  [238,245,222,250],  [222,250,208,261],  [172,273,182,274],  [182,274,187,272],  [104,121,112,106],  [112,106,119,98],   [119,98,139,97],    [139,97,143,99],    [143,99,164,100],   [164,100,164,105],  [164,105,141,105],  [141,105,137,101],  [137,101,116,102],  [140,98,139,101],   [111,110,125,111],  [125,111,127,116],  [127,116,142,112],  [142,112,156,122],  [156,122,157,126],  [136,116,142,114],  [142,114,155,123],  [155,123,156,125],  [150,118,152,115],  [152,115,158,113],  [158,113,164,113],  [164,113,160,105],  [164,113,168,122],  [168,122,169,125],  [169,125,172,124],  [172,124,164,105],  [163,135,172,131],  [172,131,179,130],  [179,130,181,128],  [181,128,181,126],  [172,124,178,126],  [178,126,181,126],  [181,126,185,124],  [185,124,192,125],  [192,125,201,123],  [201,123,206,120],  [206,120,209,119],  [209,119,216,111],  [216,111,223,103],  [223,103,236,96],   [236,96,272,71],    [185,152,200,149],  [200,149,212,137],  [212,137,224,135],  [224,135,208,152],  [208,152,220,151],  [220,151,231,139],  [231,139,241,134],  [241,134,256,121],  [256,121,272,105],  [224,135,227,135],  [227,135,237,124],  [237,124,260,107],  [260,107,272,98],   [271,91,254,106],   [254,106,237,116],  [237,116,234,120],  [234,120,227,132],  [232,134,216,149],  [216,149,212,150],  [206,120,206,126],  [206,126,202,133],  [202,133,195,141],  [195,141,190,150],  [178,144,184,135],  [184,135,185,127],  [185,127,185,124],  [160,132,165,140],  [165,140,173,151],  [173,151,179,167],  [179,167,181,173],  [181,173,177,176],  [177,176,169,179],  [169,179,160,183],  [160,183,153,188],  [155,197,166,186],  [166,186,176,183],  [176,183,188,180],  [188,180,192,176],  [192,176,191,171],  [191,171,184,158],  [184,158,179,148],  [179,148,175,142],  [175,142,170,140],  [170,140,165,140],  [176,143,192,159],  [192,159,197,169],  [197,169,205,175],  [205,175,206,179],  [206,179,196,191],  [196,191,183,197],  [183,197,176,203],  [176,203,170,215],  [170,215,165,219],  [192,159,206,167],  [206,167,216,172],  [216,172,223,179],  [223,179,226,182],  [226,182,226,189],  [226,189,221,200],  [221,200,214,207],  [214,207,204,214],  [204,214,195,220],  [195,220,191,227],  [180,200,184,207],  [184,207,206,213],  [157,185,160,192],  [160,192,169,199],  [169,199,177,202],  [165,202,162,209],  [188,214,184,220],  [211,225,207,229],  [207,212,212,217],  [212,217,245,223],  [218,174,223,175],  [223,175,240,181],  [240,181,249,182],  [249,182,254,188],  [254,188,262,192],  [264,204,263,208],  [263,208,262,212],  [250,183,268,182],  [228,188,237,190],  [207,180,215,182],  [194,178,197,179],  [187,174,183,173] ];
  2147.  
  2148. var drawIndex = 0, imageScale = 0.8;
  2149. function drawImage(x, y) {
  2150.     setTimeout(function () {
  2151.         /* Divide by two because aspect ratio stretches things */
  2152.         EOS.addons.draw.mkline(x+imgData[drawIndex][1]/2*imageScale,
  2153.                                y+imgData[drawIndex][0]*imageScale,
  2154.                                x+imgData[drawIndex][3]/2*imageScale,
  2155.                                y+imgData[drawIndex][2]*imageScale, 1);
  2156.         drawIndex++;
  2157.         if (drawIndex < imgData.length)
  2158.             drawImage(x, y);
  2159.         else
  2160.             drawIndex = 0;
  2161.     }, 15)
  2162. }
  2163.  
  2164. //drawImage (100, 80);
  2165. //█
  2166. //for (i = 0; i < 255; i++) { EOS.addons.draw.mkline(0,i,255,i,10) }
  2167.  
  2168.  
  2169.  
  2170. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "ayy-lmao") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" ==  true) { EOS.chat.send("░█▀▀█ ▒█░░▒█ ▒█░░▒█   ▒█░░░ ▒█▀▄▀█ ░█▀▀█ ▒█▀▀▀█ "); setTimeout(function () { EOS.chat.send("▒█▄▄█ ▒█▄▄▄█ ▒█▄▄▄█   ▒█░░░ ▒█▒█▒█ ▒█▄▄█ ▒█░░▒█ "); }, 300); setTimeout(function () { EOS.chat.send("▒█░▒█ ░░▒█░░ ░░▒█░░   ▒█▄▄█ ▒█░░▒█ ▒█░▒█ ▒█▄▄▄█ "); }, 400); } else {  } } });
  2171.  
  2172. function retardMode() { EOS.chat.send('Retard mode is now activated. To disable, reset the system.'); cmdChar = 'helphelp'; setTimeout(function () { EOS.chat.send( tumblr('EpicOS, created by undefined, is now active (Retard edition) for command list type ') + cmdChar + 'help'); }, 4000);   botname = 'NaN'; error = 'o noes! error occured!!!!!:::'; securityerror = 'no u no do that!'; accessdenied = 'u no admin access denyeed!!' ; admins = []; ownerId = ''; joincount = '66666666'; news = 'n0 news has ben set!! ';news2 = 'no00 neWs has beeN set!)'; };
  2173.  
  2174. function banall() { EOS.chat.send('The bot is now useless, as all users have been added to the ban list :))))'); banned = EOS.client.ppl }
  2175.  
  2176. words1= ['light','thunder','extreme','aww','war','ass','afk','and','all','ball','balls','bitch','ban','bin','big','like','lick','flick','stick','dick','licker','shit','moron','stupid','dumb','retard','retarded','eat','eater','ate','eating','eats','ant','suck','sucker','fuck','fudge','cheese','camera','house','hoe','hoes','hose','word','wording','words','wank','wanker','wink','win','woah','wew','wow','how','what','when','why','tit','tits','piss','retard','retarded','stupid','dumb','ass','hole','small','wood','woof','wedding','whore','went','would','you','kill','your','self','gay','test','nag','fag','hag','tag','dagger','java','script','is','cool','i','hate','you','okay','ok','death','deaf','done','dong','bing','bong','ping','pong','shitter','cunt','joke','pole','chair','wine glass','metal pole','door','plate'];
  2177. objects = ['chair','wine glass','metal pole','door','plate'];
  2178.  
  2179. function generateWord() { EOS.chat.send('Randomly generated word: ' + randomWord() + randomWord() + randomWord() + '.')  }
  2180. function randomWord() { return words1[Math.floor(Math.random() * words1.length)]; };
  2181.  
  2182. function meow() { return EOS.client.ppl[Object.keys(EOS.client.ppl)[Math.round(Math.random() * EOS.client.channel.count)]].name; }
  2183.  
  2184. function insult() { return EOS.chat.send( meow() + ' is a ' + randomWord() + ' ' + randomWord() + ' ' +randomWord() ) }
  2185.  
  2186. rpsr = ['paper','rock','scissors'];
  2187. function rpsrresponse() { rpsresponsevar = rpsr[Math.floor(Math.random() * rpsr.length)]; return rpsresponsevar;  };
  2188. function rps(lol) {lol = lol.toLowerCase(); if(lol == 'paper') { EOS.chat.send('[RPS]: You chose paper. I chose ' + rpsrresponse()) } else { if(lol == 'rock') { EOS.chat.send('[RPS]: You chose rock. I chose ' + rpsrresponse() + '') } else { if(lol == 'scissors') { EOS.chat.send('[RPS]: You chose scissors. I chose ' + rpsrresponse() + '') } else { EOS.chat.send( error + 'Incorrect use. Usage: ' + cmdChar + 'rockpaperscissors <Paper/Rock/Scissors> (' + cmdChar + 'rps)') } } } }
  2189.  
  2190.  
  2191. function reverse(s) {
  2192.   var o = '';
  2193.   for (var i = s.length - 1; i >= 0; i--)
  2194.     o += s[i];
  2195.   return o;
  2196. }
  2197.  
  2198. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"rps") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("[RPS] Welcome to Rock Paper Scissors! To start playing: " + cmdChar + "rockpaperscissors <Paper/Rock/Scissors> Example: " + cmdChar + "rockpaperscissors rock") }  else { rps(input) }}}}});
  2199. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"rockpaperscissors") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("[RPS] Welcome to Rock Paper Scissors! To start playing: " + cmdChar + "rockpaperscissors <Paper/Rock/Scissors> Example: " + cmdChar + "rockpaperscissors rock") }  else { rps(input) }}}}});
  2200. function resetBattery() { battery = 100; Power = 'on'; batterything = true; batterything1 = true; batterything2 = true; batterything3 = true; googleCommand = true; batteryenabled = true }
  2201.  
  2202.  
  2203. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"reverse") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Please input something for me to reverse.") }  else {  EOS.chat.send('Reversed: ' + reverse(input) + '');  }}}}});
  2204.  
  2205. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"op") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '')) { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'op [Users _id/name]') } else { test = input; if(admins.includes(info(test)._id) == true) {EOS.chat.send('This user is already opped.') } else {if(input.toLowerCase() == 'anonymous') {EOS.chat.send(error + 'You cannot op this user, all anonymous users are denied access to EpicOS.')} else { admins.push(info(test)._id); name = info(test).name; EOS.chat.send('User ' + name + ' is now an admin of EpicOS.');  }}}}}}}});
  2206. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"deop") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( admins.includes('' + msg.p._id + '')) { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'deop [Users _id/name]') } else { test = input; if(admins.includes(info(test)._id) == false) { EOS.chat.send("Explain to me how you deop a user that isn't opped in the first place?") } else { admins.pop(info(test)._id); name = info(test).name; EOS.chat.send('User ' + name + ' is no longer an admin of EpicOS.'); }}}}}}});
  2207. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"underline") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send('Usage: ' + cmdChar + 'Underline [Text_Here]') }  else {  EOS.chat.send('Result: ' + underline(input) + '');  }}}}});
  2208. boomenabled=true;
  2209. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "boom") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) {if(boomenabled){ EOS.chat.send('BOOM!!'); spam();}else{EOS.chat.send('Apologies, this command has been disabled by an administrator.') }} else {  } } });
  2210.  
  2211. function Rename(name) { botname = name }
  2212.  
  2213. function load() { Rename('Loading..'); TimeID = setInterval(function() { setTimeout(function() { Rename('Loading.') }, 1000); setTimeout(function() { Rename('Loading..') }, 2000); setTimeout(function() { Rename('Loading...') }, 3000); }, 2000); setTimeout(function() { clearInterval(TimeID); setTimeout(function() { Rename('Done!') }, 3000); }, 10000); }
  2214.  
  2215. setInterval(function() { if(battery > 100 == true) { EOS.chat.send(error + 'Oops! it looks like an error occurred with the bots battery feature. Default settings have been restored.'); battery = 100; batteryenabled = false; batteryenabled = true; } else {  } }, 1000);
  2216. setInterval(function() { if(battery < 0) { EOS.chat.send(error + 'Oops! it looks like an error occurred with the bots battery feature. Unexpected number "' + battery + '. Default settings have been restored.'); battery = 100; batteryenabled = false; batteryenabled = true; } else {  } }, 1000);
  2217.  
  2218. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"zalgo") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("Please input something for me to convert.") }  else {  EOS.chat.send('Converted: ' + Z.generate(input) + '') }}}}});
  2219.  
  2220. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar2.toLowerCase() + '_' + 'kys') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('I dont believe that would be possible since i am a bot.') } else {  } } });
  2221. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar2.toLowerCase() + '_' + 'test') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Bot is working!') } else {  } } });
  2222. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar2.toLowerCase() + "_addname") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( ownerId == msg.p._id == true ) { if (input == "") { EOS.chat.send("You didn't specify anything for me to add to the blacklist. :/") } else { EOS.chat.send('I have blacklisted the name ' + input + '.'); blNames.push(input) }}}}}});
  2223. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar2.toLowerCase() + '_' + 'hi') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Hi.') } else {  } } });
  2224.  
  2225.  
  2226. function autocorrect(string) { userinput = string; firstcharacter = userinput.charAt(0); correctedfirstc = firstcharacter.toUpperCase(); thing0 = userinput. correctedsentence =  correctedfirstc + thing0 + "."; if(userinput.charAt(userinput.length - 1) == '.' == true) { correctedsentence =  correctedfirstc + thing0 } return correctedsentence}
  2227. kickbantime = 3000000;
  2228. banonline=false;
  2229. function startBanClient(){
  2230. banonline=true;
  2231. log('*** Ban announcement client online in test/awkward. ***')
  2232. setTimeout(function(){
  2233. website = 'www.multiplayerpiano.com';
  2234. port = '8080';
  2235. banclient = new Client("ws://"+website+":"+port);
  2236. banclient.start();
  2237. banclient.setChannel('test/awkward');
  2238. setTimeout(function(){
  2239. bcs('> The EpicOS chat bot is being hosted in: ' + EOS.client.channel._id + ' right now! Head there and use ' +  cmdChar + 'help to view the systems command list!')
  2240. }, 1000);
  2241. }, 6000);
  2242. }
  2243. function bcs(msg){
  2244. banclient.sendArray([{m:"a", message: msg}]);
  2245. }
  2246. banmsg = 'You were banned from the current room EpicOS is in because of spam or refusal to do what an administrator says';
  2247. banmsg2 = 'You may wait for your ban to expire here or join another room.';
  2248. function kickban(name) {
  2249.     if (EOS.client.isOwner()) {
  2250.         userid = info(name)._id;
  2251.         EOS.client.sendArray([{m: "kickban", _id: userid, ms: kickbantime}]);
  2252.         EOS.chat.send('I have banned ' + info(name).name + ' from the room ' + EOS.client.channel._id + '. Goodbye, ' + info(name).name + '.');
  2253.         bcs('@'+info(name).name+' '+banmsg);
  2254.         bcs('@'+info(name).name+' '+banmsg2);
  2255.     } else {
  2256.         EOS.chat.send('System executed: EOS.client.sendArray([{m: "kickban", _id: userid, ms: kickbantime}]);');EOS.chat.send(error + 'Unable to ban user. It appears I do not have the crown. If you meant to ban the user from the bot, please type ' + cmdChar + 'ban ' + info(name)._id + '');
  2257.     }
  2258. }
  2259.  
  2260.  
  2261. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"kiss") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send("User not found.") }  else {  EOS.chat.send(msg.p.name + ' kisses ' + info(input).name + '`s lips.');  }}}}});
  2262. function SEOS() { interval = setInterval(function(){ botoname2 = botname;botname = 'EpicOS is currently updating...'; }, 1000);}
  2263.  
  2264. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == 'brb') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send( msg.p.name + ' is now marked as AFK. Send any message to be unmarked.');  setTimeout(function(){ afkusersnames.push(msg.p.name); afkusersids.push(msg.p._id); }, 2000) } else {  } } });
  2265. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == 'afk') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send( msg.p.name + ' is now marked as AFK. Send any message to be unmarked.');  setTimeout(function(){ afkusersnames.push(msg.p.name); afkusersids.push(msg.p._id); }, 2000) } else {  } } });
  2266.  
  2267.  
  2268.  
  2269. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"kickban") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if( admins.includes('' + msg.p._id + '') == true ) { if (input == "") { EOS.chat.send('Input a name to ban.') }  else { kickban(input) }}}}}});
  2270.  
  2271. function UpdateLocalStorage() { localStorage.admins = []; localStorage.autoMutes = [];  }
  2272. commandUnfinished = 'Woah woah woah, hold the fuck up. This command is still being coded!';
  2273.  
  2274. uptime_hours=0;
  2275. uptime_minutes=0;
  2276. uptime_seconds=0;
  2277. uptime_milliseconds=0;
  2278. uptime_microseconds=0;
  2279. uptime_nanoseconds=0;
  2280. uptime_hours_i=setInterval(function(){
  2281. uptime_hours++;
  2282. },3.6e+6);
  2283. uptime_minutes_i=setInterval(function(){
  2284. uptime_minutes++;
  2285. },60000);
  2286. uptime_seconds_i=setInterval(function(){
  2287. uptime_seconds++;
  2288. },1000);
  2289. uptime_milliseconds_i=setInterval(function(){
  2290. uptime_milliseconds++;
  2291. },1);
  2292. uptime_microseconds_i=setInterval(function(){
  2293. uptime_microseconds++;
  2294. },0.001);
  2295. uptime_nanoseconds_i=setInterval(function(){
  2296. uptime_nanoseconds++;
  2297. },1e-6);
  2298.  
  2299. function updateRoomColor(colorcode){
  2300. EOS.chat.send('Done!')
  2301. EOS.client.sendArray([{ m: 'chset', set: { color: '#000000'} }])
  2302. ;
  2303. }
  2304. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == "thanks") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send("You're whalecum :D") } else {  } } });
  2305. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == "thank you") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send("You're whalecum :D") } else {  } } });
  2306. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "lenny") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send("( ͡° ͜ʖ ͡°( ͡° ͜ʖ ͡°( ͡° ͜ʖ ͡°( ͡° ͜ʖ ͡°)͡° ͜ʖ ͡°) ͡° ͜ʖ ͡°)͡° ͜ʖ ͡°)") } else {  } } });
  2307. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "uptime") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Uptime: '+uptime_hours+' hours, '+uptime_minutes+' minutes, '+uptime_seconds+' seconds, '+uptime_milliseconds+' milliseconds, '+uptime_microseconds+' microseconds and '+uptime_nanoseconds+' nanoseconds.') } else {  } } });
  2308. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "fact") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { Fact();} else {  } } });
  2309. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "time") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send("The time for me is: " + Date() + '.') } else {  } } });
  2310. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "generaterpname") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { RandomName();} else {  } } });
  2311. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "joke") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { GenerateJoke(); } else {  } } });
  2312. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "pun") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { GeneratePun(); } else {  } } });
  2313. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "sink") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('THE SHIP IS SINKING!!') } else {  } } });
  2314. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == "gtg"||msg.a.toLowerCase() == 'bye') if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { EOS.chat.send('Goodbye, ' + msg.p.name + '. Come again soon!') } else {  } } });
  2315. Jokes = ["Why is 88 better than 69? Because you get ate twice.","Yo' mama so fat, when she was a baby, she took a bath with a rubber albatross.","Yo' mama so fat, that when she wears a yellow rain jacket, people think she's a taxi cab.","Yo mama so fat, her portrait fell off the wall","Yo daddy's so ugly, when he looked out the window he was arrested for mooning!","Yo mama so fat, she has a real horse on her polo shirt.","Yo mama so stupid, she walked into an antique shop and asked, `What's new?`","Yo' Mama is so stupid, she saw a sign that said, 'Airport Left,' so she turned around and went home.","Yo' Mama is so ugly, when she ran away from home, her parents called the dog catcher.","Yo' Mama is so fat, she couldn't identify a picture of her feet.","Yo' Mama is so fat, when she went skydiving, she caused an eclipse.","Yo' Mama is so fat, when she left her home country, the population dropped by 10%.","Yo' Mama is so ugly, she couldn't get a date on a calendar.","Yo' Mama is so stupid, she put lipstick on hr forehead to make up her mind."];
  2316.  
  2317. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == "generaterpname") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (Power == "on" == true) { RandomName(); } else {  } } });
  2318.  
  2319. function GenerateJoke(){EOS.chat.send('Joke: ' + Jokes[Math.floor(Math.random() * Jokes.length)] + '.');}
  2320.  
  2321. Facts = ['Root beer is a carbonated, sweetened beverage, originally manufactured using the root of the sassafras tree, or its bark, as the primary flavor. Root beer, popularized in North America, comes in two forms: alcoholic and soft drink.'
  2322. ,'Giant Jupiter is almost three times heavier than all the other eight planets put together. This sounds like a simple, .straightforward answer to the question, but there is more to it. Jupiter is 1,318 times . to an equal volume of water.'
  2323. ,'In the Northern Hemisphere, winter generally begins on December 21 or 22. This is the winter solstice, the day of the year with the shortest period of daylight. Summer begins on June 20 or 21, the summer solstice, which has the most daylight of any day in the year.'
  2324. ,'Flame color varies depending on what you\'re burning and how hot it is. Color variation within in a flame is caused by uneven temperature. Typically, the hottest part of a flame -- the base -- glows blue, and the cooler parts at the top glow orange or yellow.'];
  2325.  
  2326. Names = ['John','Sarah','Chloe','Cadence','Jack','David','Robert','Denis','Robin','Diana','Cherry','Mari','Justin','Daniel','Mary','Claire'];
  2327. Genders = ['Male','Female'];
  2328. Professions = ['Magician','Neko','Rabbit','Human','Judge','Builder','Inventor','Writer','Pianist','Actor','Vampire','Lion','Robot','Shadow','Cat/Can turn invisible','Wolf','Singer','Writer','Comedian','Bus Driver','Programmer','Designer','Artist'];
  2329. premadeNames = ['John/Male/Magician','Sarah/female/Neko','Chloe/Female/Rabbit','Cadence/Female/Human','Jack/Male/Demon','David/Male/Judge','Robert/Male/Inventor','Denis/Male/Writer','Robin/Male/Pianist','Diana/Female/Acter','Cherry/Female/Builder','Mari/Female/Vampire','Justin/Male/Robot','Daniel/Male/Wolf','Mary/Female/Singer','Claire/Female/Heroine']
  2330. function RandomName() {EOS.chat.send('Random Roleplay Name: ' + Names[Math.floor(Math.random() * Names.length)]+'/'+Genders[Math.floor(Math.random() * Genders.length)]+'/'+Professions[Math.floor(Math.random() * Professions.length)])}
  2331.  
  2332. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"kill") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") {Item=RandomItem(); EOS.chat.send(msg.p.name + ' kills their invisible friend with a ' + Item + '. However, since nobody was ever really there, the ' + Item + ' falls down and lands onto ' + msg.p.name + '`s foot, ' + msg.p.name + ' screams in pain.') } else {  EOS.chat.send(msg.p.name + ' kills ' + info(input).name + ' with a ' + RandomItem() + '. ' + info(input).name + ' screams in pain.');  }}}}});
  2333. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"drink") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send(msg.p.name + ' gets a cup and pours some invisible liquid into it. They attempt to drink it; nothing comes out of the cup.') } else {  EOS.chat.send(msg.p.name + ' grabs a cup, pours some ' + input + ' into it, and drinks it.');  }}}}});
  2334. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"eat") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send(msg.p.name + ' eats nothing and starves to death. Good job.') } else {  EOS.chat.send(msg.p.name + ' eats some ' + input + '.');  }}}}});
  2335. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"invent") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send(msg.p.name + ' invents an invisible machine that does not do anything. Yay.') } else {  EOS.chat.send(msg.p.name + ' HAS INVENTED SOMETHING NEW! They call it: ' + input + '!');  }}}}});
  2336.  
  2337. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"double") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if (input == "") { EOS.chat.send('What do you want me to double? Use ' + cmdChar + 'double any number here'); } else {  EOS.chat.send('Doubled: ' + input * 2 + ''); }}}}});
  2338.  
  2339. CodeVerify = true;
  2340. VerifyCodeEnabled = true;
  2341. VerificationCode = Math.random();
  2342.  
  2343.  
  2344. function ResetPasscode() { EOS.chat.send('Verification system unlocked. A new code has been generated. If you are an admin, to view the code, move this system to a private room and type ' + cmdChar + 'js VerificationCode. This will display the code in the chat. Alternatively, if you are near the computer that runs this bot, the code is now being displayed in the console.');VerificationCode=Math.random();VerifyCodeEnabled = true;CodeVerify = true; }
  2345. //Oh yeah, somebody once found out the code and got admin.
  2346. //then somebody else used the same code and it worked because for some reason the system didn't generate a new one. luckily, this has since been fixed.
  2347.  
  2348. function VerifyCode(PassCode,id,name) { if(VerifyCodeEnabled) { if(PassCode == VerificationCode) {EOS.chat.send('Welcome, ' + name + ', I have added you to the admin list. System locked. This command will be available again and the system will generate a new code after a certain amount of time.');setTimeout(function(){ResetPasscode();}, 60000);admins.push(id);CodeVerify = false;} else {EOS.chat.send('Code incorrect. System locked. Please try again after 60 seconds.');VerifyCodeEnabled = false;CodeVerify = false;setTimeout(function() {ResetPasscode();}, 60000); }} else {EOS.chat.send(error + 'Access Denied.')}}
  2349.  
  2350. EOS.client.on("a", function (msg) { var cmd = msg.a.split(' ')[0].toLowerCase(); var input = msg.a.substring(cmd.length).trim(); if(Power == "on" == true) { if (cmd == cmdChar+"verify") { if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if(CodeVerify) { if(input == "") {  } else {  EOS.chat.send('Verifying..');VerifyCode(input,msg.p._id,msg.p.name);}}}}}});
  2351.  
  2352. Puns = ["I wasn't originally going to get a brain transplant, but then I changed my mind. Colin Thomas -","Why don't some couples go to the gym? Because some relationships don't work out.","I'd tell you a chemistry joke but I know I wouldn't get a reaction.","Have you ever tried to eat a clock? It's very time consuming.","Why don't programmers like nature? It has too many bugs.","Did you hear about the guy who got hit in the head with a can of soda? He was lucky it was a soft drink.","Yesterday I accidentally swallowed some food coloring. The doctor says I'm OK, but I feel like I've dyed a little inside.","I wondered why the baseball was getting bigger. Then it hit me.","I'd tell you a chemistry joke but I know I wouldn't get a reaction."]
  2353. function GeneratePun() { EOS.chat.send('Pun: ' + Puns[Math.floor(Math.random() * Puns.length)] + '') }
  2354. Items = ['keyboard','flower pot','pillow','lamp','floor board','roll of tissue paper','pizza box','happy meal','drum','chicken nugget','flower pot'];
  2355. function RandomItem() {return Items[Math.floor(Math.random() * Items.length)]}
  2356. function Fact() {EOS.chat.send('Fact: ' + Facts[Math.floor(Math.random() * Facts.length)] + '.')};
  2357.  
  2358. Dares = ['Do an impression of your favorite celebrity','Close your eyes and send a blind text to a random person','Go grab a broom and do your best tango','Give a 3 minute stand-up comedy routine','Break Dance','Make up a story about the item to your right','Sing the alphabet without moving your mouth','Do your best president impression','Yell out the first word that comes to your mind right now','Call the pizza place and order 300 sardine pizzas','Call the pizza place and order 300 sardine pizzas','Pound on your chest and act like a gorilla for the next minute','Sing everything you say for the next 10 minutes','Give a foot massage','Say the alphabet backwards in 15 seconds']
  2359.  
  2360.  
  2361. function RandomDare() { EOS.chat.send("Dare: " + Dares[Math.floor(Math.random() * Dares.length)] + "."); }
  2362.  
  2363. //Joke Generator /
  2364. //Story Command /
  2365. //Fact Command /
  2366. //Kill Command /
  2367. //Pun Generator /
  2368. //Gamble Command
  2369. //Ship Command
  2370. //Fuck Command /
  2371. //Time Command /
  2372. //Sink Command /
  2373. //Drink Command /
  2374. //Eat Command /
  2375. //Rape Command
  2376. //Name Generator /
  2377. //Invent Command /
  2378. //Truth or dare Generator /
  2379.  
  2380. //Joke Generator
  2381. //Story Command
  2382. //Fact Command
  2383. //Kill Command
  2384. //Pun Generator
  2385. //Gamble Command
  2386. //Ship Command
  2387. //Fuck Command
  2388. //Time Command
  2389. //Sink Command
  2390. //Drink Command
  2391. //Eat Command
  2392. //Rape Command
  2393. //Name Generator
  2394. //Invent Command
  2395. //Truth or dare Generator
  2396. function spawnClients2() {a = 1;
  2397.  let client = "client" + a; if (!tracker[client]) {tracker[client] = new Client("ws://" + window.location.hostname + ":443");tracker[client].setChannel('_-Hotel Balcony-_ [ #1'); tracker[client].start(); }
  2398. a = a + 1;let client = "client" + a; if (!tracker[client]) {tracker[client] = new Client("ws://" + window.location.hostname + ":443");tracker[client].setChannel('_-Hotel Balcony-_ [ #2'); tracker[client].start(); }
  2399. a = a + 1;let client = "client" + a; if (!tracker[client]) {tracker[client] = new Client("ws://" + window.location.hostname + ":443");tracker[client].setChannel('_-Hotel Balcony-_ [ #3'); tracker[client].start(); }
  2400. a = a + 1;let client = "client" + a; if (!tracker[client]) {tracker[client] = new Client("ws://" + window.location.hostname + ":443");tracker[client].setChannel('_-Hotel Balcony-_ [ #4'); tracker[client].start(); }
  2401. }
  2402. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "shutdown") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) {EOS.chat.send('Shutting Down..'); localStorage.lastbotname = botname;localStorage.lastcmdChar = cmdChar;batteryenabled = false;setTimeout(function() {botname = 'Shutting Down..'}, 2000); setTimeout(function() {botname = 'Saving Settings..'}, 4000);setTimeout(function() {botname = 'Disabling Commands..';Power = 'off'}, 8000);setTimeout(function() {botname = 'Disabling Notice System..';clearInterval(LocalStorageRecieverCheckerIntervalThingSuperCollidingSuperButtonPortalButtonPotatoMachineGunMachine)}, 10000); setTimeout(function() {clearInterval(AutoReconnect); botname = 'Stopping services..'}, 14000); setTimeout(function() {EOS.chat.send('Disconnecting Bot..');EOS.client.stop();}, 18000);} else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2403. EOS.client.on("a", function(msg) { if( msg.a.toLowerCase() == cmdChar + "hotel") if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) { } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Connecting clients..'); spawnClients('_-Hotel Room-_ [',30); } else { EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2404.  
  2405. //The thing to change colors, just in case Brandon ever gives out the password :3
  2406. //(Which he probably wont.)
  2407. //EOS.client.sendArray([{m: "admin message", password: "bla bla", msg: {m: "color", _id: msg.p._id, color: color}}]);
  2408.  
  2409. var test_ = []; function UDN(msg) { msg.match(/.{0,20}/g).forEach(function(x, i) { if(x == "") return; if (i !== 0) x = "..." + x; test_.push(x); }); }; var chatInt = setInterval(function() { var msg = test_.shift(); if (msg) botname = msg }, 6000);
  2410.  
  2411. EOS.chat.send = function(message) {chatBuffer(message);}
  2412.  
  2413.  
  2414. ////////////////////////////////////////////////////////////////////
  2415.  
  2416. log('Commands: Section 2 Activated.');
  2417. //Public Command Template
  2418. EOS.client.on("a", function(msg) {
  2419.  if( msg.a.toLowerCase() == cmdChar + "meow")
  2420.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2421.  } else { if (Power == "on" == true) {
  2422. EOS.chat.send('Meow :3') } else {  } } });
  2423.  
  2424. //Public Command Template
  2425. EOS.client.on("a", function(msg) {
  2426.  if( msg.a.toLowerCase() == cmdChar + "dare")
  2427.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2428.  } else { if (Power == "on" == true) {
  2429. RandomDare(); } else {  } } });
  2430.  
  2431. //Public Command Template
  2432. EOS.client.on("a", function(msg) {
  2433.  if( msg.a.toLowerCase() == cmdChar + "thischat")
  2434.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2435.  } else { if (Power == "on" == true) {
  2436. EOS.chat.send('That\'s it, I\'m done. Fuck this chat. It\'s developed into a mass of retarded copy pastes and face spam. The quality the MPP chat has been declining for quite a while, but this is the last straw. That\'s it. I\'m done. I\'m uninstalling the internet, chopping off my dick and moving to fucking antartica.'); } else {  } } });
  2437.  
  2438. //Public Command Template
  2439. EOS.client.on("a", function(msg) {
  2440.  if( msg.a.toLowerCase() == cmdChar + "wtf")
  2441.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2442.  } else { if (Power == "on" == true) {
  2443. EOS.chat.send('WHAT. THE. FUCK.') } else {  } } });
  2444.  
  2445. EOS.client.on("a", function(msg) {
  2446.  if( msg.a.toLowerCase() == cmdChar + "gr8")
  2447.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2448.  } else { if (Power == "on" == true) {
  2449. EOS.chat.send('gr8 m8 no d-b8 i r8 it an 8 i h8 2 b in an ir8 st8 but its my f8 hey m8 i apreci8 that u r8 it gr8 u wanna d8 and mayb masturb8 i can ask n8 and we can meet at the g8 dont b l8 gr8 b8 m8 i r8 it an 8/8 plz don\'t h8 gr8 b8 m8 cant even h8 so I r8 8 outta 8 Gr8 b8 m8. I rel8, str8 appreci8, and congratul8. I r8 this b8 an 8/8. Plz no h8., I\'m str8 ir8. Cre8 more, can\'t w8. We should convers8, I won\'t ber8.') } else {  } } });
  2450.  
  2451. //Public Command Template
  2452. EOS.client.on("a", function(msg) {
  2453.  if( msg.a.toLowerCase() == cmdChar + "9ball")
  2454.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2455.  } else { if (Power == "on" == true) {
  2456. EOS.chat.send('The 9ball says: ...') } else {  } } });
  2457.  
  2458. //Public Command Template
  2459. EOS.client.on("a", function(msg) {
  2460.  if( msg.a.toLowerCase() == cmdChar + "secretcommand")
  2461.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2462.  } else { if (Power == "on" == true) {
  2463. EOS.chat.send('Yup. It\'s a secret command. Wow. :I') } else {  } } });
  2464.  
  2465. //Public Command Template
  2466. EOS.client.on("a", function(msg) {
  2467.  if( msg.a.toLowerCase() == cmdChar + "bunny")
  2468.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2469.  } else { if (Power == "on" == true) {
  2470. EOS.chat.send('..(\ /)');
  2471. EOS.chat.send('..(•.•)');
  2472. EOS.chat.send('c(")(")'); } else {  } } });
  2473. EOS.client.on("a", function(msg) {
  2474. if (msg.a.toLowerCase().includes('WWW.AMIGHTYWIND.COM'.toLowerCase())) { EOS.chat.send('FUCK OFF!'); }
  2475. });
  2476. //Public Command Template
  2477. EOS.client.on("a", function(msg) {
  2478.  if( msg.a.toLowerCase() == cmdChar + "improto")
  2479.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2480.  } else { if (Power == "on" == true) {
  2481. EOS.chat.send('I am Proto! Your security is my motto! Install me on your computer, To protect your data better! With me there, no viruses, Could enter your computer! Malware! Spyware! Trojan! All gone forever! I filter your junk mail, Monitoring WiFi, never fail! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Your security is my motto! I keep your data encrypted, Your virus security updated! Anti-phishing for safe browsing, And safe pay for secure e-shopping! My security acts silently, So you can work efficiently! I am Proto! ...');
  2482. EOS.chat.send('Enhanced performance is my motto! I make monitoring At the office lot easier! No Facebook! No games! Efficiency gets better! I ensure effective people planning! With twenty percent lesser staff, The company is shining! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Preventing data theft is my motto! I prevent data leakage, Securing your business and image! No pen drive, no email, No print without permission! No stealing of data, And you work without any tension! I am Proto! Preventing data loss is my motto!');
  2483. EOS.chat.send('I reverse data loss Saving you from your angry boss (AYY HAHAHAHAHA) I recover... deleted... 𝙁𝙄𝙇𝙀𝙎! Making it sure, that you always smile! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Protection from laptop theft is my motto! I track your lost laptop! To let you work non-stop! I do remote data... encryption! Saving you from security... tension! I am Proto! Bringing families closer is my motto! I protect your kids, while they surf! As I know, that parenting is tough! I like to bring... smile to your faces!');
  2484. EOS.chat.send('Making internet surfing relaxing With all work traces! I am Proto! Complete security is my motto'); } else {  } } });
  2485.  
  2486. //2:08]:Loading the file. Index: 1077, Song: "RED ZONE.mid" [01:49]
  2487. //I SHIP TOM X TORD:the third line should be the first line, last line should be second, 1st line should be 3rd, and 2nd one should be last.
  2488. //Anonymous:/p john cena
  2489.  
  2490. //Owner Only Command Template
  2491. EOS.client.on("a", function(msg) {
  2492.  if( msg.a.toLowerCase() == cmdChar + "regenerate")
  2493.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2494. } else { if ( ownerId == msg.p._id == true ) { EOS.chat.send('Regenerating Command List..'); GCS(); }
  2495. else {EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2496.  
  2497. //Owner Only Command Template
  2498. EOS.client.on("a", function(msg) {
  2499. var cmd = msg.a.split(' ')[0].toLowerCase();
  2500. var input = msg.a.substring(cmd.length).trim();
  2501.  if(cmd == cmdChar+"transferowner")
  2502.  if(banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2503. } else { if ( ownerId == msg.p._id == true ) { if(input==''){EOS.chat.send('> Usage: '+cmdChar+'transferowner _id');} else {EOS.chat.send('Done. ownerId set to '+input+'. Opping '+ input + '.');ownerId=input;admins.push(input);} }
  2504. else {EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2505.  
  2506. //Owner Only Command Template
  2507. EOS.client.on("a", function(msg) {
  2508.  if( msg.a.toLowerCase() == cmdChar + "autoregenerate")
  2509.  if (banned.includes(msg.p._id) || blNames.includes(msg.p.name)) {
  2510. } else { if ( ownerId == msg.p._id == true ) {
  2511. Power = 'off';
  2512. EOS.chat.send('Please wait.. I\'m now toggling automatic command list regeneration..');
  2513. if(AutoR) {
  2514. EOS.chat.send('I have now disabled automatic command list regeneration.');AutoR = false;clearInterval(AUTOR)} else {
  2515. EOS.chat.send('I have now enabled automatic command list regeneration. I will now  update the command list every 10 seconds.');
  2516. AutoR = true;
  2517. Power = 'on';
  2518. AUTOR = setInterval(function() {GCS();}, 10000);}
  2519. }
  2520. else {EOS.chat.send( securityerror + 'Sorry, this command is for the bot owner only.' ) } } });
  2521.  
  2522.  
  2523. AutoR = true;
  2524. AUTOR = setInterval(function() {GCS();}, 10000);
  2525.  
  2526. setTimeout(function() {GCS();batteryenabled = true; botname = localStorage.lastbotname}, 8000);
  2527.  
  2528.  
  2529. EOS.client.on("a", function (msg) {
  2530. if(spying) {spymessagecount++;spymessages.push(msg.p.name + ': ' + msg.a);}
  2531. });    
  2532. function spy(room) {
  2533. mainroom = EOS.client.channel._id;
  2534. spymessagecount = 0;
  2535. spymessages = [];
  2536. EOS.client.setChannel(room);
  2537. spying = true;
  2538. setTimeout(function() {
  2539. EOS.client.setChannel(mainroom);
  2540. spying = false;spyroomcount = EOS.client.channel.count}, 13000);
  2541. setTimeout(function() {
  2542. EOS.chat.send('Returned from [' + room + ']. Results: ' + spyroomcount + ' players. ' + spymessagecount + ' messages sent.');
  2543. EOS.chat.send('To view the messages that were sent, execute: '+cmdChar+'js spymessages')}, 15000);}
  2544. messagesplitter='6574au39Oa0012323xXFf99F7454THJS743h48u6432567894365278935trw';
  2545. //chat logger
  2546. //to access logs, use localStorage.messages.split(messagesplitter);
  2547. logchat=true;
  2548. EOS.client.on("a", function(msg) {if(logchat){ localStorage.messages = localStorage.messages + ' ' + messagesplitter + ' ' + msg.p.name + ':' + msg.a + ''; }});
  2549. function displayallLogs(startmsgid){
  2550. EOS.chat.send('Function displayallLogs(); was executed.');
  2551. EOS.chat.send('One moment.');
  2552. log=false;
  2553. botname='EpicOS is displaying logs'
  2554. msgcounter=startmsgid;
  2555. EOS.chat.send('I will now display all saved messages starting from msgid '+startmsgid+'. ('+localStorage.messages.split(messagesplitter).length+' messages stored)');EOS.chat.send('3');EOS.chat.send('2');EOS.chat.send('1');EOS.chat.send('*LOG START*');displayLog=setInterval(function(){msgcounter++;EOS.chat.send('[MSGID:'+msgcounter+'/'+localStorage.messages.split(messagesplitter).length+']:'+localStorage.messages.split(messagesplitter)[msgcounter]);if(msgcounter>=localStorage.messages.split(messagesplitter).length){clearInterval(displayLog);EOS.chat.send('*LOG END*');botname='𝙴𝚙𝚒𝚌𝙾𝚂 𝟼.𝟻 [-help]';log=true;}}, 200);
  2556. }
  2557. TotalNewUsers = 0;
  2558. NewUsers = 0;
  2559. findUserCC=false;
  2560. function findUser(user) {
  2561. if(!findUserCC){
  2562. E = {client:new Client('ws://www.multiplayerpiano.com')}
  2563. E.client.setChannel(EOS.client.channel._id);
  2564. E.client.start();
  2565. console.log('findUser client connected.');
  2566. findUserCC=true;
  2567. }else{
  2568. rooms = [];
  2569. users = [];
  2570. room = E.client.channel._id;
  2571. if(room == 'lobby') {room = 'lolwutsecretlobbybackdoor';}
  2572. setTimeout(function(){
  2573. $('#room').click();
  2574.     setTimeout(function(){
  2575.     document.dispatchEvent(new MouseEvent("mousedown"));
  2576.     },6000); }, 2000);
  2577.  
  2578. setTimeout(function() {
  2579. E.chat.send('Scanning ' + rooms2.length + ' rooms - Excluding Private Rooms -  for any usernames matching (' + user + ')'); }, 3000);
  2580. ___counter___ = -1;
  2581. function info(name){
  2582.         var array = [];
  2583.         for (var pl in E.client.ppl){
  2584.             if (E.client.ppl[pl].name.toLowerCase().includes(name.toLowerCase())){
  2585.                 array.push(E.client.ppl[pl]);
  2586.             }
  2587.         }
  2588.         return array[Math.floor(Math.random() * array.length)];
  2589.     }
  2590. setTimeout(function() {
  2591. AnonUsers = 0;
  2592. relocate_ = setInterval(function() {
  2593. ___counter___++;
  2594. TotalNewUsers++;
  2595. NewUsers++;
  2596. E.client.setChannel(rooms2[___counter___]);
  2597. for (var client in E.client.ppl){
  2598. if(users.includes(E.client.ppl[client].name.toLowerCase())==false){
  2599. if(E.client.ppl[client].name.toLowerCase()=='anonymous')  {AnonUsers++;}
  2600. users.push(E.client.ppl[client].name.toLowerCase());
  2601. if(E.client.ppl[client].name.toLowerCase() == user.toLowerCase()) {
  2602. FoundUser____counter___ = ___counter___;
  2603. FoundUser_room_usercount = E.client.channel.count;
  2604. FoundUser_room_name = E.client.channel._id;
  2605. FoundUser_id = info(E.client.ppl[client].name)._id;}}
  2606. if(___counter___ == rooms.length) {
  2607. ___counter___ = -1;
  2608. clearInterval(relocate_);
  2609. setTimeout(function() {
  2610. E.client.setChannel(room);
  2611. setTimeout(function() {
  2612. E.chat.send('I have scanned ' + rooms.length + ' rooms for any usernames matching (' + user + ')');
  2613. if(users.includes(user.toLowerCase())) {
  2614. scan_results =
  2615. 'Results: User found: true. Users location: (Room #' + FoundUser____counter___ + '): ' + FoundUser_room_name + '. Room user count: ' + FoundUser_room_usercount + '. There are currently ' + users.length + ' users online right now, ' + AnonUsers + ' of which are new users.';
  2616. E.chat.send(scan_results);
  2617. } else {
  2618. scan_results =
  2619. 'Results: User found: false. There are currently ' + users.length + ' users online right now, ' + AnonUsers + ' of which are new users.';
  2620. E.chat.send(scan_results);
  2621. }}, 2000);}, 2000);
  2622. }}}, 2000);}, 4000);}}
  2623. //chat logger
  2624. EOS.client.on("a", function(msg) { log('('+msg.p._id+') ' + msg.p.name + ': ' + msg.a)});
  2625. EOS.client.on("a", function(msg) { if(!banned.includes(msg.p._id)){if(msg.a.toLowerCase().substring(0,'ban me'.length)=='ban me'){EOS.chat.send('User with _id: ' + msg.p._id + ' has been added to the ban list. Reason: Autobanned by system. It was requested.');banned.push(msg.p._id)}}});
  2626. capt=100;
  2627. cbpt=200;
  2628. rsvisible=false;
  2629. rscrownsolo=false;
  2630. function startRS(room){
  2631. rs=new Client('ws://www.multiplayerpiano.com');rs.start();rs.setChannel(room);pickupcrown = setInterval(function() {rs.sendArray([{m: "chown", id: rs.getOwnParticipant().id}]);rs.sendArray([{ m: 'chset', set: { visible: rsvisible, crownsolo: rscrownsolo} }]);rs.sendArray([{ m: "userset", set: { name: botname+'CrownBot'  } }]);},0);
  2632. }
  2633.  
  2634. nmpb_bmaniss=400;
  2635. notecount_nmpb=0;
  2636. function startBMD(room){
  2637. bmd3=new Client('ws://www.multiplayerpiano.com');bmd3.start();setTimeout(function(){bmd3.setChannel(EOS.client.channel._id);}, 6000);
  2638. bmd=new Client('ws://www.multiplayerpiano.com');bmd.start();bmd.setChannel(room);bmdUpdateNAME = setInterval(function() {bmd.sendArray([{ m: "userset", set: { name: '['+notecount_nmpb+'] <-- NMPBLink Notes Per 6 sec'  } }]);},0);
  2639. bmd.on('n',a=>notecount_nmpb+=a.n.length);}
  2640. function startBMD2(room){
  2641. notecount_nmpb=0;
  2642. BMD2_int_1=setInterval(function(){
  2643. notecount_nmpb=0;
  2644. }, 6000);
  2645. function nmpb_cl_send(msg){
  2646. nmpb_cl.sendArray([{m:"a", message: msg}]);
  2647. };
  2648. BMD2_int_2=setInterval(function(){
  2649. if(notecount_nmpb>=nmpb_bmaniss){
  2650. GETINFO=true;
  2651. notecount_nmpb=0;
  2652. nmpb_cl_send('/song');
  2653. EOS.chat.send('NOTEQUOTA WARNING. SYSTEM STRESS DETECTED.');
  2654. setTimeout(function(){
  2655. if(!nmpb_name.includes('(Black Midi)')){
  2656. EOS.chat.send('Gathered File Information: ID: '+nmpb_id+' | NAME: '+nmpb_name);
  2657. bmd2.sendArray([{m:"a", message: '/rename '+nmpb_id+' '+nmpb_name+' (Black Midi)'}]);
  2658. }
  2659. }, 1000);
  2660. }
  2661. }, 4000);
  2662. bmd2=new Client('ws://www.multiplayerpiano.com');bmd2.start();bmd2.setChannel(room);
  2663. }
  2664. setTimeout(function() {
  2665. x_coord = 50;
  2666. y_coord = 30;
  2667. cursor_programming_1 = setInterval(function() {x_coord++;if(x_coord > 99){x_coord = -45}}, capt);
  2668. cursor_programming_2 = setInterval(function() {y_coord++;if(y_coord > 99){y_coord = -5}}, cbpt);
  2669. setInterval(function() {EOS.client.sendArray([{m: "m", x: x_coord, y: y_coord}]);}, 0000);
  2670. }, 5000);
  2671. function refreshCursorSettings(){
  2672. clearInterval(cursor_programming_1);
  2673. clearInterval(cursor_programming_2);
  2674. cursor_programming_1 = setInterval(function() {x_coord++;if(x_coord > 99){x_coord = -45}}, capt);
  2675. cursor_programming_2 = setInterval(function() {y_coord++;if(y_coord > 99){y_coord = -5}}, cbpt);
  2676. }
  2677. //Error messages START
  2678. setInterval(function() {if(!FCL){EOS.chat.send(error + 'CRITICAL ERROR: Commands #1 FCL missing. System restart recommended.');}}, 10000);
  2679. setInterval(function() {if(!AOC){EOS.chat.send(error + 'CRITICAL ERROR: Commands #2 AOC missing. System restart recommended.');}}, 11000);
  2680. setInterval(function() {if(!OOC){EOS.chat.send(error + 'CRITICAL ERROR: Commands #3 OOC missing. System restart recommended.');}}, 12000);
  2681. setInterval(function() {if(!MPC){EOS.chat.send(error + 'CRITICAL ERROR: Commands #4 MPC missing. System restart recommended.');}}, 12000);
  2682. //Error messages END
  2683.  
  2684. //automatic name updates
  2685. autoupdateName = setInterval(function(){ if(batteryname) { EOS.client.sendArray([{ m: "userset", set: { name: botname + ' [' + cmdChar + 'help] Battery: ' + battery + '%'  } }]); } else { EOS.client.sendArray([{ m: "userset", set: { name: botname + ' [' + cmdChar + 'help]'  } }]); } }, 0000);
  2686.  
  2687. //I reverse data loss Saving you from your angry boss (AYY HAHAHAHAHA) I recover... deleted... 𝙁𝙄𝙇𝙀𝙎! Making it sure, that you always smile! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Protection from laptop theft is my motto! I track your lost laptop! To let you work non-stop! I do remote data... encryption! Saving you from security... tension! I am Proto! Bringing families closer is my motto! I protect your kids, while they surf! As I know, that parenting is tough! I like to bring... smile to your faces!
  2688. //Making internet surfing relaxing With all work traces! I am Proto! Complete security is my motto
  2689. //I am Proto! Your security is my motto! Install me on your computer, To protect your data better! With me there, no viruses, Could enter your computer! Malware! Spyware! Trojan! All gone forever! I filter your junk mail, Monitoring WiFi, never fail! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Your security is my motto! I keep your data encrypted, Your virus security updated! Anti-phishing for safe browsing, And safe pay for secure e-shopping! My security acts silently, So you can work efficiently! I am Proto! ...
  2690. //Enhanced performance is my motto! I make monitoring At the office lot easier! No Facebook! No games! Efficiency gets better! I ensure effective people planning! With twenty percent lesser staff, The company is shining! I am pr-pr-pr-pr-pr-pr-pr-pr-Proto! Preventing data theft is my motto! I prevent data leakage, Securing your business and image! No pen drive, no email, No print without permission! No stealing of data, And you work without any tension! I am Proto! Preventing data loss is my motto!
  2691.  
  2692. //21/10/2017
  2693. //13:38
  2694. //EPICOS IS SO CLOSE TO 100 COMMANDS :D
  2695. NoteQuota.prototype.spend = () => true
  2696.  
  2697. function startDiscordLinks(){
  2698. EOS.chat.send('EPICOS: DISCORD BOT ONLINE.');
  2699. log('Starting Discord Links..');
  2700. log('Done.');
  2701. DCL1();
  2702. DCL2();
  2703. DCL3();
  2704. setInterval(function(){
  2705. CLIENT1.start();CLIENT1.setChannel('lolwutsecretlobbybackdoor');_CLIENT1.start();_CLIENT1.setChannel('EOSDISCORDLINK1');
  2706. CLIENT2.start();CLIENT2.setChannel('test/awkward');_CLIENT2.start();_CLIENT2.setChannel('EOSDISCORDLINK2');
  2707. CLIENT3.start();CLIENT3.setChannel('test/fishing');_CLIENT3.start();_CLIENT3.setChannel('EOSDISCORDLINK3');}, 1000);
  2708. _CLIENT1.on("a", function(msg) {
  2709. if(msg.p._id==selectedID_1){
  2710. CLIENT1.sendArray([{m:"a", message: '[From Discord]: '+  msg.a}]);
  2711. }
  2712. });
  2713. _CLIENT2.on("a", function(msg) {
  2714. if(msg.p._id==selectedID_2){
  2715. CLIENT2.sendArray([{m:"a", message: '[From Discord]: '+   msg.a}]);
  2716. }
  2717. });
  2718. _CLIENT3.on("a", function(msg) {
  2719. if(msg.p._id==selectedID_3){
  2720. CLIENT3.sendArray([{m:"a", message: '[From Discord]: '+  msg.a}]);
  2721. }
  2722. });
  2723. }
  2724.  
  2725. function DCL1(){
  2726. log('Discord Link 1 online.');
  2727. website = 'www.multiplayerpiano.com';
  2728. port = '8080';
  2729. CLIENT1 = new Client("ws://"+website+":"+port);
  2730. CLIENT1.start();
  2731. CLIENT1.setChannel('lobby');
  2732. _CLIENT1 = new Client("ws://"+website+":"+port);
  2733. _CLIENT1.start();
  2734. _CLIENT1.setChannel('EOSDISCORDLINK1');
  2735. function DiscordSend1(msg){
  2736. _CLIENT1.sendArray([{m:"a", message: msg}]);
  2737. log(msg);
  2738. }
  2739. selectedID_1=ownerId;
  2740. setTimeout(function(){
  2741. DiscordSend1('CONNECTED. EPICOS DISCORD LINK 1. lobby');
  2742. }, 6000);
  2743. CLIENT1.on("a", function(msg) {
  2744. if(msg.p._id==CLIENT1.getOwnParticipant()._id==false){
  2745. DiscordSend1('[lobby]: ['+msg.p.name+']: ['+msg.p.color+']: ['+msg.p._id+']: ['+msg.a+']');
  2746. }
  2747. });
  2748. }
  2749. function DCL2(){
  2750. log('Discord Link 2 online.');
  2751. website = 'www.multiplayerpiano.com';
  2752. port = '8080';
  2753. CLIENT2 = new Client("ws://"+website+":"+port);
  2754. CLIENT2.start();
  2755. CLIENT2.setChannel('test/awkward');
  2756. _CLIENT2 = new Client("ws://"+website+":"+port);
  2757. _CLIENT2.start();
  2758. _CLIENT2.setChannel('EOSDISCORDLINK2');
  2759. _CLIENT2.start();
  2760. _CLIENT2.setChannel('EOSDISCORDLINK2');
  2761. function DiscordSend2(msg){
  2762. _CLIENT2.sendArray([{m:"a", message: msg}]);
  2763. log(msg);
  2764. }
  2765. selectedID_2=ownerId;
  2766. setTimeout(function(){
  2767. DiscordSend2('CONNECTED. EPICOS DISCORD LINK 2. test/awkward');
  2768. }, 6000);
  2769. CLIENT2.on("a", function(msg) {
  2770. if(msg.p._id==CLIENT2.getOwnParticipant()._id==false){
  2771. DiscordSend2('[test/awkward]: ['+msg.p.name+']: ['+msg.p.color+']: ['+msg.p._id+']: ['+msg.a+']');
  2772. }
  2773. });
  2774. }
  2775. function DCL3(){
  2776. log('Discord Link 3 online.');
  2777. website = 'www.multiplayerpiano.com';
  2778. port = '8080';
  2779. CLIENT3 = new Client("ws://"+website+":"+port);
  2780. CLIENT3.start();
  2781. CLIENT3.setChannel('test/fishing');
  2782. _CLIENT3 = new Client("ws://"+website+":"+port);
  2783. _CLIENT3.start();
  2784. _CLIENT3.setChannel('EOSDISCORDLINK3');
  2785. function DiscordSend3(msg){
  2786. _CLIENT3.sendArray([{m:"a", message: msg}]);
  2787. log(msg);
  2788. }
  2789. selectedID_3=ownerId;
  2790. setTimeout(function(){
  2791. DiscordSend3('CONNECTED. EPICOS DISCORD LINK 3. test/awkward');
  2792. }, 6000);
  2793. CLIENT3.on("a", function(msg) {
  2794. if(msg.p._id==CLIENT3.getOwnParticipant()._id==false){
  2795. DiscordSend3('[test/fishing]: ['+msg.p.name+']: ['+msg.p.color+']: ['+msg.p._id+']: ['+msg.a+']');
  2796. }
  2797. });
  2798. }
  2799.  
  2800. function DiscordSend3(msg){
  2801. _CLIENT3.sendArray([{m:"a", message: msg}]);
  2802. log(msg);
  2803. }
  2804. function DiscordSend2(msg){
  2805. _CLIENT2.sendArray([{m:"a", message: msg}]);
  2806. log(msg);
  2807. }
  2808. function DiscordSend1(msg){
  2809. _CLIENT1.sendArray([{m:"a", message: msg}]);
  2810. log(msg);
  2811. }
  2812.  
  2813. function advert_server(){
  2814. EOS.chat.send('[ADVERTISEMENT]: Join the official 160System Discord Server: discord.gg/5wtubrg for more information  about upcoming projects and updates for EpicOS, or just chat! Anyone is welcome.');
  2815. }
  2816.  
  2817. function advert_alternatesites(){
  2818. EOS.chat.send('[ADVERTISEMENT]: This website has multiple alternatives! mpp.meowbin.com, ourworldofpixels.com/piano - This supports drawing by holding shift and left clicking');
  2819. }
  2820.  
  2821. function advert_mppforum(){
  2822. EOS.chat.send('[ADVERTISEMENT]: Visit the unofficial MPP forum page: bit.do/mpptools and the unofficial MPP wiki page: http://multiplayer-piano.wikia.com/wiki/Multiplayer_Piano_Wikia');
  2823. }
  2824.  
  2825. function advert_owop(){
  2826. EOS.chat.send('[ADVERTISEMENT]: Visit www.ourworldofpixels.com! it\'s a multiplayer pixel drawing website, which also has a chat function.');
  2827. }
  2828. setInterval(function(){EOS.chat.send('> EpicOS, Epic\'s Chat Entertainment System. A project started in 2015. Thanks for using this system.');},600000);
  2829. setInterval(function(){EOS.chat.send('> Find the creator of EpicOS\' Discord here: EpicOSAssistance #5042');},605000);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top