Duke is a Personal Assistant Chatbot that helps a user keep track of his tasks.

todoAdds a Todo task to the task list.
Format: todo TODO_DESCRIPTION
Example of usage:
todo CS2103T tutorial
Expected outcome:
Got it. I've added this task:
[T][✘] CS2103T tutorial
Now you have 1 task(s) in the list.
deadlineAdds a Deadline task with date and time to the task list.
Format: deadline DEADLINE_DESCRIPTION /by DD/MM/YYYY 24H_TIME_FORMAT
Example of usage:
deadline assignment /at 21/09/2020 2359
Expected outcome:
Got it. I've added this task:
[D][✘] assignment (by: 21 SEPTEMBER 2020 11.59PM)
Now you have 2 task(s) in the list.
eventAdds an Event task with date and time to the task list.
Format: event EVENT_DESCRIPTION /at DD/MM/YYYY 24H_TIME_FORMAT-24H_TIME_FORMAT
Example of usage:
event project meeting /at 30/09/2020 1400-1600
Expected outcome:
Got it. I've added this task:
[E][✘] project meeting (at: 30 SEPTEMBER 2020 2PM to 4PM)
Now you have 3 task(s) in the list.
listLists all the tasks in the task list.
Format: list
Expected outcome:
Here are the task(s) in your list:
1. [T][✘] CS2103T tutorial
2. [D][✘] assignment (by: 21 SEPTEMBER 2020 11.59PM)
3. [E][✘] project meeting (at: 30 SEPTEMBER 2020 2PM to 4PM)
doneMarks a specified task in the task list as done.
Format: done INDEX
Example of usage:
done 1 - marks the task at index 1 as done
Expected outcome:
Nice! I've marked this task as done:
[T][✓] CS2103T tutorial
deleteDeletes a specified task in the task list.
Format: delete INDEX
Example of usage:
delete 2 - deletes the task at index 2
Expected outcome:
Noted. I've removed this task:
[D][✘] assignment (by: 21 SEPTEMBER 2020 11.59PM)
Now you have 2 task(s) in the list.
findFinds all the tasks with the given keyword.
Format: find KEYWORD
Example of usage:
find meeting - finds all tasks with meeting in the description
Expected outcome:
Here are the matching task(s) in your list:
1. [E][✘] project meeting (at: 30 SEPTEMBER 2020 2PM to 4PM)
byeExits the program.
Format: bye
Expected output:
Bye. Hope to see you again soon!
Error messages will be displayed when the user input is not what is expected.
Sample outputs:
☹ OOPS!!! I'm sorry, but I don't know what that means :-(
☹ OOPS!!! The description of a todo cannot be empty.
☹ OOPS!!! I don't know which task to delete.
Tasks are sorted automatically after any command that changes the task list.
Task list data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.