   ]
 
   setGoals = (msg) ->
-    dialog = new Dialog msg, (msg) ->
-      text = msg.envelope.message.text
+    user = msg.envelope.user.name
+    room = msg.envelope.user.room
+    robot.emit "dialogue:start", msg.envelope.user, (message) ->
+      text = message.text
       if /^(help|ヘルプ|わからん)$/i.test text
-        msg.send "何かおっしゃってください。目標として設定します。" +
+        @respond "何かおっしゃってください。目標として設定します。" +
           "「もうない」や「終わり」と言えば目標設定モードを終了します。"
       else if /^((もう)?ない|(終|お)わり|おしまい|none|nothing|done|finish|end)$/i.test text
         _goals = @.get("goals")
-        robot.brain.data.goals[@.user] = robot.brain.data.goals[@.user] or {
+        robot.brain.data.goals[@username] = robot.brain.data.goals[@username] or {
           goals: []
           attempted: 0
           achieved: 0
         }
-        goals = robot.brain.data.goals[@.user].goals.concat _goals
+        goals = robot.brain.data.goals[@username].goals.concat _goals
         goals = _.uniq goals
         expiration = moment()
           .set("date", moment().get("date") + 1)
           .startOf("day").set("hour", 3)
 
-        _.extend robot.brain.data.goals[@.user], {
+        _.extend robot.brain.data.goals[@username], {
           goals: goals
-          attempted: robot.brain.data.goals[@.user].attempted + _goals.length
+          attempted: robot.brain.data.goals[@username].attempted + _goals.length
           expiration: expiration.format()
         }
-        msg.send "ありがとうございました。現在設定中の目標：\n" +
+        @respond "ありがとうございました。現在設定中の目標：\n" +
           goalsToString(goals) + "\n\n" +
           "期限は明日午前3時までです。" + msg.random cheers
         @.end()

moment = require "moment"
_ = require "underscore"
Path = require "path"
Dialog = require Path.join __dirname, "..", "src", "dialog"


module.exports = (robot) ->

        msg.random congraturations
      return

    # achieving dialogue
    goals = data.goals
    msg.send "どの目標を達成されましたか？番号を教えてください。 [番号/ない]\n" +
      goalsToString goals

    robot.emit "dialogue:start", msg.envelope.user, (message) ->
      text = message.text
      if text.length is 0 or /^(help|ヘルプ|わからん)$/i.test text
        @respond "1 や 2、など達成した目標の番号をおっしゃってください。" +
          "「ない」や「終わり」と言えば目標達成モードを終了します。\n" +
          goalsToString goals
      else if text.match /\d+|\*/i
