# Description: # Example scripts for you to examine and try out. # # Notes: # They are commented out by default, because most of them are pretty silly and # wouldn't be useful and amusing enough for day to day huboting. # Uncomment the ones you want to try and experiment with. # # These are from the scripting documentation: https://github.com/github/hubot/blob/master/docs/scripting.md module.exports = (robot) -> robot.hear /badger/i, (res) -> res.send "Badgers? BADGERS? WE DON'T NEED NO STINKIN BADGERS" robot.respond /open the (.*) doors/i, (res) -> doorType = res.match[1] if doorType is "pod bay" res.reply "I'm afraid I can't let you do that." else res.reply "Opening #{doorType} doors" robot.hear /I like pie/i, (res) -> res.emote "makes a freshly baked pie" lulz = ['lol', 'rofl', 'lmao'] robot.respond /lulz/i, (res) -> res.send res.random lulz robot.topic (res) -> res.send "#{res.message.text}? That's a Paddlin'" enterReplies = ['Hi', 'Target Acquired', 'Firing', 'Hello friend.', 'Gotcha', 'I see you'] leaveReplies = ['Are you still there?', 'Target lost', 'Searching'] robot.enter (res) -> res.send res.random enterReplies robot.leave (res) -> res.send res.random leaveReplies answer = process.env.HUBOT_ANSWER_TO_THE_ULTIMATE_QUESTION_OF_LIFE_THE_UNIVERSE_AND_EVERYTHING robot.respond /what is the answer to the ultimate question of life/, (res) -> unless answer? res.send "Missing HUBOT_ANSWER_TO_THE_ULTIMATE_QUESTION_OF_LIFE_THE_UNIVERSE_AND_EVERYTHING in environment: please set and try again" return res.send "#{answer}, but what is the question?" robot.respond /you are a little slow/, (res) -> setTimeout () -> res.send "Who you calling 'slow'?" , 60 * 1000 annoyIntervalId = null robot.respond /annoy me/, (res) -> if annoyIntervalId res.send "AAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEIIIIIIIIHHHHHHHHHH" return res.send "Hey, want to hear the most annoying sound in the world?" annoyIntervalId = setInterval () -> res.send "AAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEIIIIIIIIHHHHHHHHHH" , 1000 robot.respond /unannoy me/, (res) -> if annoyIntervalId res.send "GUYS, GUYS, GUYS!" clearInterval(annoyIntervalId) annoyIntervalId = null else res.send "Not annoying you right now, am I?" robot.router.post '/hubot/chatsecrets/:room', (req, res) -> room = req.params.room data = JSON.parse req.body.payload secret = data.secret robot.messageRoom room, "I have a secret: #{secret}" res.send 'OK' robot.error (err, res) -> robot.logger.error "DOES NOT COMPUTE" if res? res.reply "DOES NOT COMPUTE" robot.respond /have a soda/i, (res) -> # Get number of sodas had (coerced to a number). sodasHad = robot.brain.get('totalSodas') * 1 or 0 if sodasHad > 4 res.reply "I'm too fizzy.." else res.reply 'Sure!' robot.brain.set 'totalSodas', sodasHad+1 robot.respond /sleep it off/i, (res) -> robot.brain.set 'totalSodas', 0 res.reply 'zzzzz'