Welcome to the repo for my Duke chatbot. The User Guide will guide you through on how to set-up and use the Duke chatbot.
- Download the latest jar file in the releases page.
- Place the jar file in your desired folder.
- Double click on the jar file or run
java -jar duke.jar
in the same directory as the jar file to run the app.
There are 3 different types of tasks that are supported, namely: Todo
, Deadline
and Event
.
The following subsections will guide you on how to properly add the three different types of tasks.
Todo tasks only stores the description of the task and does not store any information on when the task should be completed.
Syntax: todo <description>
Example: todo Add a todo task
Sample Usage:
Deadline tasks stores the description of the task and the deadline of the task.
Syntax: deadline <description> /by <YYYY-MM-DD> <HH:mm>
Example: deadline Add a deadline task /by 2020-09-17 23:59
Sample Usage:
Event tasks stores the description of the task and the time the event starts at.
Syntax: event <description> /at <YYYY-MM-DD> <HH:mm>
Example: event Add an event task /at 2020-09-17 23:59
Sample Usage:
Displays all the tasks that have previously been added.
Syntax: list
Sample Usage:
Mark a previously added task as done.
Syntax: done <index of task>
Example: done 2
Sample Usage:
Delete an unwanted task that was added previously.
Syntax: delete <index of task>
Example: delete 1
Sample Usage:
The app provides several methods to filter the tasks.
Filter tasks by keywords in the task's description.
Syntax: find <keyword>
Example find CS2103T
Sample Usage:
Filter tasks by their due dates. Todo tasks are excluded since they do not contain any date time information.
Syntax: due <YYYY-MM-DD>
Example due 2020-09-16
Sample Usage:
Filter tasks that are due within X days from now. Todo tasks are included by default.
Syntax: remind <number of days>
Example remind 5
Sample Usage:
Every task can be tagged in order to store additional information about the task. Unwanted tags can also be removed from the tasks
Synxtax: tag <index of task> <tag1> <tag2> ....
Example: tag 1 important exams
Sample Usage:
Synxtax: tag -<index of task> <tag1> <tag2> ....
Example: tag -1 SU igiveup
Note: If the task does not contain the tag to be deleted, the command would just ignore that specific tag.
Sample Usage:
Exit the app through a command.
Syntax: bye
The tasks that have been added will be saved in a .txt file. It can be found in ./data/duke.txt
from the folder where the .jar file is at. Each task is saved as a line similar to the command to add them with some additional information prepended and appended to it.
A 0
or 1
is prepended to the command to signify if the tasks is incomplete/complete respectively.
If the task has tags, //tags <tag1> <tag2>
will be appened to the command.
Examples:
0event CS2103T finals /at 2020-12-02 09:00 //tags #important #exams
1todo Update readme
0deadline Submit assignment /by 2020-09-16 23:59 //tags #graded