User Guide
.##+- -####
## .#### ### .##
## ## ################### ### ##
## ##### ##### ##
## ## # ##
### ###
### -##### +##### ###
### -######### #########+ ###
## #### ### #### #### ###
### ######### ######### ###
### ##### ###### ###- ##
#### ####
#### #####
## ##
TrashpanBot is an interactive task list manager. It is able to store tasks of various types and has many functions to aid in managing tasks. It can also save your tasks automatically and reload them.
It is optimised for a Command-Line Interface (CLI).
This bot is based on the personality of Raki Kazuki, a Virtual YouTuber formerly from PixelLink.
Quick Start
This section will guide you through first-time installation of TrashpanBot.
1. Check the Java version on your device
This bot runs on the Java 17 JDK.
To check if you have Java installed on your device, open a Terminal window
and run the command: java -version
The output should appear like this:
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Ensure the Java version listed begins with "17".
You may skip step 2 if you have Java 17 installed.
2. Install Java 17
If you get an error or see a different version in the previous step, Java 17 may not be installed.
You may download Java from here.
Installation Instructions:
- For Windows Users
Any Windows installer will work, but the Windows x64 Installer is recommended for ease of use.
- For Mac Users
The DMG installer is recommended. However, please note down the CPU of your Mac.
Use the macOS x64 DMG Installer if your Mac has an Intel CPU, or the macOS Arm 64 DMG Installer if your Mac has an Apple M-series CPU.
- For Linux Users
Check instructions for your distribution as installation may differ between distros.
Generally, use the Debian Package for Debian-based distros (Ubuntu, Linux Mint) and the RPM Package for Red Hat-based distros (Fedora, CentOS).
3. Download the latest .jar file of TrashpanBot
Download the latest .jar file release of TrashpanBot here.
4. Place the .jar file in a desired home folder
Move or copy the file to any desired folder on your computer.
The folder it will be in will serve as the working home folder for TrashpanBot.
5. Run the application from the terminal
Right-click an empty space in the home folder and select Open in Terminal.
Alternatively, you may open a Terminal window and cd
into the home folder.
Run the command java -jar TrashpanBot.jar
to start the application in the terminal.
You should get this in the output:
__________________________________________________
This bot is based on the personality of Raki Kazuki from PixelLink.
.##+- -####
## .#### ### .##
## ## ################### ### ##
## ##### ##### ##
## ## # ##
### ###
### -##### +##### ###
### -######### #########+ ###
## #### ### #### #### ###
### ######### ######### ###
### ##### ###### ###- ##
#### ####
#### #####
## ##
Raah! I'm TrashpanBot!
__________________________________________________
When the bot runs for the first time, it will create a data
folder/directory in the
home folder. This folder contains the save data for TrashpanBot.
Do not modify or delete this folder to prevent loss of save data.
Features
Notes about the command format
The command format for examples below will be displayed in a format that resembles this:
deadline <description> /by <due>
Any component in angle brackets <>
denote parameters. They must be defined when you run the command.
For example, in the command todo <description>
, <description>
is a parameter.
It may be used as todo Read Book
.
Unless otherwise specified, parameters are accepted simply as strings or plain text with no specific format.
Components with a forward slash /
separate different parts of some commands.
They must be included as-is when running the command.
For commands that do not take in parameters, such as list
, any extraneous parameters added to
the command will be ignored.
Notes about Task Types and Format
TrashpanBot can store three types of tasks: todo
, deadline
and event
.
Todo Task
A todo
is a task that only contains a description. It does not have any date attached to it.
It is represented in the task list like this:
1.[T][ ] Example
Deadline Task
A deadline
is a task that contains a description and a due date.
It is represented in the task list like this:
1.[D][ ] Example (by: 12 June 2025 13:00)
Event Task
An event
is a task that contains a description and two dates, a start and an end date.
It is represented in the task list like this:
1.[E][ ] Example (from: 12 June 2025 13:00 to: 14 June 2025 15:00)
Marked Tasks
Tasks that are marked as done will have an additional X
shown in the box next to the type icon:
1.[T][X] Example
Adding Tasks: todo
, deadline
& event
Todo Task
This command adds a todo
task to the list.
Format: todo <description>
Parameters:
<description>
: Refers to the description of the todo task.
Example Usage:
todo Play Muse Dash
Okay! I added this to the list:
1.[T][ ] Play Muse Dash
You have 1 task now!
Deadline Task
This command adds a deadline
task to the list.
Format: deadline <description> /by <due>
Parameters:
<description>
: The description of the deadline task.
<due>
: Refers to the due date of the deadline task.
<due>
must be in the formatyyyy-mm-dd HH:MM
yyyy
is the year,mm
is the month,dd
is the day,HH:MM
is the time in the 24-hour format.
Example Usage:
deadline Finish Cover Song /by 2025-09-12 18:30
Okay! I added this to the list:
1.[D][ ] Finish Cover Song (by: 12 Sep 2025 18:30)
You have 1 task now!
Event Task
This command adds an event
task to the list.
Format: event <description> /from <start> /to <end>
Parameters:
<description>
: The description of the event task.
<start>
: Refers to the start date of the event task.
<end>
: Refers to the end date of the event task.
- Both
<start>
and<end>
must be in the formatyyyy-mm-dd HH:MM
yyyy
is the year,mm
is the month,dd
is the day,HH:MM
is the time in the 24-hour format.
Example Usage:
deadline Raki Birthday!! /from 2025-10-24 12:00 /to 2025-10-24 18:00
Okay! I added this to the list:
1.[E][ ] Raki Birthday!! (from: 24 Oct 2025 12:00 to: 24 Oct 2025 18:00)
You have 1 task now!
Listing Tasks: list
This command lists all the tasks that are in the list.
Times are listed in the selected time format (24 or 12 Hour). Refer to Setting the Time Format below for more information.
Format: list
Example Usage:
list
Okay, here's your list:
1.[T][ ] Play Muse Dash
2.[D][ ] Finish Cover Song (by: 12 Sep 2025 18:30)
3.[E][ ] Raki Birthday!! (from: 24 Oct 2025 12:00 to: 24 Oct 2025 18:00)
If the task list is empty, this message will be shown:
Your list is empty! Try adding a task!
Finding Tasks: find
This command will search for tasks in the list and list them to you.
Format: find <keyword>
Parameters:
<keyword>
: The keyword to be searched.
Example Usage:
find book
For a full task list like this:
1.[T][ ] Read book
2.[T][ ] Play Muse Dash
3.[D][ ] Return book (by: 31 Aug 2025 14:00)
This will search for the tasks containing the word book
and list them:
Look, here's what I found:
1.[T][ ] Read book
3.[D][ ] Return book (by: 31 Aug 2025 14:00)
Note that the index of the tasks listed in this list match that in the full list.
This allows for easy use of the mark
, unmark
and remove
commands (more information below).
If there are no tasks containing the given keyword, this message will be shown:
I couldn't find any tasks with that keyword! I hope I didn't lose them...
Marking Tasks: mark
& unmark
Marking as Done
This command marks a task as done.
Format: mark <number>
Parameters:
<number>
: Refers to the index number shown in the displayed list.
<number>
must be a whole number, i.e.1
,2
,3
, ...
Example Usage:
mark 1
This marks the first task in the full list as done.
Yay! I've marked this task as done:
1.[T][X] Play Muse Dash
Marking as Not Done
This command marks a task as not done.
Format: unmark <number>
Parameters:
<number>
: Refers to the index number shown in the displayed list.
<number>
must be a whole number, i.e.1
,2
,3
, ...
Example Usage:
unmark 1
This marks the first task in the full list as not done.
Ganbaraki! I've marked this task as not done:
1.[T][ ] Play Muse Dash
Removing Tasks: remove
This command removes a specified task from the list.
Format: remove <number>
Parameters:
<number>
: Refers to the index number shown in the displayed list.
- It must be a positive whole number, i.e.
1
,2
,3
, ...
Example Usage:
remove 1
This removes the first task in the full list.
Okay! I threw this task into the bin:
1.[T][ ] Play Muse Dash
You have 2 tasks now!
Setting the Time Format: 24hour
This command sets the format for times displayed in the program.
Format: 24hour <true/false>
Parameters:
<true/false>
: True if you want to set the time format to 24 Hour,
false if you want to set it to 12 Hour.
The default time format when you first start the program is 24 Hour.
Note
The time input format for the deadline and event commands remain in 24 Hour.
Listing Commands: help
This command lists all the commands you can run.
Format: help
Exiting the Program: bye
This command exits the program.
Format: bye
Saving the Task List
TrashpanBot automatically saves the task list every time it is changed.
When the bot starts, it will automatically load data from the save file.
Creating a New Save File
If there is no save file (i.e. when the bot starts for the first time), this message is shown at startup:
Uh...I couldn't find a save file...
No worries, I'll create one for you!
TrashpanBot will automatically create the data folder and the save file.
Loading an Existing Save File
If there is a save file, it will begin loading it and will show this message:
Look, I found a save file!
Loading it for you...
If the load is successful, it will immediately start the program.
Editing the Save File
TrashpanBot stores its save file in plaintext using a .txt file
in [JAR file location]/data/TaskList.txt
.
Advanced users may edit the save file directly.
Caution
If your edits to the save file makes its format invalid, TrashpanBot will discard
all data and start from a fresh save file.
If this occurs, this message will be shown after loading the save:
Eh? Something's wrong with the save file, it's all gibberish!
Here, I'll create a new one for you.
It is recommended to back up the save file before editing it.
Command Summary
Action | Format & Examples |
---|---|
Add Todo Task | todo <description> e.g. todo Play Muse Dash |
Add Deadline Task | deadline <description> /by <due> e.g. deadline Finish Cover Song /by 2025-09-12 18:30 |
Add Event Task | event <description> /from <start> /to <end> e.g. event Raki Birthday!! /from 2025-10-24 12:00 /to 2025-10-24 18:00 |
List Tasks | list |
Find Tasks | find <keyword> e.g. find book |
Mark Task as Done | mark <number> e.g. mark 1 |
Mark Task as Not Done | unmark <number> e.g. unmark 1 |
Remove Task | remove <number> e.g. remove 1 |
List Commands | help |
Exit Program | bye |