SleepyVoid is a chatbot with cat ASCII art made to help users manage and organize their tasks. It allows you to add and track tasks, deadlines, and events, remove completed tasks.
It has multiple features such as deadline tracking, event scheduling, task completion marking, storage, and more.
The main function of SleepyVoid is task management, and below are the 3 task types. They each have different features, so you can choose one of them to use that best fits your task.
todo stores simple tasks that can be completed without any time specification.
It is ideal for tasks that do not have a specific deadline or schedule.
To add a todo task, use the following command:
todo [task description]
todo Return book
After successfully adding a todo task, you will see the expected output below
/ᐠ˵+ +˵マ added:
1. [T][ ] Read Book
Now there's 2 pending task(s) in the list.
- The format of your task would be
[T][ ] task description. - The first
[T]indicates that it is atodotask. - The second
[ ]shows the completion status, which will be elaborated below
- No time requirement:
Todocan be used for any general tasks
deadline stores tasks with a specific due date and time, which is good to use for tasks that have to be completed before a certain deadline.
To add a deadline task, use the following command:
deadline [task description] /by [date and time]
Date and time can be keyed in any format as you wish to.
deadline Submit assignment /by 14 Nov
The output of successfully adding a deadline task is similar to adding a todo task.
/ᐠ˵+ +˵マ added:
2. [D][ ] Submit assignment (by: 14 Nov)
Now there's 2 pending task(s) in the list.
- The format would be
[D][ ] task description (by: date and time). [D]represent that this task is adeadlinetask.- The bracket
(by: _)shows the given deadline
- Time Required:
deadlinemust contain a command/byand an input after, to ensure no errors
event is a task type that stores tasks or activities that have a start and end time.
This makes it suitable for events in a time block, such as meetings or appointments.
To add a event task, use the following command:
event [task description] /from [start date and time] /to [end date and time]
Notice: the format of date and time is the same as deadline.
event Lab /from 2 /to 5
The output of successfully adding a event task is similar to the previous 2 task types
/ᐠ˵+ +˵マ added:
3. [E][ ] Lab (from: 2 to: 5)
Now there's 3 pending task(s) in the list.
- The format of your task would be
[E][ ] task description (from: start date and time to: end date and time). [E]represent that this task is aneventtask- The bracket
(from: _ to: _)shows the event duration
- Time Duration Required:
eventmust contain a start time and end time.
To help manage the tasks, we provide a set of useful commands that you can use to interact with SleepyVoid.
Notice: The command is not type sensitive
Below are the available commands and their functionalities:
list is a command that list all the tasks currently stored in SleepyVoid.
To list all the tasks, you can use the following command:
list
list
The expected output shows below:
/ᐠ˵= =˵マ:
1. [T][ ] Read Book
2. [D][ ] Submit assignment (by: 14 Nov)
3. [E][ ] Lab (from: 2 to: 5)
remove allows you to delete a task from the list.
To remove a task, you can use following command:
remove [index]
indexis the index of the task in the list, which can be viewed from listing the list via thelistcommand- The number in front of the task is the task index to use.
remove 1
Once the chatbot delete the task from the list, you will find the expected output below:
/ᐠ˵- -˵マ removed: 1. [T][X] Read Book
When you type list again, the list will now look like this
/ᐠ˵= =˵マ:
1. [D][ ] Submit assignment (by: 14 Nov)
2. [E][ ] Lab (from: 2 to: 5)
Mark allows you to mark your task as completed, thus allowing you to check it off the list
To mark a task, you can use the following command:
mark [index]
- Same as
deletecommand, the index is the number of the task in the list.
Type in these two command in sequence:
mark 1
The expected output of command mark 1 would be:
/ᐠ˵, ,˵マ Nice! I've marked this task as done:
1. [D][X] Submit assignment (by: 14 Nov)
find is used for finding the specific tasks using a keyword.
You can find specific tasks that contains the keyword in the task description.
To find a specific task, you can use following command:
find [description]
descriptionis the keyword that your target tasks should contain. If a task contains the keyword, it will be displayed to you
Suppose we want to find tasks that contains the keyword assignment, we can use find command:
find assignment
The expected output is shown below:
/ᐠ˵o o˵マ Here are the matching tasks in your list:
1. [D][X] Submit assignment (by: 14 Nov)
To end the conversation with SleepyVoid, you can use the following command:
bye
The chatbot will end the conversation, and you can use it again if you wish to add more tasks.
All the data is auto saved, thus when you restart the chat, all the previously listed tasks will still be inside. Any updates made to the list will be autosaved as well.
The saved data will be automatically loaded to the chat when the conversation starts, and can be checked by using the list command.
You can access to the saved data via the following path:
data/SleepyVoid.txt
The format of data would be:
Deadline | Completed ^* *^ | Submit assignment | 14 Nov
Event | Yet to do... | Lab | 2 ~ 5
Notice: It is discouraged for you to modify data directly inside the file SleepyVoid.txt.
If you have to change data in list.txt, please follow the same format.
If not, it will cause error when loading your data to SleepyVoid.
If you encounter any errors when loading the file, please delete all the data in the file SleepyVoid.txt, and added them again via the chatbot
- If any required details are missing or incorrectly formatted, the system will prompt an error, and show the steps you can take to use the correct command