Duke is a chatbot which assists in tracking tasks.
When started up, Duke will introduce itself.
After the introduction, the User may input any command, which Duke will try to execute.
Duke will then inform the User if their command was successfully executed.
Depending on whether or not the command was executed successfully, Duke will react differently.
After informing the User if their command was successfully executed, Duke will wait for the User’s next command.
Duke’s image and dialog box are always on the left, while the User’s image and dialog box are always on the right.
As mentioned in Section 2.1, Duke will react differently based on whether or not the User’s command was successfully executed. This is done by having a different image correspond to the various case.
Below are a list of possible images used in the Duke Application.
There is only one image used to represent the User.
The image looks like this:
There are three possible images used to represent the Duke.
Firstly, there is a unique image that is only used during the first interaction with the User. It is used to introduce the Duke.
The image looks like this:
Next, there is the image used when the Duke successfully carries out a command from the User.
The image looks like this:
Lastly, there is the image used when the Duke is unable to carry out a command from the User.
The image looks like this:
Below is a sample interaction with the Duke Application.
todo
Adds a todo task to Duke.
Format: todo DESCRIPTION
DESCRIPTION
: any sequence of ASCII printable characters (for reference, click here)Example of usage:
todo CS2103 Quiz
Expected outcome:
Got it, I've added this task:
[T][N] CS2103 Quiz
Now you have 1 task in the list.
event
Adds an event task to Duke.
Format: event DESCRIPTION /at DETAILS
DESCRIPTION
: any sequence of ASCII printable characters (for reference, click here)DETAILS
: any sequence of ASCII printable characters (for reference, click here)Example of usage:
event Steamboat dinner /at Bugis, 15 Mar 2020 8PM
Expected outcome:
Got it, I've added this task:
[E][N] Steamboat dinner (at: Bugis, 15 Mar 2020 8PM)
Now you have 2 tasks in the list.
deadline
Adds a deadline task to Duke.
Format: deadline DESCRIPTION /by DATE TIME
DESCRIPTION
: any sequence of ASCII printable characters (for reference, click here)DATE
: yyyy-MM-ddTIME
: HHmm (Time is optional. If no time is provided, it is assumed to be 0000)Example of usage:
deadline CS3243 Assigment /by 2020-02-19
Expected outcome:
Got it, I've added this task:
[D][N] CS3243 Assignment (by: 19 Feb 2020 0000)
Now you have 3 tasks in the list.
list
Lists out all the tasks saved in Duke.
Format: list
Example of usage:
list
Expected outcome:
Here are the tasks in your list:
1. [T][N] CS2103 Quiz
2. [E][N] Steamboat dinner (at: Bugis, 15 Mar 2020 8PM)
3. [D][N] CS3243 Assignment (by: 19 Feb 2020 0000)
done
Marks a saved task as done.
Format: done INDEX
INDEX
: positive number corresponding to the desired task (can be obtained from the list
command as seen here)Example of usage:
done 1
Expected outcome:
Nice, I've marked this task as done:
[T][Y] CS2103 Quiz
delete
Deletes saved task from Duke.
Format: delete INDEX
INDEX
: positive number corresponding to the desired task (can be obtained from the list
command as seen here)Example of usage:
delete 1
Expected outcome:
Noted. I've removed this task:
[T][Y] CS2103 Quiz
Now you have 2 tasks in the list.
find
Lists out all tasks that contain a specific keyword.
Note: keyword is case specific.
Format: find KEYWORD
KEYWORD
: any sequence of ASCII printable characters (for reference, click here)Example of usage:
find Assignment
Expected outcome:
Here are the matching tasks in your list:
1. [D][N] CS3243 Assignment (by: 19 Feb 2020 0000)
snooze
Changes the date and timing for a deadline or the details for an event.
Note: todo tasks cannot be snoozed.
Format: snooze INDEX /to TASK_FORMAT
INDEX
: positive number corresponding to the desired task (can be obtained from the list
command as seen here)TASK_FORMAT
must be appropriate for the type of task being rescheduled.
Example of usage:
snooze 2 /to 2020-03-16
Expected outcome:
Got it, the updated deadline looks like:
[D][N] CS3243 Assignment (by: 16 Mar 2020 0000)
bye
Exits the Duke Application.
The Duke Application will close shortly after the command is entered.
The buffer betweeen the entering of the command and the closing of the program is approximately 1 second to ensure the User can see Duke’s response.
Format: bye
Example of usage:
bye
Expected outcome:
Bye. Hope to see you again soon!
Data in duke is automatically saved onto the hard disk after the use of any command.
(Even when the command cannot be executed!)
todo DESCRIPTION
event DESCRIPTION /at DETAILS
deadline DESCRIPTION /by DATE TIME
list
done INDEX
delete INDEX
find KEYWORD
snooze INDEX /to TASK_FORMAT
bye
Credit to: