Created
June 10, 2015 19:39
-
-
Save stuart-warren/bdfd8562b93d65a35672 to your computer and use it in GitHub Desktop.
Hubot Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Description: | |
# Have a multi-step conversation with hubot | |
# | |
# Commands: | |
# hubot start wizard - Allow hubot to ask you some questions | |
# | |
module.exports = (robot) -> | |
robot.respond /start wizard/i, (res) -> | |
res.reply "lets go!" | |
user = {stage: 1} | |
name = res.message.user.name.toLowerCase() | |
robot.brain.set name, user | |
console.log "user created: #{name} stage: #{user.stage}" | |
robot.hear /(\w+)/i, (msg) -> | |
name = msg.message.user.name.toLowerCase() | |
user = robot.brain.get(name) or null | |
if user != null | |
console.log "user exists: #{name} stage: #{user.stage}" | |
answer = msg.match[1] | |
switch user.stage | |
when 1 | |
msg.reply "Q#{user.stage}. What is your name" | |
when 2 | |
user.name = answer | |
msg.reply "Q#{user.stage}. What is your age" | |
when 3 | |
user.age = answer | |
msg.reply "Q#{user.stage}. What is your gender" | |
when 4 | |
user.gender = answer | |
msg.reply "Q#{user.stage}. What is your favorite color" | |
when 5 | |
user.color = answer | |
user.stage += 1 | |
robot.brain.set name, user | |
if user.stage > 5 | |
msg.reply "Hi #{user.name}. You are #{user.age}, #{user.gender} and your favorite color is #{user.color}" | |
robot.brain.remove name |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment