A ChatBot to Track Tasks
Duke is a personal chat-bot to help you keep track of your tasks, events, or deadlines. It is optimized for keyboard users, but has a GUI for the looks as well.
java -jar duke.jar
in a terminal to start Duke. A data directory will be created in the location you execute the command from.
help
to get started!todo DESCRIPTION
Adds a task with the given DESCRIPTION
.
Example of usage:
todo Return CLRS book to the library.
> I've added the following task:
> [📝][ ] Return CLRS book to the library.
deadline DESCRIPTION / DATE TIME
Adds a task with the given DESCRIPTION
and a deadline specified by DATE
and TIME
.
Date format
dd-mm-yyyy
.-
may be replaced by /
.Time format:
hhmm
.hh:mm
.Example of usage:
deadline CS2103T iP / 16-09-2022 2359
> I've added the following task:
> [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
event DESCRIPTION / DATE TIME
Adds an event with the given DESCRIPTION
and a time specified by DATE
and TIME
.
Date and time format is the same as the deadline command.
Example of usage:
event CS2103T lecture / 16-09-2022 1600
> I've added the following task:
> [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)
list
Lists all tasks in the task list.
Example of usage:
list
> List of tasks:
> 1. [📝][ ] Return CLRS book to the library.
> 2. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
> 3. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)
check INDEX
Marks the task at the given INDEX
as done.
You may want to use the list
command to find the index of the task you want to mark as done.
Example of usage:
check 1
> I've updated the following task:
> [📝][✔] Return CLRS book to the library.
uncheck INDEX
Marks the task at the given INDEX
as not done.
Example of usage:
uncheck 1
> I've updated the following task:
> [📝][ ] Return CLRS book to the library.
delete INDEX
Deletes the task at the given INDEX
.
Example of usage:
delete 1
> I've deleted the following task:
> [📝][ ] Return CLRS book to the library.
list
> List of tasks:
> 1. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
> 2. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)
find KEYWORD
Finds all tasks that contain the given KEYWORD
.
The search is case-insensitive.
Example of usage:
find cS
> Task containing the keyword "cS":
> 1. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
> 2. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)
help
Shows a help message with a list of commands and their usage.
exit
Exits the program with a goodbye message.
All the data is saved in the file ./data/data.txt
, relative to the directory you execute the jar from.
You can modify task list by directly editing this file. Each line of the file describes one task.
The format is the following:
TASK SYMBOL | IS DONE? | DESCRIPTION [| ARGS...]
TASK SYMBOL
is T
for todo task, D
for deadline, and E
for event tasks.IS DONE?
is 0 or 1 depending whether the task is due or not.DESCRIPTION
is the description of the task.ARGS...
take in a date time for deadline and events. The date-time must be in the
format h-M-yy HHmm
. Specifically, day and month number should not have leading zeros, and year must have
2 digits.Example data file:
T | 0 | Return CLRS book to the library.
D | 0 | CS2103T iP. | 16-9-22 2359
E | 0 | CS2103T lecture. | 16-9-22 1800
However, do note that if the data file is corrupted, Duke will not startup. It will show you a warning about the corruption and you can choose to keep the file and investigate, or start with a new file.