
Bhaymax is a chatbot app that is designed to manage tasks {i.e., to-do items, deadlines and events}.
.jar) file. You can download the latest version from this URL..jar file (downloaded in step 2.) to the folder you want to use as the home folder for the application.java -jar bhaymax.javaGreets the chatbot. (And the chatbot greets you back!)
Format: hello or hi
todoAdds a to-do item to be tracked.
Format: todo {description}
Explanation of parameters:
{description}: (Compulsory) A brief description about the
to-do item to be created.Examples:
todo get notes from friendtodo buy groceries for mothertodo studydeadlineAdds a deadline item to be tracked.
Format: deadline {description} /by {due-by date}
Explanation of parameters:
{description}: (Compulsory) A brief description about the
deadline item to be created.{due-by date}: (Compulsory) The date and time at which the
deadline is due by, in the format dd/MM/yyyy HH:mm{description} after deadline, {description} and {due-by
date} separated by ` /by `)Examples:
deadline submit report /by 20/03/2025 23:59deadline finish essay /by 05/01/2025 13:00eventAdds an event to be tracked.
Format: event {description} /from {start date} /to {end date}
Explanation of parameters:
{description}: (Compulsory) A brief description about the
event to be created.{start date}: (Compulsory) The date and time at which the
event starts, in the format dd/MM/yyyy HH:mm{end date}: (Compulsory) The date and time at which the
event end, in the format dd/MM/yyyy HH:mm{description} after event, {description} and {start date}
separated by ` /from `, etc.)Examples:
event mid-terms /from 05/03/2025 12:00 /to 05/03/2025
14:00event movie screening /from 22/02/2025 13:00 /to
22/02/2025 15:00listShows a list of all to-do items, deadlines and events created.
Format: list
filterFilters deadlines and events by date.
Format: search {filter_option} {date / date and time}
Explanation of parameters:
{filter_option}: One of 6 values - /before, /on,
/after, /before_time, /on_time, /after_time
_time if you also wish to
specify the time to filter by{date / date and time}: The date or the date and time to
filter by, in the format dd/MM/yyyy and dd/MM/yyyy HH:mm
respectively
{filter_option} provided contains the suffix
_time, then a time is also required for the filterExamples:
filter /before 02/03/2025filter /on 02/03/2025filter /after 02/03/2025filter /before_time 02/03/2025 23:59filter /on_time 02/03/2025filter /after_time 02/03/2025 23:59
Note that for the last three examples the
{filter_option}is suffixed with_timeas we are specifying the time (alongside the date) to filter the tasks by.
searchSearches for a task that has a description matching the provided search term.
Format: search {keyword or phrase}
Explanation of parameters:
{keyword or phrase}: (Compulsory) A keyword or a phrase to
search forExamples:
search examsearch buysearch moviemarkMarks a task (i.e., a to-do item, deadline or event) as completed.
Format: mark {index of task}
Explanation of parameters:
{index of task}: (Compulsory) The index number of the task to be
marked as completed. This number can be retrieved using the output
of list.Examples:
mark 11mark 1mark 23unmarkMarks a task (i.e., a to-do item, deadline or event) as incomplete.
Format: unmark {index of task}
Explanation of parameters:
{index of task}: (Compulsory) The index number of the task to be
marked as incomplete. This number can be retrieved using the output
of list.Examples:
unmark 11unmark 1unmark 23deleteRemoves a task (i.e., a to-do item, deadline or event) from getting tracked.
Format: delete {index of task}
Explanation of parameters:
{index of task}: (Compulsory) The index number of the task to be
deleted. This number can be retrieved using the output
of list.Examples:
delete 11delete 1delete 23clearClears the chat (box) area.
Format: clear
bye or exitExits the program.
Format: bye or exit
The data file is automatically created when a task is added to the program.
It is saved at [JAR file location]/data/tasks.txt.
Tasks are stored in the following format:
T | {task completion status} | {task description}{task completion status}: Indicates whether the task has
been marked as completed. It can take one of two values:
1 - Indicates the task has been marked as completed0 - Indicates the task has been marked as incomplete{task description}: A brief description about the
to-do item.D | {task completion status} | {task description} | {due-by date}{task completion status}: Indicates whether the task has
been marked as completed. It can take one of two values:
1 - Indicates the task has been marked as completed0 - Indicates the task has been marked as incomplete{task description}: A brief description about the
deadline.{due-by date}: The date and time the deadline item is due
by. Specified in the format dd/MM/yyyy HH:mm.E | {task completion status} | {task description} | {start date} | {end date}{task completion status}: Indicates whether the task has
been marked as completed. It can take one of two values:
1 - Indicates the task has been marked as completed0 - Indicates the task has been marked as incomplete{task description}: A brief description about the
event.{start date}: The date and time at which the event starts, in the format dd/MM/yyyy HH:mm.{end date}: The date and time at which the event ends, in the format dd/MM/yyyy HH:mm.