bitsplitters/tasks

The task list panel

Every button under your list, what it does, and how the three-state task buttons work.

Once a list exists, TTM shows a check selector and two rows of buttons beneath it. This panel is the heart of the app. Almost nothing here needs a command — you just click.

The check selector

Above the buttons sits the check / uncheck selector. Use it to:

  1. Mark tasks done or open — the checkbox flips between and .
  2. Pick the task an active button will act on (more on that below).

Selecting a group toggles its subtasks in cascade; completing all subtasks marks the group automatically.

A task with an owner is checked by its owner. Only the owner — or the members of the owner role — and whoever has Manage messages on the channel can check or uncheck it. Anyone else gets a refusal only they can see, and the list stays as it was. The cascade counts too: a group can’t be checked or unchecked if that would change a subtask that belongs to someone else. A task without an owner can be checked by anyone who can use the list.

Keep the task buttons grey
To check or uncheck tasks, every button in the second row must be grey (off). If any task button is active (blue or red), clicking a task applies that action instead of toggling it.

Row 1 — acts on the whole list

These buttons never touch a single task; they operate on the entire list.

ButtonFunctionWhat it does
Clone listClone the list into another channel. Opens a channel picker and a small set of options (see below).
Bulk updateEdit the title and the full list in one form — the fastest way to change two or more tasks at once. While you edit, the list is temporarily locked.
Clean listRemove every completed task, after a confirmation, and recalculate the remaining positions.
Reopen allBring every completed task back to to-do and, if you want, move the reminders to a new date.
MoreOpen the panel with the actions you need less often: sealing, deleting and downloading the list, and the in-Discord guide.

Clean list

Clean list removes every completed task, subtasks included, and renumbers the ones that stay. A group that isn’t completed stays, even when some of its subtasks go.

It asks first: a confirmation window tells you how many completed tasks are about to leave, and that they go for good, together with their reminders and tags. Their text still shows in the timeline, if it’s on, and in the notification until it is replaced. Submit to confirm, close the window to cancel.

Reopen all

Reopen all brings every completed task back to to-do, on the same message: text, owners, tags and reminders stay as they are. If no task is completed, there is nothing to reopen and the bot says so.

Before acting, it asks you in a message only you can see:

Reopening calls no webhook, and it doesn’t look at owners: anyone who can edit the list can reopen it.

What’s inside More

The first row is full — Discord allows five buttons per row — so the actions you need less often live one click away, in a panel only you can see:

Sealing and deleting need Manage messages on the channel — the same permission that would let you delete the list’s message by hand. If you don’t have it, those two entries simply aren’t there. Download and Guide are there for everyone.

Sealing posts a notification and a line in the timeline only if your server has them on: with both off, nothing records who sealed the list. Delete list always leaves its receipt in the channel.

Why delete instead of removing the message?
Deleting the message hides the list but leaves its data behind — and its reminders keep arriving, pointing at a message that no longer exists. Delete list takes the reminders with it. If a message has already been deleted by hand, /config lists lets you clean up (or bring the list back).

Clone options

When you start Clone list, the first row is replaced by the cloning controls:

A clone gets new reminders, so they follow today’s rules: where recurring reminders aren’t allowed — on the Free plan, or with them switched off — clone a list that has a recurring reminder without its reminders.

Row 2 — acts on a single task

Each button in the second row is a three-state switch. Click it to cycle through the same colors Discord uses for its buttons:

The workflow is always the same: turn a button blue or red, then pick the task from the check selector. TTM applies the action to that task.

ButtonFunctionBlue (edit)Red (delete)
ContentChange the task text (opens a form).Delete the task.
OwnerSet or change the task owner: one person, one role, or several people (see Owner below).Remove the owner — and its reminder, which has no one left to reach.
TagSet the users/roles to notify — pick several at once (see Two ways to tag below).Remove every tag on the task.
ReminderAdd or edit a reminder (start date and time zone — plus interval and repetitions when recurring reminders are on: a Premium feature, switched on in Configuration).Remove the reminder.
WebhookAssociate a webhook, so completing/reopening the task fires an HTTP call.Remove the webhook association from the task.
Remember
You cannot delete the very last task in a list. To remove a list entirely, use Delete list in More — or Seal list, to keep it in the channel as a record.

Two ways to tag

How Tag behaves depends entirely on one setting — Behavior on selection in Configuration, the toggle that decides whether task buttons reset after each action or keep their active mode. Tag reads very differently in the two cases, so it’s worth knowing both. The short version: with the setting off, tagging always overwrites; with it on, you also unlock a second mode, live editing.

With “keep status” off — the default

The button resets after every action, and Tag has just one behaviour: it always overwrites. Turn Tag blue, choose up to 25 users/roles in the selector — say Anna and @Devs — then pick the task. The task is now tagged Anna + @Devs and nothing else: this replaces the whole set, it doesn’t add to it, so anyone previously tagged that you didn’t re-pick is removed.

You must pick people before the task. Choosing a task with an empty selector isn’t a shortcut here — it shows an error asking you to select at least one tag first.

With “keep status” on — two modes

