"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 SAVEPATHdenote 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
listprintl
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.
resetr
reset
Exits the program and ends the bot.
byeexit: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.
filtersearch/(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
resetto 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
deleted
- 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
markm
- 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
unmarkum
- 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
deadlinedl
- 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
evente
- 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
todot
- 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);
}
