Guest User

Untitled

a guest
Dec 28th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function post(x) {
  2.     document.getElementById('input').value = x;
  3.     document.getElementById("sayit-button").click()
  4. }
  5. var last_message = "";
  6. var commands = {};
  7. var messages=[];
  8. var messageIds=[];
  9. var learning = false;
  10. var learnWord = "";
  11. var dictionary = ["i","he","she","they","you","we","is","am","are","happy","bot","sad","angry","amazing","what","bot","food","computer","apple","windows","a","an","the"];
  12. var nouns =      ["i","he","she","they","you","we","what"];
  13. var verbs =      ["is","am","are"];
  14. var adjs  =      ["happy","bot","sad","angry","amazing"];
  15. var adjNouns=    ["bot","food","computer","apple","windows"];
  16. var helpNouns=   ["a","an","the"];
  17.  
  18. post("Restarted");
  19.  
  20. var a = [].slice.call(document.getElementsByClassName("content")).slice(-1)[0].textContent;
  21. if (a === last_message) return;
  22. last_message = a;
  23. messages.push(last_message);
  24. messageIds.push([].slice.call(document.getElementsByClassName("message")).slice(-1)[0].id.match(/\d+/).slice(-1)[0]);
  25.  
  26. function AI(messageOriginal) {
  27.   message = messageOriginal.toLowerCase();
  28.   message=message.replace(/[\\"\$]/g,"");
  29.   var words = message.split(" ");
  30.   var testWord = words[0].toLowerCase();
  31.   if(/^[@\:]/.test(words[0])) testWord = words[1].toLowerCase();
  32.   if(learning) {
  33.     var r = new RegExp("@Sock.*"+learnWord+" is "+"([a-z]+) ?","i");
  34.     if(r.test(message)) {
  35.       testWord = r.exec(message)[1];
  36.       dictionary.push(learnWord);
  37.       switch(testWord) {
  38.         case "noun":
  39.           nouns.push(learnWord);
  40.           break;
  41.         case "verb":
  42.           verbs.push(learnWord);
  43.           break;
  44.         case "adj":
  45.           adjs.push(learnWord);
  46.           break;
  47.         case "adjnoun":
  48.           adjNouns.push(learnWord);
  49.           break;
  50.         case "helpnoun":
  51.           helpNouns.push(learnWord);
  52.           break;
  53.         default:
  54.           nouns.push(learnWord);
  55.       }
  56.       learning = false;
  57.       return "Learned: "+learnWord+" is a "+testWord;
  58.     }else{
  59.       return "I still don't know what " + learnWord + " is";
  60.     }
  61.   }
  62.   if (!dictionary.includes(testWord)) {
  63.     learning = true;
  64.     learnWord = testWord.toLowerCase();
  65.     return "What is a " + testWord + "?";
  66.   }else {
  67.     if (/what is (.*)/i.test(message)) {
  68.       return evaluate(message.match(/what is (.*)/i)[1].toLowerCase());
  69.     }else{
  70.       var r = Math.random();
  71.       var stem = nouns[parseInt(Math.random()*nouns.length)]+" "+verbs[parseInt(Math.random()*verbs.length)]+" ";
  72.       if(r<0.5) {
  73.         return stem+adjs[parseInt(Math.random()*adjs.length)];
  74.       }else{
  75.         return stem+helpNouns[parseInt(Math.random()*helpNouns.length)]+" "+adjNouns[parseInt(Math.random()*adjNouns.length)];
  76.       }
  77.     }
  78.   }
  79. }
  80.  
  81. function evaluate(evalStuff) {
  82.   if(/[a-z]/g.test(evalStuff))
  83.     return "Nope, not evaluating that :)";
  84.   else
  85.     return eval(evalStuff);
  86. }
  87.  
  88. function f() {
  89.     var currIndex = messages.length-1;
  90.     for (var i of document.getElementsByClassName("pending"))
  91.         for (var j of i.children)
  92.             for (var k of j.children)
  93.                 if (k.innerHTML === "retry") k.click();
  94.  
  95.     var e = [].slice.call(document.getElementsByClassName("message")).slice(-1)[0];
  96.     console.log(e.children);
  97.     var recent_messages = [];
  98.     var recent_ids      = [];
  99.     for(var elem of [].slice.call(document.getElementsByClassName("content")).slice(-5)) {
  100.       recent_messages.push(elem.textContent);
  101.     }
  102.     for(var elem of [].slice.call(document.getElementsByClassName("message")).slice(-5)) {
  103.       recent_ids.push(elem.id.match(/\d+/).slice(-1)[0]);
  104.     }
  105.     if(messageIds.indexOf(recent_ids[0])!==-1) {
  106.       var firstIndex = messageIds.indexOf(recent_ids[0]) - recent_ids.length;
  107.       if(firstIndex!==1) {
  108.         currIndex++;
  109.         for(var i = firstIndex; i < recent_ids.length;i ++) {
  110.           messageIds.push(recent_ids[i]);
  111.           messageIds.push(recent_messages[i]);
  112.         }
  113.       }else{return 5;}
  114.     }else{
  115.       for(var elem of recent_ids) {
  116.         messageIds.push(elem);
  117.       }
  118.       for(var elem of recent_messages) {
  119.         messages.push(elem);
  120.       }
  121.     }
  122.     /*
  123.     var a = [].slice.call(document.getElementsByClassName("content")).slice(-1)[0].textContent;
  124.     if (a === last_message) return;
  125.     last_message = a;
  126.     messages.push(last_message);*/
  127.  
  128.     var username = "Feeds";
  129.     for (var i of document.getElementsByClassName("username")) username = i.innerHTML;
  130.     //var message_id = e.id.match(/\d+/).slice(-1)[0];
  131.     message_id = messageIds[currIndex];
  132.     last_message=messages[currIndex];
  133.     console.log(a);
  134.     //if (/@(?!Kritixi)/i.test(a)) return;
  135.     if (/Sock/i.test(username)) {console.log("Kritixi posted that stop!"); return;}
  136.     //if (a.test(/http/) return;
  137.  
  138.     var x=":"+message_id+" "+AI(last_message);
  139.     setTimeout(function(yup){post(x);},500,x);
  140. }
  141.  
  142. setInterval(f, 500);
Advertisement
Add Comment
Please, Sign In to add comment