Task Management Commands
Our tasklist system helps you track and share your current task (!now),
plan your future tasks (!plan),
and review your completed task history along with how long each task took (!history).
All commands below are available in both Discord and Twitch, unless marked otherwise.
If you want to have the same tasklist between Discord and Twitch,
you need to run /profiles link twitch so that the bot knows who you are.
If multiple Discord accounts are linked to the same Twitch account,
all their tasklists will be shared as well.
Note: All commands use the ! prefix (e.g., !now).
⚙️ Track and share what you are working on (Single Task Usage)
These commands are for managing the single task you are actively working on.
The flow is simple. Use !now task to show you are working on task,
and then write !done to mark it complete and see how long you worked on it.
If you want to mark your task complete and start another task, you can do
!next anther task instead.
If you discover you have made a typo, you can edit with !edit another task,
and at any time you can get rid of it entirely with !clear.
| Command | Description | Example |
|---|---|---|
!now [new task] |
Set or check your current task | !now Write documentation |
!notnow |
Pause your task (resume it with !next) |
!notnow |
!next [another task] |
Complete your current task and start another task |
!next Take a break |
!edit <new task> |
Edit the text of your current task to new task |
!edit Make coffee |
!done |
Complete your current task without starting a new one. | !done |
!clear |
Unset your current task. | !clear |
📝 Making and managing a plan
Sometimes, setting a single task isn't enough!
Maybe you want to remind yourself about something you need to do later (!plan task),
or you want to schedule your next few tasks for a seamless flow (!now task1; task2; task3 and then !next).
Or sometimes half way through one task, you need to start another one,
but you don't want to lose the first task or the time tracked on it (!sidequest).
Now presenting to you, your !plan!
In the below table, taskspec stands for a specification of one or more tasks in any of the following forms:
- A single task, e.g.
Writing documentation - A single task number, e.g.
6 - A range of task numbers, e.g.
6-10 - Any combination of the above separated with semicolons, e.g.
6; Writing Documents; 8-10; Take a break
Note: Commas , can also be used to separate tasks, but semicolons are preferred.
In particular, this, that; the other represents two tasks, this, that and the other.
However, this, that alone represents the tasks this and that.
We generally recommend avoiding using commas in your tasks, but if you need to
you can take advantage of this behaviour by using trailing semicolons, for example,
!now this, that; will set your current task to just this, that.
Another Note: This feature is under active development, so there may be some mild instability or deviations from what is written here until I can get the documentation updated, sorry about that! If there are any features you would like to see added or changed, or anything you find confusing, please let me know so everyone can benefit from improvements! Candid feedback is always welcome.
| Command | Description | Example |
|---|---|---|
!now <taskspec> |
Set your current task(s). If multiple are given, all tasks are added to the start of your plan. | !now Read; Write |
!next |
Complete your current task and start the first (incomplete) task on your plan. | !next |
!next <taskspec> |
Complete your current task, and start the first task in taskpec. If multiple tasks are given, add all tasks to the start of your plan. |
!next Do exercises; Check exercises |
!sidequest <other task> |
Pause your current task (put it on the start of the plan) and start other task |
!sidequest Choose music |
!done <taskpec> |
Mark all tasks in taskspec as complete. You can create new tasks here and mark them as done. |
!done 10-20; Wash the plates |
!plan |
Show the incomplete tasks remaining on your plan. | !plan |
!plan <taskspec> |
Add all provided tasks to the end of your plan. | !plan Do 10 pushups; Drink water |
!unplan |
Remove all your tasks from your plan (does not delete them) | !unplan |
!unplan <taskspec> |
Remove the specified tasks from your plan | !unplan 1-5, 8, 9 |
!clear all |
Delete all the tasks on your tasklist. | !clear all |
!clear done |
Delete all the completed tasks on your tasklist (this will change your task numbers!) | !clear done |
!clear <taskspec> |
Delete the tasks in taskspec |
!clear 1, 3, 10-20 |
📜 Statistics and History
It's satisfying to tick tasks off the tasklist! It's even more satisfying to see how much we have done! And for those of us who like data or don't use an external time tracker, it's useful to see how long each task took to revise our future estimates!
| Command | Description | Example |
|---|---|---|
!history |
(Only on Discord) Show a paged list of tasks completed on each day. | !history |
Command Reference
!now [taskspec]
The 'main' task of the task system, this sets or checks your current task(s).
- Aliases:
!task,!check - With no arguments, this shows you your current task and how long you've been working on it.
- If
taskspecdescribes a single task, sets this as your current task without modifying your plan. - If
taskspecdescribes multiple tasks, sets the first one as your current task, and adds all the tasks to the start of your plan. If the tasks were already in your plan, they get pulled to the front.
Examples
!now Writing my thesis proposal- Sets your current task.
!now- Replies:
You have been working on 'Writing my thesis proposal' for 15 minutes
- Replies:
!now Prepare lecture notes; Grade assignments- Sets "Prepare lecture notes" as your current task and adds "Prepare lecture notes" and "Grade assignments" to the start of your plan.
!notnow
Pauses your current task and moves it to the start of your plan. This is useful if you get interrupted and want to resume later.
Resume the task by writing !next which will resume that task.
- Aliases:
!pause
Example
!notnow- Replies:
Unset your task '#12: Writing my thesis proposal' and pushed it onto your plan! Use !next when you want to resume it.
- Replies:
!next [taskspec]
Completes your current task and starts your next one.
- With no arguments, this will start the first incomplete task on your
!plan. - If
taskspecdescribes a single task, sets this as your current task without modifying your plan. - If
taskspecdescribes multiple tasks, sets the first one as your current tasks, and adds all the tasks to the start of your plan.
Examples
!next- Replies:
Good work finishing 'Writing my thesis proposal', you worked on it for 1 hour 2 minutes. Started your next task 'Grade assignments', good luck!
- Replies:
!next Take a break- Completes your current task and starts "Take a break".
!next Make coffee; Drink Coffee- Completes your current task, starts
Make Coffee, and addsMake CoffeeandDrink Coffeeto the start of your plan.
- Completes your current task, starts
!done [taskspec]
Marks one or more tasks as complete without starting a new one.
- With no arguments, completes your current task and show you how long you worked on it.
- If
taskspecis given, this will complete all the (incomplete) tasks intaskspec.- Tasks may be created and immediately completed, for the sweet satisfaction of ticking off something you have done.
Examples
!done- Marks your current task as finished.
!done 15- Completes the task number 15.
!done 15-20, Responded to emails- Completes the tasks
15, 16, 17, 18, 19, 20, and creates and immediately completes the task "Responded to emails".
- Completes the tasks
!edit <new content>
Edits the description of your current task.
NOTE: Soon to be !edit [n] <new content> for editing a task that is not your current one.
Example
!edit Studying triangulated categories- Replies:
Updated your current task!
- Replies:
!sidequest <taskspec>
Put your current task on the head of the plan, and start a new task.
This has the effect of pausing your current task to work on the provided new task, and is particularly useful for 'temporary' tasks that interrupt the main task.
When you finish the sidequest task with !next, you'll resume your main task.
- Aliases:
!switch - If
taskspecrepresents multiple tasks, they will all be put on the plan as usual, and your previous current task will be pushed down into the plan.
Example
- You are working on "Writing my thesis proposal".
!sidequest Make a cup of tea- Replies:
Started your sidequest 'Make a cup of tea', good luck! When you are done use '!next' to resume your main quest '#12: Writing my thesis proposal'.
- Replies:
!plan [taskspec]
View your remaining planned tasks, or add tasks to the end of your plan.
- Aliases:
!later - Without arguments, shows you a list of all your incomplete planned tasks.
- If
taskspecis given, adds all the specified tasks to the end of your plan, in the same order they are given.
Examples
!plan- Replies:
You have 2 tasks on the plan, good luck: #14: Grade assignments ┆ #15: Buy groceries
- Replies:
!plan Go to the gym; 15- Adds "Go to the gym" to the end of your plan, and moves
15to the end after that. The result will be: #14: Grade assignments ┆ #16: Go to the gym ┆ #15: Buy groceries
- Adds "Go to the gym" to the end of your plan, and moves
!clear [target]
Deletes tasks from your list. Once deleted, tasks cannot be recovered!
- Aliases:
!remove,!delete,!del
The target can be one of the following:
- (nothing) or
current: Deletes your current task. plan: Removes all tasks from your plan (does not delete them).done: Deletes all completed tasks from your tasklist (this will change your task numbers!).all: Deletes all of your tasks, including current, planned, and completed.taskspec: Deletes the specified tasks. You can't create new tasks here.
!history
Displays a detailed history of your completed tasks, grouped by day.
- Aliases:
!hist,!taskhist - Platform: Discord only.
- For the days and task times to be correct, you will need to set your timezone with the Discord command
/my timezone, and choose from the list. - Note: If you have completed too many tasks in a day, there is a known issue that
!histwill fail to show that day. This will be addressed soon.
This command generates paginated tables showing which tasks you completed on each day, including start/end times and total duration.