Now the button stays active after each action, and what Tag does depends on one question: did you pick people before picking the task? People first means assign; task first, with the selector still empty, means live editing.

Assign — pick people, then the task. Exactly the overwrite behaviour above: choose the users/roles, pick the task, and its tags become precisely your selection. Because the button stays active, your picks also stay in the selector — so you can stamp the same set onto the next task, and the next, without re-choosing.

Live editing — pick the task, selector empty. Turn Tag blue and, without picking anyone, choose the task you want to re-tag. That’s not a mistake: its current tags load into the selector, already ticked, and you are now editing that task directly. Every time you close the menu the task updates instantly — untick someone and they vanish from the task, tick someone and they appear. There is no confirmation step and nothing overwrites: you’re adjusting the existing set, not replacing it. Untick everyone to remove all tags. Picking a different task simply moves the editing there; turn Tag off (grey) to finish — the next activation starts fresh.

In one line
Off: tagging always overwrites, and you must pick people first. On: pick people first to overwrite (assign), or pick the task first to edit its tags live.

Owner: a person, a role, or several people

The owner is who a task belongs to — who can check it, and who gets its reminder. Pick it in the owner menu:

People and roles can’t be mixed, and you can pick one role at most: a task has one owner.

The owner menu works like the Tag menu (see Two ways to tag above). With “keep status” off, pick the owner, then the task. With it on, you can also pick the task first, with the menu empty: its owner loads into the menu — for a role TTM created, the people it gave the role to — and every change you confirm applies to that task straight away. Emptying the menu removes the owner — and its reminder — like the red mode does.

The roles TTM creates

When you give a task to several people, TTM:

Rename it and it becomes one of your server’s roles, to use anywhere. A new colour or a new position doesn’t change that: TTM would still delete it when no list uses it any more — so to keep a role, rename it.

TTM never changes a role once it has created it. Picking different people — one more, one less — creates a new role; picking exactly the same people as the current owner changes nothing. With “keep status” on, the same selection applied to several tasks in a row reuses the role it created for the first one.

When a role stops being TTM’s. TTM remembers the roles it creates and the people it gave them to. A role stays TTM’s only while it still looks the way TTM left it: the same name, no permissions — neither on the server nor on a channel — and the same number of members. Rename it, give it a permission, use it to open a channel, or add or remove a member, and it becomes one of your server’s roles. TTM looks when a role would be deleted, and when the owner menu loads its people: a role that’s no longer TTM’s is never deleted, and the menu shows the role instead of the people. TTM can see how many members a role has, but not who they are — so if you swap one member for another, it can’t tell.

When TTM deletes a role. A role TTM created is deleted — from the server, too — when no list uses it any more, as owner or as tag, nor any command permission, and it still looks TTM’s. TTM checks every ten minutes, and never touches a role created less than ten minutes ago. The roles used by a sealed list are kept, because the sealed message still shows them, and when the bot is removed from a server, every role it created stays there.

What it needs. The bot needs the Manage Roles permission, which the invite link includes; on a server that added the bot before, an admin may have to grant it to the bot’s role, in Server Settings → Roles — not on a channel, where the same permission means something else. While the bot doesn’t have it, TTM neither creates nor deletes roles. A server can have at most 250 roles — a Discord limit: when it’s reached, TTM can’t create the role and says so.

Confirming a tag selection — desktop vs mobile

The Tag and Owner menus let you pick several at once, and multi-select menus like these don’t apply as you tick — they wait for you to confirm the whole selection. (Single-choice pickers, such as the check selector, apply the moment you pick, so this doesn’t concern them.) How you confirm a multi-pick differs by device, and it isn’t obvious the first time:

This matters most during live editing of tags or owner, where each time you close the menu the task updates on the spot — so on desktop, one click outside the menu is what saves each change.

Editing while others watch

When someone opens Bulk update, the list is locked and its editing functions — Bulk update, Clean list, Reopen all and the task buttons — are disabled for everyone else, with a note showing who is editing. If an edit is cancelled or gets stuck, anyone can force-unlock with the unlock button.

If the list is locked or sealed while your Clean confirmation or your Reopen question is still open, confirming only tells you that this list can’t be changed right now, and nothing changes.

Write richer tasks
In Bulk update and single-task edits you can add channel links, mentions and hyperlinks by hand. Learn the exact syntax in Personalize your lists.

When a bulk update can’t be saved

The list title can be up to 256 characters. If what you wrote can’t be read as a list, the bot shows it back with the wrong lines marked by an arrow. Otherwise, when the list can’t be saved, one message lists every problem at once, one per paragraph: a list too long, more tasks than a list can hold or your plan allows, and every reminder over the limits — recurring where recurring reminders aren’t allowed, repetitions over your plan, too many reminders waiting at the same time. Fix them all and submit again.

A reminder that could never fire is discarded instead: one on a task without an owner, or one whose alerts are all in the past. It is removed from the task text, the list is saved, and a message only you can see names each task and the reason. Remember that the owner is a mention followed by a colon (<@id>:): without the colon, the mention is a tag.

Where to go next