Giter Club home page Giter Club logo

hubot-todo's Introduction

Hubot Todo

A Hubot script that manages TODOs.

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

hubot-todo's People

Contributors

vishal-pramati avatar vishals79 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hubot-todo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.