 #   Set the goal of today
 #
 # Commands:
+#   hubot 目標設定 - 対話モードで目標設定を行います。
 #   hubot 今日の目標は〜 - 今日の目標を設定します。期限は同日午前3時です。
 #   hubot 今日の目標は？ - 今日の目標を表示します。
-#   hubot 目標達成 - 目標を達成したことを hubot に知らせます。
+#   hubot 目標達成 - 対話モードで目標を達成したことを hubot に知らせます。
 #   hubot 達成度 - 目標の達成度を hubot に聞きます。
 
 moment = require "moment"

      goal = data.goals.pop()
      robot.brain.data.goals[user].achieved += 1
      robot.brain.data.goals[user].goals = []
      msg.send "#{user}さんの目標は。。。\n「#{goal}」ですね。\n" +
        msg.random congraturations
      return

    # achieving dialog
    goals = data.goals
    msg.send "どの目標を達成されましたか？番号を教えてください。\n" +
      (_.map goals, (goal, i) ->
        "#{i+1} : #{goal}"
      ).join "\n"

    dialog = new Dialog msg, (msg) ->
      text = msg.envelope.message.text
      if text.length is 0 or /^(help|ヘルプ|わからん)$/i.test text
        msg.send "1 や 2、など達成した目標の番号をおっしゃってください。" +
          "「ない」や「終わり」と言えば目標達成モードを終了します。\n" +
          (_.map goals, (goal, i) ->
            "#{i+1} : #{goal}"
          ).join "\n"
      else if text.match /(\d+)/i
        index = parseInt(RegExp.$1, 10)-1
        goal = robot.brain.data.goals[@.user].goals[index] or false
        if goal
          msg.send "「#{goal}」を達成したのですね！"
          robot.brain.data.goals[@.user].goals =
            _.without robot.brain.data.goals[@.user].goals, goal
          robot.brain.data.goals[@.user].achieved += 1
          # TODO: add goal to achieved_goals
          if robot.brain.data.goals[@.user].goals.length > 0
            msg.send "続けて達成した目標はありますか？\n" +
              (_.map robot.brain.data.goals[@.user].goals, (goal, i) ->
                "#{i+1} : #{goal}"
              ).join "\n"
          else
            msg.send "全ての目標を達成したようです！\n" +
              msg.random congraturations
            @.end()
      else if /^((もう)?ない|(終|お)わり|おしまい)$/i.test text
        msg.send "お疲れ様でした。"
        @.end()

  robot.respond /目標設定/i, (msg) ->
    dialog = new Dialog msg, (msg) ->
      text = msg.envelope.message.text
      if /^(help|ヘルプ|わからん)$/i.test text
        msg.send "何かおっしゃってください。目標として設定します。" +
          "「もうない」や「終わり」と言えば目標設定モードを終了します。"
      else if /^((もう)?ない|(終|お)わり|おしまい)$/i.test text
