 
       projects = "#{projects}#{item.name}(#{item.is_archived}/#{item.cache_count})"
 
-    req.speaker "사용 방법:\n!할일 [추가|끝|삭제] [프로젝트 이름] [할일 이름]\n!할일 [프로젝트 이름]\n등록된 프로젝트: "
+    if (project_names.indexOf text_token[1]) >= 0
+      req.speaker r[project_names.indexOf text_token[1]]
+    else
+      req.speaker "사용 방법:\n!할일 [추가|끝|삭제|분류추가|분류삭제] [분류 이름] [할일 제목]\n목록 보기: !할일 [프로젝트 이름]\n등록된 분류: #{projects}"
+
+add_projects = (req, name)->
+  call_api "addProject", (e, r, b) ->
+    req.speaker "[할일] #{name} 분류 추가되었습니다."
+  , {
+    name: name
+  }
 
 get_projects = (req, callback)->
-  request "#{APIPATH}getProjects#{APITAIL}", (e, r, b) ->
+  call_api "getProjects", (e, r, b) ->
     if !e && r
-      console.log r
       callback req, JSON.parse b
     else
       req.speaker "에러가 발생하였습니다.. #{e}"
 
+call_api = (name, callback, query = {}) ->
+  query.token = APITOKEN
+  request {url:"#{APIPATH}#{name}", qs:query}, callback
 
 module.exports = todoist;
APITAIL = "?token=#{APITOKEN}"

todoist = (req) ->
  if(req.body.text.indexOf(" ") == -1)
    # nothing to do
  else

    if text_token[1] == "추가"
      # Add
      console.log "add"
    else if text_token[1] == "분류추가"
      # Add
      add_projects req, text_token.slice(2, 1000).join(" ")

    else if text_token[1] == "끝"
      # Add
      console.log "add"
