Advertisement
Guest User

Untitled

a guest
May 4th, 2015
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Dependencies
  2. var irc = require('irc');
  3. var fs = require('fs');
  4. var readline = require('readline');
  5. var stream = require('stream');
  6.  
  7. //IRC Client
  8. var client = new irc.Client('irc.freenode.org', 'ATaHaCkA', {
  9.     channels: ['#KMB'],
  10.     autoRejoin: true,
  11.     autoConnect: true,
  12.     name: "PorBot",
  13.     realName: "Fani Mazakura"
  14. });
  15.  
  16. //Path for new words
  17. var path = 'new-phrases.txt';
  18.  
  19. var suffixes = [
  20.       " KOR!!111!",
  21.       " KMB WEEE",
  22.       " SHTE SCHUPQ WE111!",
  23.       " DOKAD",
  24.       " UMRI WE MAZEN POR",
  25.       " NE MI GOWORI TAKA WE",
  26.       " EI TURSKI PAPAGAL",
  27.       " SHTA SMACHKAM",
  28.       " PORQ GI KAT PILITA",
  29.       " EI SQ TI EAH MAMETO",
  30.       " WE111!!!",
  31.       " DOKLAAAAAAD",
  32.       " IZGOROI NA KLADA WE",
  33.       " SERIETZ 111!!!!",
  34.       " CELIQ SI W LAINA WE",
  35.       " !11111!!",
  36.       " KOR KOR KOR",
  37.       " NE E BIBLEISKO KAKWOTO PISHESH"
  38. ];
  39.  
  40. var duhanki = [
  41.     "DUHASH LI MI SA WE!!!!!",
  42.     "SHTA DOKLADWAM NA PORA DA ZNAESH",
  43.     "NAPRAIH TI CHERNA MAGIQ HAHAHAHAHA",
  44.     "OMRI WE",
  45.     "ISKASH LI DA SE BIEM, A",
  46.     "ZNAM TE KADE JIVEESH",
  47.     "ASL PLZ",
  48.     "16 f VN",
  49.     "NE MI SE OBQSNQWAI WE SMESHNIK",
  50.     "DUHAI NA BEREKOW WE",
  51.     "SPRQ LI DA SE DUHASH WE",
  52.     "SHTE O4ERNQ CELIQ",
  53.     "OT KOI OTBOR SI",
  54.     "DAI MI MALKO INFO",
  55.     "NAUCHI SE DAPISHESH",
  56.     "SHTE MI USLUJISH LI S LEFCHE",
  57.     "POZNAWASH LI MACKI DETO PUSKAT"
  58. ];
  59.  
  60. var zakani = [
  61.     " AKO PRODULJI DA ME ZANIMAWA SHTE GO SCHUPQ",
  62.     " E MNOGO PROST WE",
  63.     " SPRI DA ME ZANIMAWASH WE",
  64.     " SPRI S TEQ CHEKII WE",
  65.     " CHERPI CIGARA WE BATE",
  66.     " E SERIETZ",
  67.     " DOHA NA PORA",
  68.     " GO DOKLADWAH MUHAHAAH",
  69.     " AE TE BANNA OTUKA, A",
  70.     " MAI SI PROSISH BAN"
  71. ];
  72.  
  73. var gradove = [
  74.     "VN",
  75.     "SF",
  76.     "STZ",
  77.     "BS",
  78.     "SIMITLI",
  79.     "ZLATNA PANEGA",
  80.     "PORNOLANDIQ",
  81.     "SILISTRA",
  82.     "KZ",
  83.     "YAMBOL"
  84. ];
  85.  
  86. var asl = [
  87.     "ISKASH LI SNIMKI",
  88.     "PRATI MI SNIMKI PLZ",
  89.     "KLET BALGARIN LI SI",
  90.     "POZNAWASH LI MAZEN POR",
  91.     "IZGLEJDASH MALKO SMOTAN",
  92.     "MNOGO SI SRAMEJLIW"
  93. ];
  94.  
  95. var zaKanala = [
  96.     "IMA LI NQKOI ONLINE WE?",
  97.     "AIDE DA IGRAEM HORO",
  98.     "PIE LI WI SE RAKIQ",
  99.     "MNOGO ME MYRZI",
  100.     "AHMED DOGAN E KOR",
  101.     "MAZEN POR KWO STANA WE",
  102.     "KOI MI SE DUHA, A",
  103.     "NQKOI SHTE HODI LI SKORO KUM SIMITLI",
  104.     "W SIMITLI OBICHAM DIWITE KOZI",
  105.     "AE TUKA SHTO NQMA PUTKI W TOZ KANAL WE",
  106.     "KLETNICIIIIIIII",
  107.     "EBAHTI TAPACITE BARTMI",
  108.     "NQKOI MAI ISKA BAN, A",
  109.     "AIDE DA SI GOVORIM ZA KURVI",
  110.     "KOI E PIL SLIVENSKA GROZDOWA DNESKA",
  111.     "TUKA E EBAHTI MARTWILOTO",
  112.     "TOW NE E PRAWOSLAWNO"
  113. ];
  114.  
  115. var helloPhrases = [
  116.     "ZDRASTI {nick} PISHI MI NA LICHNO",
  117.     "ABE TOQ {nick} NE BESHE LI GOLQM GROZNIK??"
  118. ]
  119.  
  120. var atanaskaPhrases = [
  121.     "Zdrasti {nick} iskash li me ebesh, AAAAA?",
  122.     "Zdrasti {nick} MNOGO SI SLADAK",
  123.     "EI {nick} MN SI GROZEN ZA MEN",
  124.     "EI PALAWNIKO {nick}",
  125.     "ZDRASTI {nick} ASL PLZ"
  126. ]
  127.  
  128. var throttles = {
  129.    
  130. };
  131.  
  132. function randomPhrase(_array){
  133.     if(_array.length){
  134.         return _array[ Math.ceil(Math.random() * (_array.length-1)) ];         
  135.     } else {
  136.         return "";
  137.     }
  138. }
  139.  
  140. function randomInt(min, max) {
  141.     return Math.floor(Math.random() * (max - min + 1)) + min;
  142. }
  143.  
  144. function addTask(message, taskname, task){
  145.     if( message.toLowerCase().indexOf(taskname) != -1 ){
  146.         if(task){
  147.             task();
  148.         }
  149.     }
  150. }
  151.  
  152. function throttleResponse(to){
  153.     if(!throttles[to]){
  154.         throttles[to] = {};
  155.     }  
  156. }
  157.  
  158. //PM
  159. client.addListener('pm', function (from, message) {
  160.     var newMessage = message.toUpperCase();
  161.    
  162.     console.log("from " + from + " -> " + newMessage);
  163.    
  164.     addToWordList(message);
  165.    
  166.     var hasTask = false;
  167.    
  168.     client.say("NickServ", "SET ACCOUNTNAME " + "aTaHaCkA^C^" + from );
  169.    
  170.     if(Math.random() < 0.2){
  171.         addToWordList(message);
  172.     }
  173.    
  174.     //ASL
  175.     addTask(message, "asl", function(){
  176.         hasTask  = true;
  177.         var gender = Math.random() >= 0.5 ? "m" : "f";
  178.         var years = randomInt(14, 30);
  179.         var city = randomPhrase(gradove);
  180.        
  181.         client.say(from, years + " " + gender + " " + city);
  182.         client.say(from, randomPhrase(asl));
  183.     });
  184.  
  185.     addTask(message, "prevedi", function(){
  186.         hasTask = true;
  187.         var translated = message.toLowerCase().replace("prevedi", "").toUpperCase();
  188.         client.say(from, translated);
  189.     });
  190.  
  191.     addTask(message, "kmb", function(){
  192.         client.say(from, "NE MI GOVORI ZA TEQ CIGANI OT KMB!!!!!! DOKLAD");
  193.     });
  194.    
  195.     addTask(message, "zdr", function(){
  196.         client.say("from", "ZDR I NA TEP");
  197.     });
  198.  
  199.     if(!hasTask){
  200.         //client.say(from, newMessage + randomPhrase(suffixes));       
  201.        
  202.         setTimeout(function(){
  203.             client.say(from, randomPhrase(atanaskaPhrases).replace("nick", from) );
  204.         }, parseInt(Math.random()* 10) * 1000);
  205.        
  206.         /*if(Math.random() < 0.4){
  207.             client.say(from, getPhraseFromWordList());
  208.         }
  209.        
  210.         setTimeout(function(){
  211.             client.say(from, randomPhrase(duhanki));
  212.         }, parseInt(Math.random()* 100) * 1000);
  213.            
  214.         setTimeout(function(){
  215.             var rand = Math.random();
  216.             if(rand <= 0.3){
  217.                 client.say('#KMB',  from + randomPhrase(zakani));          
  218.             }
  219.         }, parseInt(Math.random()* 120) * 1000);
  220.        
  221.         */
  222.        
  223.     }//end !hasTask
  224.    
  225. });
  226.  
  227. //Message from KMB
  228. client.addListener('message#KMB', function (from, message) {
  229.     console.log(from + ' => #KMB: ' + message);
  230.     client.say("#KMB", "EI MAIMUNIIIIII EI SQ WA DOKLADWAH");
  231. });
  232.  
  233. client.addListener("join", function(channel, nick, message){
  234.    
  235.     var helloMessage = randomPhrase(helloPhrases).replace("{nick}", nick);
  236.     client.say(channel, helloMessage)
  237.        
  238.     //client.say(channel, nick + String(" DOBRE DOSHAL W KLETIQ BALGARSKI CHAT PISHI KOR I SI VARI").toUpperCase() );
  239.     //client.send("MODE", channel, "+o", nick);
  240. });
  241.  
  242.  
  243. client.addListener("part", function(channel, nick, reason, message){
  244.     //client.say(channel, String(nick + " NE BE6E NIKAKUW PATREOT!!11111").toUpperCase() );
  245. });
  246.  
  247. //When I get into
  248. client.addListener("registered", function(){
  249.     console.log("LOGGED INTO IRC");
  250.     setInterval(function(){
  251.         client.say("#KMB", randomPhrase(zaKanala));
  252.     }, randomInt(1200, 10000) * 1000);
  253. });
  254.  
  255. //Error
  256. client.addListener('error', function(message) {
  257.     console.log('error: ', message);
  258. });
  259.  
  260. /* =    Phrase list
  261. -----------------------------------------------------------------------------*/
  262.  
  263. function addToWordList(message){
  264.     var buffer = new Buffer( String(message) + "\n");
  265.     fs.open(path, 'a', function(err, fd) {
  266.         if (err) {
  267.             throw 'error opening file: ' + err;
  268.         } else {
  269.             fs.write(fd, buffer, 0, buffer.length, null, function(err) {
  270.                 if (err) throw 'error writing file: ' + err;
  271.                 fs.close(fd, function() {
  272.                     console.log('new phrase written');
  273.                 })
  274.             });
  275.         }
  276.     });
  277. }
  278.  
  279. function getPhraseFromWordList(){
  280.     var instream = fs.createReadStream(path);
  281.     var outstream = new stream;
  282.     var rl = readline.createInterface(instream, outstream);
  283.     var lines = [];
  284.     var phrase = "";
  285.    
  286.     rl.on('line', function(line) {
  287.       lines.push(line);
  288.     });
  289.    
  290.     rl.on('close', function() {
  291.       phrase = randomPhrase(lines);
  292.       lines.length = 0;
  293.     });
  294.    
  295.     console.log("[Random Fraza] -> " + phrase);
  296.    
  297.     return phrase;
  298. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement