├── Procfile ├── external-scripts.json ├── etc ├── add-bot.jpg ├── todo-add.jpg ├── todo-clear.jpg ├── todo-help.jpg ├── todo-image.jpg ├── todo-list.jpg ├── todo-note.jpg ├── todo-show.jpg ├── todo-accept.jpg ├── todo-assign.jpg ├── todo-complete.jpg ├── todo-delete.jpg ├── todo-reject.jpg ├── todo-search.jpg ├── todo-setdate.jpg ├── todo-settime.jpg ├── todo-subtask.jpg ├── todo-update.jpg ├── todo-notifications.jpg ├── todo-setdatetoday.jpg ├── todo-setdatefortask.jpg ├── todo-setdefaultdate.jpg ├── todo-setdefaulttime.jpg ├── todo-settimefortask.jpg ├── todo-setdatetodayfortask.jpg └── todo-setdefaultdatetodayplusn.jpg ├── tracker └── Tracker.ods ├── docs ├── Usage Document.docx ├── how to add taskbot.docx └── README.md ├── release_notes └── Release Notes.doc ├── index.coffee ├── installation_scripts ├── config.sh └── install.sh ├── package.json ├── README.md └── src └── scripts └── todo.coffee /Procfile: -------------------------------------------------------------------------------- 1 | web: bin/hubot -a slack 2 | -------------------------------------------------------------------------------- /external-scripts.json: -------------------------------------------------------------------------------- 1 | [ 2 | "hubot-redis-brain" 3 | ] 4 | -------------------------------------------------------------------------------- /etc/add-bot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/add-bot.jpg -------------------------------------------------------------------------------- /etc/todo-add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-add.jpg -------------------------------------------------------------------------------- /etc/todo-clear.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-clear.jpg -------------------------------------------------------------------------------- /etc/todo-help.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-help.jpg -------------------------------------------------------------------------------- /etc/todo-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-image.jpg -------------------------------------------------------------------------------- /etc/todo-list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-list.jpg -------------------------------------------------------------------------------- /etc/todo-note.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-note.jpg -------------------------------------------------------------------------------- /etc/todo-show.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-show.jpg -------------------------------------------------------------------------------- /etc/todo-accept.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-accept.jpg -------------------------------------------------------------------------------- /etc/todo-assign.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-assign.jpg -------------------------------------------------------------------------------- /etc/todo-complete.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-complete.jpg -------------------------------------------------------------------------------- /etc/todo-delete.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-delete.jpg -------------------------------------------------------------------------------- /etc/todo-reject.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-reject.jpg -------------------------------------------------------------------------------- /etc/todo-search.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-search.jpg -------------------------------------------------------------------------------- /etc/todo-setdate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdate.jpg -------------------------------------------------------------------------------- /etc/todo-settime.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-settime.jpg -------------------------------------------------------------------------------- /etc/todo-subtask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-subtask.jpg -------------------------------------------------------------------------------- /etc/todo-update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-update.jpg -------------------------------------------------------------------------------- /tracker/Tracker.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/tracker/Tracker.ods -------------------------------------------------------------------------------- /docs/Usage Document.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/docs/Usage Document.docx -------------------------------------------------------------------------------- /etc/todo-notifications.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-notifications.jpg -------------------------------------------------------------------------------- /etc/todo-setdatetoday.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdatetoday.jpg -------------------------------------------------------------------------------- /docs/how to add taskbot.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/docs/how to add taskbot.docx -------------------------------------------------------------------------------- /etc/todo-setdatefortask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdatefortask.jpg -------------------------------------------------------------------------------- /etc/todo-setdefaultdate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdefaultdate.jpg -------------------------------------------------------------------------------- /etc/todo-setdefaulttime.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdefaulttime.jpg -------------------------------------------------------------------------------- /etc/todo-settimefortask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-settimefortask.jpg -------------------------------------------------------------------------------- /release_notes/Release Notes.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/release_notes/Release Notes.doc -------------------------------------------------------------------------------- /etc/todo-setdatetodayfortask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdatetodayfortask.jpg -------------------------------------------------------------------------------- /etc/todo-setdefaultdatetodayplusn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishals79/hubot-todo/HEAD/etc/todo-setdefaultdatetodayplusn.jpg -------------------------------------------------------------------------------- /index.coffee: -------------------------------------------------------------------------------- 1 | path = require 'path' 2 | 3 | module.exports = (robot) -> 4 | robot.load path.join(__dirname, '/src/scripts/') 5 | -------------------------------------------------------------------------------- /installation_scripts/config.sh: -------------------------------------------------------------------------------- 1 | echo "------------------Adding dependencies--------------------" 2 | cd taskbot 3 | echo "[ 4 | \"hubot-redis-brain\" 5 | ]" > external-scripts.json 6 | npm install hubot-slack --save 7 | npm install hubot-todo --save 8 | -------------------------------------------------------------------------------- /installation_scripts/install.sh: -------------------------------------------------------------------------------- 1 | clear 2 | echo "--------------------Downloading Redis------------------------------" 3 | wget http://download.redis.io/releases/redis-3.0.2.tar.gz 4 | tar xzf redis-3.0.2.tar.gz 5 | cd redis-3.0.2 6 | echo "--------------------Installing Redis-------------------------------" 7 | make 8 | 9 | echo "--------------------Installing hubot-------------------------------" 10 | npm install -g hubot coffee-script yo generator-hubot 11 | cd .. 12 | mkdir taskbot 13 | cd taskbot 14 | yo hubot 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hubot-todo", 3 | "version": "1.0.11", 4 | "author": { 5 | "name": "vishal singh", 6 | "url": "" 7 | }, 8 | "contributors": [ 9 | { 10 | "name": "vishal singh", 11 | "email": "" 12 | } 13 | ], 14 | "keywords": [ 15 | "hubot", 16 | "adapter", 17 | "task management", 18 | "slack" 19 | ], 20 | "description": "A task management hubot", 21 | "licenses": [ 22 | { 23 | "type": "", 24 | "url": "" 25 | } 26 | ], 27 | "repository": { 28 | "type": "git", 29 | "url": "https://github.com/vishals79/hubot-todo.git" 30 | }, 31 | "bugs": { 32 | "url": "https://github.com/vishals79/hubot-todo/issues", 33 | "email": "" 34 | }, 35 | "devDependencies": { 36 | "coffee-script": "~1.7.1", 37 | "hubot": "~2.11" 38 | }, 39 | "main": "./index", 40 | "engines": { 41 | "node": ">=0.4.7" 42 | }, 43 | "scripts": { 44 | "test": "echo \"Error: No test specified\" && exit 1" 45 | }, 46 | "dependencies": { 47 | "slack-client": "~1.4.0" 48 | } 49 | } 50 | 51 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Get started with task management 2 | 3 | 4 | ## How to add taskbot 5 | 6 | Click on "Direct Message" to add task bot 7 | 8 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/add-bot.jpg "add bot") 9 | 10 | 11 | ## Usage Document 12 | 13 | **task_number = last added task, if (task_number) is not provided** 14 | 15 | ### 1. add|create (task-description) @hh:mm (optional) : To create a new task 16 | Examples: 17 | i. add Call John for requirement analysis 18 | ii. create Call John for requirement analysis 19 | iii. add Call John for requirement analysis @ 15:30 20 | iv. create Call John for requirement analysis @ 15:30 21 | 22 | ### 2. update (task_number) (task-description) @hh:mm (optional): To update the description and time of an existing task. 23 | Examples: 24 | i. update Call John for requirement analysis and timeline discussion 25 | ii. update Call John for requirement analysis and timeline discussion @ 18:00 26 | iii. update 3 Deploy code @20:00 27 | 28 | ### 3. delete (task_number|all): To delete an existing task. 29 | Examples: 30 | i. delete 31 | ii. delete 2 32 | iii. delete all 33 | 34 | First will delete last added task. Second will delete task number 2 and third will delete all tasks. 35 | 36 | ### 4. show (task_number): To display details of an existing task. 37 | Examples: 38 | i. show 39 | ii. show 3 40 | 41 | First will display details of last added task and second will show details of task number 3. 42 | 43 | ### 5. note (task_number) (note-description): To add note for a task. 44 | Examples: 45 | i. note Inform Mark after completing the task. 46 | ii. note 3 Inform Mark after completing the task. 47 | 48 | ### 6. complete (task_number): To mark a task as complete. 49 | Examples: 50 | i. complete 51 | ii. complete 3 52 | 53 | ### 7. time (task_number) (time in the format hh:mm): To change time for a task. 54 | Examples: 55 | i. time 10:15 56 | ii. time 3 10:15 57 | 58 | ### 8. date (task_number) (date in the format DD-MM-YYYY): To change date for a task. 59 | Examples: 60 | i. date 22-08-2015 61 | ii. date 3 22-08-2015 62 | 63 | ### 9. date (task_number) today+n: To change date for a task. 64 | Examples: 65 | i. date today 66 | ii. date 3 today+1 67 | 68 | ### 10. list: To display list of tasks. 69 | Example: 70 | i. list 71 | 72 | ### 11. subtask (description) for (parent-task-number): To add subtask for a task. 73 | Example: 74 | i. subtask Send status email after code deployment for 3 75 | 76 | ### 12. default time HH:MM: To set default time for task creation. 77 | Example: 78 | i. default time 22:00 79 | 80 | ### 13. default date today+n: To set default date for task creation. 81 | Example: 82 | i. default date today+1 83 | 84 | ### 14. default date (DD-MM-YYYY): To set default date for task creation. 85 | Example: 86 | i. default date 15-08-2015 87 | 88 | ### 15. assign (task_number) @User_Id: Assign a task to any other user. 89 | Examples: 90 | i. assign @vishal.singh 91 | ii. assign 3 @vishal.singh 92 | 93 | ### 16. notifications: To display all notifications (tasks assigned/rejected by users) 94 | Example: 95 | i. notifications 96 | 97 | ### 17. accept (task_number): To accept a task assigned by any user. 98 | Examples: 99 | i. accept 100 | ii. accept 3 101 | 102 | ### 18. reject (task_number): To reject a task assigned by any user. 103 | Examples: 104 | i. reject 105 | ii. reject 3 106 | 107 | ### 19. clear: To clear all notifications 108 | Example: 109 | i. clear 110 | ### 20. search: To search for tasks based on keywords. 111 | Example: 112 | i. search Meeting Call Deploy 113 | 114 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hubot Todo 2 | 3 | A Hubot script that manages TODOs. 4 | 5 | ## How to install 6 | 7 | ### Install node.js and npm 8 | Follow this link to install node.js and npm - http://joyent.com/blog/installing-node-and-npm 9 | 10 | Fixing npm permissions (https://docs.npmjs.com/getting-started/fixing-npm-permissions) 11 | - mkdir ~/npm-global 12 | - npm config set prefix '~/npm-global' 13 | - export PATH=~/npm-global/bin:$PATH 14 | - source ~/.profile 15 | 16 | ### Install redis 17 | - wget http://download.redis.io/releases/redis-3.0.2.tar.gz 18 | - tar xzf redis-3.0.2.tar.gz 19 | - cd redis-3.0.2 20 | - make 21 | - src/redis-server 22 | 23 | ### Install Hubot 24 | npm install -g hubot coffee-script yo generator-hubot 25 | mkdir -p /path/to/hubot 26 | cd /path/to/hubot 27 | yo hubot 28 | 29 | For reference follow : https://hubot.github.com/docs/ and https://github.com/slackhq/hubot-slack 30 | 31 | ### Add hubot slack as dependency 32 | npm install hubot-slack --save 33 | 34 | ### Add hubot todo as dependency 35 | npm install hubot-todo --save 36 | 37 | ### Add redis to external-scripts.json 38 | Replace generated external-scripts.json content with 39 | [ 40 | "hubot-redis-brain" 41 | ] 42 | 43 | ## How to run 44 | - Navigate to /path/to/hubot/ 45 | - HUBOT_SLACK_TOKEN=(API Token) ./bin/hubot -a slack 46 | you can also set HUBOT_SLACK_TOKEN as your environment variable 47 | 48 | ## Example 49 | ### 1. add|create 50 | add|create (task-description) @hh:mm (optional) 51 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-add.jpg "add") 52 | 53 | ### 2. list 54 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-list.jpg "list") 55 | 56 | ### 3. update 57 | update (task-number) (task-description) @hh:mm (optional), task_number = last added task, if task_number is not provided 58 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-update.jpg "update") 59 | 60 | ### 4. time 61 | #### time (task-number) (time in the format hh:mm), task_number = last added task, if task_number is not provided 62 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-settime.jpg "set time") 63 | 64 | #### default time (time in the format hh:mm) 65 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-setdefaulttime.jpg "set default time") 66 | 67 | ### 5. date 68 | #### date (task-number) (date in the format DD-MM-YYYY), task_number = last added task, if task_number is not provided 69 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-setdate.jpg "set date") 70 | 71 | #### date (task-number) today+n , task_number = last added task, if task_number is not provided 72 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-setdatetoday.jpg "set today+n date for task") 73 | 74 | #### default date (date in the format DD-MM-YYYY) 75 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-setdefaultdate.jpg "set default date") 76 | 77 | #### default date today+n 78 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-setdefaultdatetodayplusn.jpg "set default date today+n") 79 | 80 | ### 6. note (task number) (note-description) 81 | note (task number) (note-description), task_number = last added task, if task_number is not provided 82 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-note.jpg "note") 83 | 84 | ### 7. delete 85 | delete (task number)|all, task_number = last added task, if task_number is not provided 86 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-delete.jpg "delete") 87 | 88 | ### 8. complete 89 | complete (task-number), task_number = last added task, if task_number is not provided 90 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-complete.jpg "complete") 91 | 92 | ### 9. subtask 93 | subtask (description) for (parent-task-number) 94 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-subtask.jpg "subtask") 95 | 96 | ### 10.show 97 | show (task number), task_number = last added task, if task_number is not provided 98 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-show.jpg "todo show") 99 | 100 | ### 11.assign 101 | assign (task number) @User_Id, task_number = last added task, if task_number is not provided 102 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-assign.jpg "todo assign") 103 | 104 | ### 12.notifications 105 | notifications 106 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-notifications.jpg "todo notifications") 107 | 108 | ### 13.accept 109 | accept (task number), task_number = last added task, if task_number is not provided 110 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-accept.jpg "todo accept") 111 | 112 | ### 14.reject 113 | reject (task number), task_number = last added task, if task_number is not provided 114 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-reject.jpg "todo reject") 115 | 116 | ### 15.clear 117 | clear 118 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-clear.jpg "todo clear") 119 | 120 | ### 16. help 121 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-help.jpg "todo help") 122 | 123 | ### 17. search 124 | search (key-words) , user can enter multiple keywords separated by space 125 | ![alt text](https://github.com/vishals79/hubot-todo/blob/master/etc/todo-search.jpg "todo search") 126 | 127 | ## Configuration 128 | See [`src/scripts/todo.coffee`](src/scripts/todo.coffee). 129 | 130 | ## Work Flow 131 | 132 | - Hubot Todo - A todo app to help users in task management. It provides facility to add, update, delete and show tasks. 133 | - Commands in use 134 | - Current 135 | - add|create (task-description) 136 | - A task will be added with task description, default date and time. 137 | - update (task-number) (task-description) @hh:mm,where task-number and time(hh:mm) are optional 138 | - It will update the description of the mentioned task-number. If task number is not specified, last added task present in the context gets modified. 139 | - delete (task number|all) 140 | - If task number is not specified, last added task present in the context gets removed. 141 | - time (task-number) (time in the format hh:mm) 142 | -If task number is not specified, last added task present in the context gets modified. 143 | - date (task-number) (date in the format DD-MM-YYYY) 144 | - If task number is not specified, last added task present in the context gets removed. 145 | - date (task-number) today+n 146 | - Modify date of task-number to current day + n number of days. If task number is not specified, last added task present in the context gets modified. 147 | - subtask (description) for (parent-task-number) 148 | - Add sub task for parent-task-number. 149 | - list 150 | - display the list of tasks on chronological basis. 151 | - default time HH:MM 152 | - Set HH:MM as default time. 153 | - default date today+n 154 | - Set default date to current date+n 155 | - show (task number) 156 | - Show details of the task. task_number = last added task, if task_number is not provided 157 | - note (task number) (note-description) 158 | - Add note for (task number). task_number = last added task, if task_number is not provided 159 | - complete (task-number) 160 | - Mark the specified task as complete. task_number = last added task, if task_number is not provided 161 | - default date (DD-MM-YYYY) 162 | - Set default date to (DD-MM-YYYY) 163 | - assign (task-number) @User_Id 164 | - assign task-number to user with id = User_Id 165 | - notifications 166 | - Display user's notifications. 167 | - accept (task-number) 168 | - Add task corresponding to task-number to user's list and delete the notification. 169 | - reject (task-number) 170 | - Reject task to send it back to the assignor and delete the notification. 171 | - clear 172 | - Clear all notifications. 173 | - search 174 | - Search for tasks based on keywords. 175 | - To be aded 176 | - Examples 177 | -------------------------------------------------------------------------------- /src/scripts/todo.coffee: -------------------------------------------------------------------------------- 1 | # Description: 2 | # Simple todo app 3 | # 4 | # Dependencies: 5 | # 6 | # Configuration: 7 | # None 8 | # 9 | # Commands: 10 | # 11 | # Author: 12 | # vishal singh 13 | 14 | class Todos 15 | constructor: (@robot) -> 16 | @robot.brain.data.todos = {} 17 | 18 | @robot.respond /(add|create) (.*)/i, @addItem 19 | @robot.respond /delete( [0-9]+| all){0,1}/i, @removeItem 20 | @robot.respond /list/i, @listItems 21 | @robot.respond /help/i, @help 22 | @robot.respond /update ([0-9]+){0,1}(.*)/i, @updateItem 23 | @robot.respond /time( [0-9]+){0,1}( ([0-9]{2}):([0-9]{2}))/i, @setTime 24 | @robot.respond /date( [0-9]+){0,1}( ([0-9]{2})-([0-9]{2})-([0-9]{4}))/i, @setDate 25 | @robot.respond /date( [0-9]+){0,1} today(\+([0-9]+)){0,1}/i, @setDateWithExpression 26 | @robot.respond /note ([0-9]+){0,1}(.*)/i, @addNote 27 | @robot.respond /subtask (.*) for ([0-9]+)/i, @addSubtask 28 | @robot.respond /complete( [0-9]+){0,1}/i, @markTaskAsFinish 29 | @robot.respond /default date (([0-9]{2})-([0-9]{2})-([0-9]{4}))/i, @setDefaultDate 30 | @robot.respond /default date today(\+([0-9]+)){0,1}/i, @setDefaultDateExpression 31 | @robot.respond /default time ([0-9]{2}):([0-9]{2})/i, @setDefaultTime 32 | @robot.respond /show( [0-9]+){0,1}/i, @showTask 33 | @robot.respond /assign( [0-9]+){0,1} @([a-zA-Z0-9]+){1}/i, @assignTask 34 | @robot.respond /notifications/i, @notifications 35 | @robot.respond /accept( [0-9]+){0,1}/i, @acceptNotification 36 | @robot.respond /reject( [0-9]+){0,1}/i, @rejectNotification 37 | @robot.respond /clear/i, @clearNotification 38 | @robot.respond /search (.*)/i, @search 39 | 40 | help: (msg) => 41 | message = "\n* add|create @hh:mm (optional) 42 | \n\n task_number = last added task, if is not provided 43 | \n\n* update @hh:mm (optional) 44 | \n* delete 45 | \n* show 46 | \n* note 47 | \n* complete 48 | \n* time