"Software is like s-x: it's better when it's free." - Linus Torvalds (Source, yes he actually said that.)
YappingBot FREES your mind of having to remember things you need to do.
**Quick Links**
- [Features implemented](#features-implemented) - [Usage](#usage) - [Runing the bot](#running-the-bot) - [Commands](#commands-in-the-bot) - [Alias](#alias) - [List](#list) - [Reset](#reset) - [Exit](#exit) - [Filter](#filter) - [Delete](#delete) - [Mark](#mark) - [Unmark](#unmark) - [Adding Deadline Task](#deadline) - [Adding Event Task](#event) - [Adding To-do Task](#todo) - [Tinkering](#tinkering)- Text-based
- Questionable learning curve
- SUPER FAST to
crashuse (I'm kidding, it's Java. You only get that* in C) (* - in both speed and stability aspects)
All you need to do is:
- Download it from here (DID YOU CHECK THE SITE LINK?).
- Double click it (honestly doesn't work for me. You're better off running
java -jar yappingbot.java
). - ???
- Add your tasks!
Supported flags include:
--savefile <FILEPATH> define an alternate savefile path
-s <FILEPATH> same as --savefile
-c Run CLI mode (fallback)
Did I mention it's FREE? (Free of Charge, Free of Dom)
- View all added tasks
- Manages to-do tasks
- Manages deadline tasks
- Manages event tasks
- Task list persistence (automatic save to and retrieve from disk)
- Does your taxes
- Search and filter tasks (iteratively too!)
- GUI
- CLI mode fallback (pass
-c
) - Change savefile path (pass
-s <filepath>
) - Add custom aliases
- Add CSS to make things pretty
- Add more personality
- Persistant settings (ie for aliases)
- Autosave
- Flexible date formatting
- More coming soon...
The following commands are availabe:
If you are running the bot as such:
java -jar yappingbot.jar
You can add the following:
-c
: Use command line interface instead of GUI-s SAVEPATH
denote a custom savefile path
Commands are typed as such:
VERB first-argument /FLAG value /FLAG value
Where verb
refers to the command and flag
refers to any possible flags. The order of the
flags are not fixed, as long as the first argument proceeds the verb, and all non-optional
arguments are provided. Each command has several aliases, and more can be added with the
alias
command.
Example:
event I will be off /from 2023-12-25 /to 2024-1-1
Results in a Event task, titled "I will be off", with the start date as "25th December 2023" and end date as "1st January 2024".
Adds a new alias for a command.
alias
- Required
- No spaces allowed
- The existing command
- Required
- No spaces allowed
- The new alias that will run command
Lists all the tasks in the current filter
list
print
l
list
If you have a filter, list will show the tasks matching the filter. Use reset
to remove
the filter and view the entire list. A filtered list will have the filter listed before the tasks.
Resets the current view to show all tasks without filter.
reset
r
reset
Exits the program and ends the bot.
bye
exit
:q
bye
- On the GUI, the input will be disabled. The window can be closed after this.
- The bot saves the tasks to a savefile that is usually where the application was executed. This can be used when launching the bot next time. See Launching.
Filters the task to show all tasks matching the given search. Searched fields include the dates and task titles.
filter
search
/
(space is required before search argument)find
- Required
- The text to be searched
find 2024
- Any commands run after this will be based on this new view
- Use
reset
to remove the filter and view the entire list. - To search for multiple matching criteria, repeat the command with new search terms:
find Chores
f 2024
This will result in a filtered list 'Chores' AND '2024'
Deletes a task in the current view
delete
d
- Required
- The index number of the task to be deleted
delete 1
If you have a filter, the index will be based on that filter. Use list
to see the
currently filtered tasks, and reset
to remove the filter and view the entire list.
Marks a task in the current view as done
mark
m
- Required
- The index number of the task to be marked
m 1
If you have a filter, the index will be based on that filter. Use list
to see the
currently filtered tasks, and reset
to remove the filter and view the entire list
Unmarks a task in the current view as done
unmark
um
- Required
- The index number of the task to be unmakred
m 1
If you have a filter, the index will be based on that filter. Use list
to see the
currently filtered tasks, and reset
to remove the filter and view the entire list
Adds a 'Deadline' task
deadline
dl
- Required
- The task name
- Required
- Date (in
YYYY-MM-DD
) of task's deadline
dl I need to do this! /by 2024-09-20
Adds a 'Event' task
event
e
- Required
- The task name
- Required
- Date (in
YYYY-MM-DD
) of event's start date
- Required
- Date (in
YYYY-MM-DD
) of event's end date
event I will be off /from 2023-12-25 /to 2024-1-1
Adds a 'TO-DO' task
todo
t
- Required
- The task name
todo This is a todo task!
If you're bored and want to stress yourself, look no further!
Clone this, and feel free to run it like this:
CLI Mode:
public static void main(String[] args) {
// Feel free to change this!
// The original main method checks if an argument is passed and uses it instead.
String savefile = "./savefile";
YappingBot yp = new YappingBot(savefile);
yp.start();
}
GUI Mode: (requires javafx)
public static void main(String[] args) {
// MainGuiApplication currently looks in
// Launcher to retrieve the savefilePath
//
// To be updated in further commits
Launcher.savefilePath = "./savefile";
MainGuiApplication.launch(MainGuiApplication.class, args);
}