This is simple chat bot application I created for my CS2103 Project. The aesthetics of the bot is inspired by my favourite childhood game: Legend of Zelda.
The following features have been implemented in Zelda Bot:
Adding
of tasks to the bot.Marking Completion
for completed tasks.Listing
of all existing tasks.Deleting
existing tasks.Searching
for tasks using keywords.Sorting
tasks according by order of their duedate (if any).Viewing Schedule
for a particular month/date.Updating
the description or duedate (if any) of a particular task.The user can add new tasks into ZeldaBot. The tasks can be a :
Command:
Usage:
todo deadlift
deadline bench 2 plates/2020-12-12
event squat 500lbs/2020-12-25
Expected outcome:
Got it. This task is now added.
[T][X] deadlift
You have 1 tasks left in
your list!
Got it. This task is now added.
[D][X] bench 2 plates (by: 12 Dec 2020)
You have 2 tasks left in
your list!
Got it. This task is now added.
[E][X] squat 500lbs (by: 25 Dec 2020)
You have 3 tasks left in
your list! ---
Marks the completion of an existing task, indicated by a cross or a tick. The number of “done” in the command is the index of the task in your list.
Command:
done ‘task index’
Usage:
done 1
Expected outcome:
Nice! I have completed
this task! [T][✓] deadlift
List all existing tasks in your list.
Command:
list
Usage:
list
Expected outcome:
Here are the tasks in your tasklist:
1. [T][✓] deadlift
2. [D][✓] bench 2 plates (by: 12 Dec 2020)
3. [E][✓] squat 500lbs (by: 25 Dec 2020)
Deletes a tasks in your list of task. The number after “delete” is the index of the task in your list.
Command:
delete ‘index number of task’
Usage:
delete 1
Expected outcome:
Got it. Deleting task.....
[T][✓] deadlift
Ypu have 2 tasks left in
your list!
Searches for a task in your list of tasks with a keyword which bears similarities to the description of the task.
Command:
find ‘keyword matching task description’
Usage:
find bench
Expected outcome:
Here are the tasks in your list!
1. [D][✓] bench 2 plates (by: 12 Dec 2020)
Sorts deadlines and events in your list in order of their duedate, then insert all the todos at the end of the sorted list.
Command:
sort
Usage:
sort
Expected outcome:
Your tasks has been sorted! :)
1. [D][✓] bench 2 plates (by: 12 Dec 2020)
2. [E][✓] squat 500lbs (by: 25 Dec 2020)
3. [T][✓] deadlift
Display all the tasks you have for a particular date or month. First character of input month must be capitalized and input date must be in yyyy-mm-dd format.
Command:
Usage:
schedule December
schedule 2020-12-12
Expected outcome:
Here is your schedule for this month!
1. [D][✓] bench 2 plates (by: 12 Dec 2020)
2. [E][✓] squat 500lbs (by: 25 Dec 2020)
Here is your schedule for this date!
1. [D][✓] bench 2 plates (by: 12 Dec 2020)
Update the description or duedate of an existing task in your list of task.
Command:
Usage:
update 2 desc go on a date
Expected outcome:
This task:
[D][✓] bench 2 plates (by: 12 Dec 2020)
has been updated to this task:
[D][✓] go on a date (by: 12 Dec 2020)