Advertisement
Guest User

streamdefense script

a guest
May 19th, 2017
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var tmi = require("tmi.js");
  2.  
  3. var channel = "archonthewizard";
  4.  
  5. var myname = "syLph96"; // with caps
  6. var hmyname = "#sylph96"; // ignore caps
  7. var myprefix = "a"; // prefix to controll your bot with. e.g. a!train
  8.  
  9. var followme = "";
  10.  
  11. var options = {
  12.     options: {
  13.         debug: true
  14.     },
  15.     connection: {
  16.         cluster: "aws",
  17.         reconnect: true
  18.     },
  19.     identity: {
  20.         username: "Phycoery", // twitch username of your bot
  21.         password: "oauth:secretstuff" // twitch auth token of your bot https://twitchapps.com/tmi/
  22.     },
  23.     channels: [channel]
  24. }
  25.  
  26. var client = new tmi.client(options);
  27. client.connect();
  28.  
  29. var timeoutduration = 10000;
  30. var listentoanyone = false;
  31. var followothers = false;
  32. var date = new Date();
  33. var lastmessage = date.getTime() - timeoutduration;
  34. var somebool = false;
  35.  
  36.  
  37. client.on("whisper", function (from, userstate, message, self) {
  38.     date = new Date();
  39.     if (message.startsWith("say ") && from == hmyname){
  40.         client.say(channel, message.split("say ")[1]);
  41.         return;
  42.     }
  43.     if (self || message.includes("kick") || (message.includes("learn") && !(from == hmyname))) return;
  44.     if (from == "#ttdbot"){
  45.         if (lastmessage < date.getTime() - timeoutduration){
  46.             client.say(channel, message);
  47.             lastmessage = date.getTime();
  48.         }
  49.     }
  50.     if ((!message.includes("!socket") && !message.includes("prestige") && !message.includes("learn") && (!message.includes("!spec") || message == "!specs") && from != "#ttdbot" && listentoanyone) || from == hmyname) client.whisper("ttdbot", message);
  51. });
  52.  
  53. client.on('chat', function(channel, user, message, self){
  54.     somebool = true;
  55.     date = new Date();
  56.     if (self || message.includes("xx") || message.includes("kick")) return;
  57.     if ((!message.includes("!socket") && !message.includes("!spec") && !message.includes("prestige") && !message.includes("learn") && !message.includes("hire")) || user['display-name'] == myname){
  58.         if (message == "?dontfollowme" && followme == user['display-name']) {
  59.             followme = "";
  60.         } else if(user['display-name'] == followme && message.startsWith("!")) {
  61.             client.whisper("ttdbot", message);
  62.         }
  63.         if((message.startsWith(myprefix + "!") || message.includes(" " + myprefix + "!"))) {
  64.             if(listentoanyone || user.mod || user['display-name'] == myname) client.whisper("TTDBot", "!" + message.split(myprefix + "!")[1]);
  65.         }
  66.         else if(message == "?followme" && (followothers || user.mod || user['display-name'] == myname)) {
  67.             followme = user['display-name'];
  68.         }
  69.         else if(message == "?listentoanyone" && (user.mod || user['display-name'] == myname)) {
  70.             listentoanyone = true;
  71.         }
  72.         else if(message == "?dontlistentoothers" && (user.mod || user['display-name'] == myname)) {
  73.             listentoanyone = false;
  74.         }
  75.         else if(message == "?followothers" && (user.mod || user['display-name'] == myname)) {
  76.             followothers = true;
  77.         }
  78.         else if(message == "?dontfollowothers" && (user.mod || user['display-name'] == myname)) {
  79.             followothers = false;
  80.             followme = "";
  81.         }
  82.         if(lastmessage < date.getTime() - timeoutduration && message.startsWith("?")){
  83.             if(message.startsWith("?altars")){
  84.                 client.say(channel, "http://www.streamdefense.com/altars/");
  85.             }
  86.             else if(message.startsWith("?panic")){
  87.                 client.say(channel, "@ArchonTheWizard @ArchonTheWizard @ArchonTheWizard panicBasket panicBasket panicBasket panicBasket panicBasket panicBasket");
  88.             }
  89.             else if(message.startsWith("?classes")){
  90.                 client.say(channel, "http://www.streamdefense.com/classes/");
  91.             }
  92.             else if(message.startsWith("?essence")){
  93.                 client.say(channel, "https://docs.google.com/spreadsheets/d/16I4alWO2cqC2BzFbw_TGASTH_QcdRfM0jfHNen8bl1I/edit#gid=0");
  94.             }
  95.             else if(message.startsWith("?gems")){
  96.                 client.say(channel, "http://www.streamdefense.com/gems");
  97.             }
  98.             else if(message.startsWith("?classdata")){
  99.                 client.say(channel, "https://docs.google.com/spreadsheets/d/1-8EfwrWsItJKr7wEfs4PuoLaO1hpE3JdUsCU9u66qTw/edit#gid=0");
  100.             }
  101.             else if(message.startsWith("?trapper")){
  102.                 client.say(channel, "http://www.streamdefense.com/trapper/");
  103.             }
  104.             else if(message.startsWith("?howtoplay")){
  105.                 client.say(channel, "http://www.streamdefense.com/how-to-play/");
  106.             }
  107.             else if(message.startsWith("?rebirth")){
  108.                 client.say(channel, "When a player visits the Rebirth Altar, their experience will be drained, taking them back to level 1.  However, for the rest of the game, they will receive 5% of the experience drained after every wave. Players can revisit the altar multiple times - increasing how much experience they earn at the end of each wave.");
  109.             }
  110.             else if(message.startsWith("?wisdom")){
  111.                 client.say(channel, "The Altar of Wisdom is very powerful, but can only be used ONCE per player (per game).  Upon visiting the altar, the player's level will be increased by 7 levels.  Therefore: A level 1 visiting the altar would become level 8.  A level 25 visiting the altar would become level 32.");
  112.             }
  113.             else if(message.startsWith("?challenge")){
  114.                 client.say(channel, "Only one player can enter the Challenge Altar at a time.  Upon entering, a small wave of enemies will spawn and walk towards the tower.  If the player can defeat all the enemies before they reach the tower, they will be rewarded with a large sum of XP.");
  115.             }
  116.             else if(message.startsWith("?lava")){
  117.                 client.say(channel, "When a player visits the Lava Altar their power will be drained very quickly. While their power is drained, the path will turn into lava, dealing damage to all enemies on the screen. If one or more of the crystals is glowing red, the player also has a chance to summon lava elementals. If the large crystal at the top of the map is glowing red, you might summon the big golem instead of an elemental.");
  118.             }
  119.             else if(message.startsWith("?controller")) {
  120.                 client.say(channel, "http://www.streamdefense.com/stream-defense-controller/ http://www.streamdefense.com/forums/topic/stream-defense-helper-controller/ ");
  121.             }
  122.             else if(message.startsWith("?highpriest")) {
  123.                 client.say(channel, "http://www.streamdefense.com/highpriest/");
  124.                
  125.             }
  126.             else if(message.startsWith("?commands")){
  127.                 client.say(channel, "?howtoplay ?progression ?bounty ?altars (?lava ?rebirth ?wisdom ?challenge) ?classes ?highpriest ?trapper ?essence ?gems ?classdata ?controller ?mastery ?latejoin ?newlevels");
  128.             }
  129.             else if(message.includes("?idiots")) {
  130.             client.say(channel, "guuuuys... I CANT EEEEBEN BrokeBack NotLikeThis FailFish BrokeBack NotLikeThis FailFish BrokeBack NotLikeThis FailFish");
  131.             }
  132.             else if(message.startsWith("?progression")) {
  133.                 client.say(channel, "http://www.streamdefense.com/huge-class-progression-update-details/");
  134.             }
  135.             else if(message.startsWith("?bounty")) {
  136.                 client.say(channel, "http://www.streamdefense.com/bounties/");
  137.             }
  138.             else if(message.startsWith("?latejoin")) {
  139.                 client.say(channel, "https://docs.google.com/spreadsheets/d/13xlCJiVNIzWWDxoP-0iUJZExzc6wMskUl5WvykNJwZ8/edit#gid=0");
  140.             }
  141.             else if(message.startsWith("?newlevels")) {
  142.                 client.say(channel, "https://docs.google.com/spreadsheets/d/197xr6m4x3_0sjV5K51k0S9YCUHCiRMvbr5wDH2f3hqI/edit#gid=0");
  143.             }
  144.             else if(message.startsWith("?mastery")) {
  145.                 client.say(channel, "http://www.streamdefense.com/gems-update/ https://docs.google.com/spreadsheets/d/1-Q5vTQfaQpHI48SrQkgm4UA_E49JEPHN6BE68heCTPA/edit#gid=0");
  146.             }
  147.             else{
  148.                 somebool = false
  149.             }
  150.             if (somebool) {
  151.                 lastmessage = date.getTime();
  152.             }
  153.         }
  154.     }
  155. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement