diff --git a/bot.js b/bot.js index 1b0ca72f9..7675ce393 100644 --- a/bot.js +++ b/bot.js @@ -4,170 +4,218 @@ var cool = require('cool-ascii-faces'); var botID = process.env.BOT_ID; function respond() { -  var request = JSON.parse(this.req.chunks[0]), -      botRegex = /^\/cool guy/;  botRegexDL = /^\/DDL/i;botRegexHarper = /^\/Harper/; -botRegexReid = /^\/reid;botRegexBurn = /^\/burn/;botRegexTom = /^\/tom/;botRegexjj = /^\/jj/;botRegexRules = /^\/rules/; -      botRegexAd=/^\/advance/;botRegexGTA = /^\/gta/; botRegexSC = /^\/SDL/i; botODB = /(.*\s+)(.*odb)(\s+.*)/i; botDuck = /^\/duck/; -      botRegexP = /^\/PDL/i;  botRegexTw = /^\/twitch/i; botRegexSb = /^\/sub/; botRegexSh = /^\/shrug/; botRegexWk = /^\/users/; botRegexCC = /^\/cc/; -      botRegexSiege = /^\/siege/ -      siege1 = 'https://i.groupme.com/350x419.png.adc8c73a6c1547e0a9e04320296329f8'; siege2 = 'https://i.groupme.com/1279x752.jpeg.aa5d0401e0df495bba4b4e09dc5a6bd7' -      siege3 = 'https://i.groupme.com/960x960.png.006e180e05d841c6a2962e844bf1e6fd'; -  var teamAb = ["NE","NO","ARI","PHI","CLE","TEN","OAK","DAL","IND","SEA","CIN","PIT","JAC" -                ,"BAL","SD","DEN","MIN","ATL","KC","NYG","GB","DET","HOU","STL","CHI","CAR", -                "MIA","BUF","SF","WAS","NYJ","TB"] -  if(request.text && botRegex.test(request.text)) { -    this.res.writeHead(200); -    postMessage(cool()); -    this.res.end(); -  } -  else if(request.text && botRegexDL.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://daddyleagues.com/NLB/team/"+request.text.substring(5,8)+"/depthchart"); -    this.res.end(); -  } -  else if(request.text && botRegexHarper.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://36.media.tumblr.com/06086ac9d889c7729d928d4aa5d1405b/tumblr_nk8g0fFErk1s2yr14o1_1280.jpg"); -    this.res.end(); -  } -    else if(request.text && botRegexReid.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://media4.giphy.com/media/g9RplpKZNkT5u/giphy.gif"); -    this.res.end(); -  } -  else if(request.text && botRegexBurn.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://45.media.tumblr.com/tumblr_ly1efoFthg1r4ghkoo1_500.gif"); -    this.res.end(); -  } -  else if(request.text && botRegexTom.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://media.giphy.com/media/Nccs0rNvVC1nG/giphy.gif"); -    this.res.end(); -  } -  else if(request.text && botRegexjj.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://media.giphy.com/media/ZQnr4SydezPLG/giphy.gif"); -    this.res.end(); -  } -  else if(request.text && botRegexAd.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://www.hackcollege.com/wp-content/uploads/2013/02/kno_advance.jpg"); -    this.res.end(); -  } -  else if(request.text && botRegexRules.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://daddyleagues.com/NLB/rules"); -    this.res.end(); -  } -  else if(request.text && botRegexGTA.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://i.groupme.com/220x147.jpeg.a2dd2add32b14fff9e329535186d793c.large"); -    this.res.end(); -  } -  else if(request.text && botRegexSC.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://daddyleagues.com/NLB/team/"+request.text.substring(5,8)+"/schedule"); -    this.res.end(); -  } -  else if(request.text && botRegexP.test(request.text)) { -    this.res.writeHead(200); -    var req = request.text.substring(5,request.text.length); -    var rep = req.replace(/ /,"+"); -    postMessage("http://daddyleagues.com/NLB/players?name="+rep+"&position=all&team=all"); -    this.res.end(); -  }   + var request = JSON.parse(this.req.chunks[0]), + botRegex = /^\/cool guy/; botRegexDL = /^\/DDL/i;botRegexSalt = /^\/salt/;botRegexRules = /^\/rules/ + botRegexAd=/^\/advance/;botRegexTrades = /^\/trades/; botRegexSC = /^\/SDL/i; botODB = /(.*\s+)(.*odb)(\s+.*)/i; botDuck = /^\/duck/; + botRegexP = /^\/PDL/i; botRegexTw = /^\/twitch/i; botRegexSb = /^\/sub/; botRegexSh = /^\/shrug/; botRegexWk = /^\/users/; botRegexCC = /^\/cc/; + botRegexSiege = /^\/siege/; botRegexOW = /^\/ratings/; + botRegexBurn = /^\/burn/; botRegexDrink = /^\/drink/; + botRegexReid = /^\/reid/;botRegexKys = /^\/kys/; botRegexSlam = /^\/slam/; botRegexLyd = /^\/lyd/; + botRegexHarper = /^\/harper/; botRegexApex = /^\/apex/; botRegexCheesy = /^\/cheesy/; + botRegexDaf = /^\/dafuq/; botRegexAyy = /^\/ayy/; + siege1 = 'https://i.groupme.com/350x419.png.adc8c73a6c1547e0a9e04320296329f8'; siege2 = 'https://i.groupme.com/1279x752.jpeg.aa5d0401e0df495bba4b4e09dc5a6bd7' + siege3 = 'https://i.groupme.com/960x960.png.006e180e05d841c6a2962e844bf1e6fd'; + var teamAb = ["NE","NO","ARI","PHI","CLE","TEN","OAK","DAL","IND","SEA","CIN","PIT","JAC" + ,"BAL","SD","DEN","MIN","ATL","KC","NYG","GB","DET","HOU","STL","CHI","CAR", + "MIA","BUF","SF","WAS","NYJ","TB"] + if(request.text && botRegex.test(request.text)) { + this.res.writeHead(200); + postMessage(cool()); + this.res.end(); + } + else if(request.text && botRegexBurn.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media.giphy.com/media/pQmWjYrz39YAg/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexDrink.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media.giphy.com/media/3o7TKBcK5ywsaeBm4U/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexReid.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media.giphy.com/media/g9RplpKZNkT5u/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexKys.test(request.text)) { + this.res.writeHead(200); + postMessage("http://www.wikihow.com/Tie-a-Noose"); + this.res.end(); + } + else if(request.text && botRegexSlam.test(request.text)) { + this.res.writeHead(200); + postMessage("https://pbs.twimg.com/profile_images/587294731471757313/ZpI5PfKq.jpg"); + this.res.end(); + } + else if(request.text && botRegexDaf.test(request.text)) { + this.res.writeHead(200); + postMessage("http://i3.kym-cdn.com/photos/images/facebook/000/787/356/d6f.jpg"); + this.res.end(); + } + else if(request.text && botRegexLyd.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media2.giphy.com/media/pUeXcg80cO8I8/200.gif#4"); + this.res.end(); + } + else if(request.text && botRegexHarper.test(request.text)) { + this.res.writeHead(200); + postMessage("https://i.imgur.com/qTkLD6V.jpg"); + this.res.end(); + } + else if(request.text && botRegexApex.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media.giphy.com/media/fDO2Nk0ImzvvW/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexCheesy.test(request.text)) { + this.res.writeHead(200); + postMessage("https://media.giphy.com/media/oGBw7OaVBei1W/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexDL.test(request.text)) { + this.res.writeHead(200); + postMessage("http://daddyleagues.com/ssfa/players?name=&position=all&team="+request.text.substring(5,8)); + //postMessage("http://daddyleagues.com/ssfa/team/"+request.text.substring(5,8)+"/depthchart"); + this.res.end(); + } + + else if(request.text && botRegexOW.test(request.text)) { + this.res.writeHead(200); + postMessage("www.daddyleagues.com/ssfa/maddenrating/"); + this.res.end(); + } + else if(request.text && botRegexSalt.test(request.text)) { + this.res.writeHead(200); + postMessage("https://i.imgur.com/B5BSVqH.png"); + this.res.end(); + } + else if(request.text && botRegexAd.test(request.text)) { + this.res.writeHead(200); + postMessage("http://www.hackcollege.com/wp-content/uploads/2013/02/kno_advance.jpg"); + this.res.end(); + } + else if(request.text && botRegexRules.test(request.text)) { + this.res.writeHead(200); + postMessage("https://www.daddyleagues.com/ssfa/rules"); + this.res.end(); + } + else if(request.text && botRegexTrades.test(request.text)) { + this.res.writeHead(200); + postMessage("https://www.daddyleagues.com/ssfa/forum"); + this.res.end(); + } + else if(request.text && botRegexSC.test(request.text)) { + this.res.writeHead(200); + + postMessage("http://daddyleagues.com/ssfa/team/"+request.text.substring(5,8)+"/schedule"); + this.res.end(); + } + else if(request.text && botRegexP.test(request.text)) { + this.res.writeHead(200); + var req = request.text.substring(5,request.text.length); + var rep = req.replace(/ /,"+"); + postMessage("http://daddyleagues.com/ssfa/players?name="+rep+"&position=all&team=all"); + + this.res.end(); + } -  else if(request.text && botRegexTw.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://www.twitch.tv/"+request.text.substring(8,request.text.length)); -    this.res.end(); -  } -  else if(request.text && botRegexSb.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://www.reddit.com/r/maddenall32"); -    this.res.end(); -  } -  else if(request.text && botRegexSh.test(request.text)) { -    this.res.writeHead(200); -    postMessage("¯\\_(ツ)_/¯"); -    this.res.end(); -  } -  else if(request.text && botRegexWk.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://docs.google.com/spreadsheets/d/1kJqQWCq3RKiTrd4f71FFNKr-Y0ppJzjk0fSF0rP6Bto/edit?usp=sharing"); -    this.res.end(); -  } -  else if(request.text && botODB.test(request.text)) { -    this.res.writeHead(200); -    postMessage("OBJ*"); -    this.res.end(); -  } -  else if(request.text && botDuck.test(request.text)) { -    this.res.writeHead(200); -    postMessage("http://media3.giphy.com/media/YCseTHF2I6CCA/giphy.gif"); -    this.res.end(); -  } -  else if(request.text && botRegexCC.test(request.text)) { -    this.res.writeHead(200); -    postMessage("https://i.groupme.com/851x1184.jpeg.330228901f684b0cb46cd1cef6953923"); -    this.res.end(); -  } -  else if(request.text && botRegexSiege.test(request.text)) { -    this.res.writeHead(200); -    if(0.6 >= Math.random() > 0.3) -      postMessage(siege1); -    else if(Math.random() >0.6) -      postMessage(siege3) -    else -      postMessage(siege2); -    this.res.end(); -  } -   -  else { -    console.log("don't care"); -    this.res.writeHead(200); -    this.res.end(); -  } + else if(request.text && botRegexTw.test(request.text)) { + this.res.writeHead(200); + postMessage("http://www.twitch.tv/"+request.text.substring(8,request.text.length)); + this.res.end(); + } + else if(request.text && botRegexSb.test(request.text)) { + this.res.writeHead(200); + postMessage("http://www.reddit.com/r/maddenall32"); + this.res.end(); + } + else if(request.text && botRegexSh.test(request.text)) { + this.res.writeHead(200); + postMessage("¯\\_(ツ)_/¯"); + this.res.end(); + } + else if(request.text && botRegexWk.test(request.text)) { + this.res.writeHead(200); + postMessage("https://docs.google.com/spreadsheets/d/1kJqQWCq3RKiTrd4f71FFNKr-Y0ppJzjk0fSF0rP6Bto/edit?usp=sharing"); + this.res.end(); + } + else if(request.text && botODB.test(request.text)) { + this.res.writeHead(200); + postMessage("OBJ*"); + this.res.end(); + } + else if(request.text && botDuck.test(request.text)) { + this.res.writeHead(200); + postMessage("http://media3.giphy.com/media/YCseTHF2I6CCA/giphy.gif"); + this.res.end(); + } + else if(request.text && botRegexCC.test(request.text)) { + this.res.writeHead(200); + postMessage("https://i.groupme.com/851x1184.jpeg.330228901f684b0cb46cd1cef6953923"); + this.res.end(); + } + else if(request.text && botRegexCC.test(request.text)) { + this.res.writeHead(200); + postMessage("(☞゚ヮ゚)☞"); + this.res.end(); + } + + else if(request.text && botRegexSiege.test(request.text)) { + this.res.writeHead(200); + if(0.6 >= Math.random() > 0.3) + postMessage(siege1); + else if(Math.random() >0.6) + postMessage(siege3) + else + postMessage(siege2); + this.res.end(); + } + + else { + console.log("don't care"); + this.res.writeHead(200); + this.res.end(); + } } function postMessage(response) { -  var botResponse,options, body, botReq; + var botResponse,options, body, botReq; -  botResponse = response + botResponse = response -  options = { -    hostname: 'api.groupme.com', -    path: '/v3/bots/post', -    method: 'POST' -  }; + options = { + hostname: 'api.groupme.com', + path: '/v3/bots/post', + method: 'POST' + }; -  body = { -    "bot_id" : botID, -    "text" : botResponse -  }; + body = { + "bot_id" : botID, + "text" : botResponse + }; -  console.log('sending ' + botResponse + ' to ' + botID); + console.log('sending ' + botResponse + ' to ' + botID); -  botReq = HTTPS.request(options, function(res) { -      if(res.statusCode == 202) { -        //neat -      } else { -        console.log('rejecting bad status code ' + res.statusCode); -      } -  }); + botReq = HTTPS.request(options, function(res) { + if(res.statusCode == 202) { + //neat + } else { + console.log('rejecting bad status code ' + res.statusCode); + } + }); -  botReq.on('error', function(err) { -    console.log('error posting message '  + JSON.stringify(err)); -  }); -  botReq.on('timeout', function(err) { -    console.log('timeout posting message '  + JSON.stringify(err)); -  }); -  botReq.end(JSON.stringify(body)); + botReq.on('error', function(err) { + console.log('error posting message ' + JSON.stringify(err)); + }); + botReq.on('timeout', function(err) { + console.log('timeout posting message ' + JSON.stringify(err)); + }); + botReq.end(JSON.stringify(body)); } function getRandomInt(min, max) { -  return Math.floor(Math.random() * (max - min)) + min; + return Math.floor(Math.random() * (max - min)) + min; } diff --git a/daddyleagues-groupme-bot-master.zip b/daddyleagues-groupme-bot-master.zip new file mode 100644 index 000000000..5161213ae Binary files /dev/null and b/daddyleagues-groupme-bot-master.zip differ