Duke bot is an individual project done for CS2103T Software Engineering module.
Duke Bot is an interactive chat-bot that helps users to keep track of their tasks.
Main types of tasks that can be recorded are:
With reference to the screenshot:
The current features available are:
Feature | Purpose |
---|---|
todo <task name> |
adds a todo task |
deadline <task name> /by <deadline> |
adds a deadline task |
event <task name> /at <event time> |
adds an event task |
fixed <task name> /for <duration> |
adds a fixed-duration task |
list |
shows the current tasks in the list |
done <task number> |
marks a specific task as done |
delete <task number> |
removes a specific task |
find <keyword> |
shows a task that contains a given keyword |
bye |
terminates the bot |
todo
This command adds a todo task into the list.
todo <task name>
A todo task with the given task name will be added. The number of tasks will be updated, and indicated as a summary.
Example of usage:
todo read book
Expected outcome:
Got it. I've added this task:
[T][✘] read book
Now you have 1 task in the list.
deadline
This command adds a deadline task into the list
deadline <task name> /by <deadline>
A deadline task with the given task name and deadline will be added.
/by
acts as an indicator for deadline task.
Hence, users need to include the keyword by
for the bot to detect that it is a deadline task.
The number of tasks will be updated, and indicated as a summary.
Example of usage:
deadline finish project task /by 18/10/2020 23:59
Expected outcome:
Got it. I've added this task:
[D][✘] finish project task (by: 18-Oct-2020 11:59PM)
Now you have 2 tasks in the list.
event
This command adds an event task into the list
event <task name> /at <event time>
An event task with the given task name and event time will be added.
/at
acts as an indicator for event task.
Hence, users need to include the keyword at
for the bot to detect that it is an event task.
The number of tasks will be updated, and indicated as a summary.
Example of usage:
event attend meeting /at 18/10/2020 20:00
Expected outcome:
Got it. I've added this task:
[E][✘] attend meeting (at: 18-Oct-2020 08:00PM)
Now you have 3 tasks in the list.
fixed
This command adds a fixed duration task into the list
fixed <task name> /for <duration>
A fixed duration task with the given task name and duration will be added.
/for
acts as an indicator for fixed duration task.
Hence, users need to include the keyword for
for the bot to detect that it is a fixed duration task.
The number of tasks will be updated, and indicated as a summary.
Example of usage:
fixed do homework /for 2 hours
Expected outcome:
Got it. I've added this task:
[F][✘] do homework (needs: 2 hours)
Now you have 4 tasks in the list.
list
This command shows the tasks in the tasklist.
list
Example of usage:
list
Expected outcome:
Here are the tasks in your list:
1.[T][✘] read book
2.[D][✘] finish project task (by: 18-Oct-2020 11:59PM)
3.[E][✘] attend meeting (at: 18-Oct-2020 08:00PM)
4.[F][✘] do homework (needs: 2 hours)
Now you have 4 tasks in the list.
done
This command marks a particular task as done.
done <task number>
The task with a particular task number will be marked as done.
The icon of the task will change from ✘ to ✓.
Example of usage:
done 1
Expected outcome:
Nice! I've marked this task as done:
[T][✓] read book
delete
This command deletes a particular task.
delete <task number>
The task with a particular task number will be deleted.
Example of usage:
delete 1
Expected outcome:
Noted. I've removed this task:
[T][✓] read book
find
This command finds tasks in the tasklist that contains a particular keyword.
find <keyword>
Example of usage:
find do
Expected outcome:
Here are the matching tasks in your list:
1.[F][✘] do homework (needs: 2 hours)
2.[D][✘] do project task (by: 18-Oct-2020 11:59PM)
bye
This command terminates the bot.
bye
Example of usage:
bye
Expected outcome:
System exits