Skip to content

vishal-pramati/hubot-todo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hubot Todo

A Hubot script that manages TODOs. Testing

How to install

Install node.js and npm

  Follow this link to install node.js and npm - http://joyent.com/blog/installing-node-and-npm

  Fixing npm permissions (https://docs.npmjs.com/getting-started/fixing-npm-permissions)
    - mkdir ~/npm-global
    - npm config set prefix '~/npm-global'
    - export PATH=~/npm-global/bin:$PATH
    - source ~/.profile

Install redis

  - wget http://download.redis.io/releases/redis-3.0.2.tar.gz
  - tar xzf redis-3.0.2.tar.gz
  - cd redis-3.0.2
  - make
   	  - src/redis-server

Install Hubot

  npm install -g hubot coffee-script yo generator-hubot
  mkdir -p /path/to/hubot
  cd /path/to/hubot
  yo hubot

   	  For reference follow : https://hubot.github.com/docs/ and https://github.com/slackhq/hubot-slack

Add hubot slack as dependency

   	  npm install hubot-slack --save

Add hubot todo as dependency

   	  npm install hubot-todo --save

Add redis to external-scripts.json

Replace generated external-scripts.json content with
   [
  "hubot-redis-brain"
   ] 

How to run

   - Navigate to /path/to/hubot/
   - HUBOT_SLACK_TOKEN=(API Token) ./bin/hubot -a slack
   	 you can also set HUBOT_SLACK_TOKEN as your environment variable

Example

1. add|create

add|create (task-description) @hh:mm (optional)

alt text

2. list

alt text

3. update

update (task-number) (task-description) @hh:mm (optional), task_number = last added task, if task_number is not provided

alt text

4. time

time (task-number) (time in the format hh:mm), task_number = last added task, if task_number is not provided

alt text

default time (time in the format hh:mm)

alt text

5. date

date (task-number) (date in the format DD-MM-YYYY), task_number = last added task, if task_number is not provided

alt text

date (task-number) today+n , task_number = last added task, if task_number is not provided

alt text

default date (date in the format DD-MM-YYYY)

alt text

default date today+n

alt text

6. note (task number) (note-description)

note (task number) (note-description), task_number = last added task, if task_number is not provided

alt text

7. delete

delete (task number)|all, task_number = last added task, if task_number is not provided

alt text

8. complete

complete (task-number), task_number = last added task, if task_number is not provided

alt text

9. subtask

subtask (description) for (parent-task-number)

alt text

10.show

  	show (task number), task_number = last added task, if task_number is not provided

alt text

11.assign

  	assign (task number) @User_Id, task_number = last added task, if task_number is not provided

alt text

12.notifications

  	notifications

alt text

13.accept

  	accept (task number), task_number = last added task, if task_number is not provided

alt text

14.reject

  	reject (task number), task_number = last added task, if task_number is not provided

alt text

15.clear

  	clear

alt text

16. help

alt text

17. search

 search (key-words) , user can enter multiple keywords separated by space

alt text

Configuration

See src/scripts/todo.coffee.

Work Flow

  • Hubot Todo - A todo app to help users in task management. It provides facility to add, update, delete and show tasks.
    • Commands in use
      • Current
        • add|create (task-description)
          • A task will be added with task description, default date and time.
        • update (task-number) (task-description) @hh:mm,where task-number and time(hh:mm) are optional
          • 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.
        • delete (task number|all)
          • If task number is not specified, last added task present in the context gets removed.
        • time (task-number) (time in the format hh:mm) -If task number is not specified, last added task present in the context gets modified.
        • date (task-number) (date in the format DD-MM-YYYY)
          • If task number is not specified, last added task present in the context gets removed.
        • date (task-number) today+n
          • 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.
        • subtask (description) for (parent-task-number)
          • Add sub task for parent-task-number.
        • list
          • display the list of tasks on chronological basis.
        • default time HH:MM
          • Set HH:MM as default time.
        • default date today+n
          • Set default date to current date+n
        • show (task number)
          • Show details of the task. task_number = last added task, if task_number is not provided
        • note (task number) (note-description)
          • Add note for (task number). task_number = last added task, if task_number is not provided
        • complete (task-number)
          • Mark the specified task as complete. task_number = last added task, if task_number is not provided
        • default date (DD-MM-YYYY)
          • Set default date to (DD-MM-YYYY)
        • assign (task-number) @User_Id
          • assign task-number to user with id = User_Id
        • notifications
          • Display user's notifications.
        • accept (task-number)
          • Add task corresponding to task-number to user's list and delete the notification.
        • reject (task-number)
          • Reject task to send it back to the assignor and delete the notification.
        • clear
          • Clear all notifications.
        • search
          • Search for tasks based on keywords.
      • To be aded
    • Examples

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CoffeeScript 98.3%
  • Shell 1.7%