# To-dos command reference

Create, assign and complete Discord tasks, and organize personal or channel todo lists.

HTML reference: https://www.productivity-bot.com/docs/todos/

A question mark after an option means it is optional.

## /todo add

Create a new todo with optional metadata.

```text
/todo add todo description? due? list? status? assignee? notify_assignee? reminder? visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `description` (Optional): Optional extra details that explain the item more clearly than the short title alone.
- `due` (Optional): An optional due date or time for the todo.
- `list` (Optional): The todo list where the task belongs, or the list you want to inspect, edit, clear, or delete.
- `status` (Optional): Filters by status or sets the current state of an item, depending on the command. For example: active, paused, completed, pending, or skipped.
- `assignee` (Optional): The Discord member responsible for a todo. Use this when assigning shared server tasks to a specific person.
- `notify_assignee` (Optional): Controls whether the assigned user should be notified when the todo is created or assigned.
- `reminder` (Optional): The reminder text or the existing reminder you want to view, edit, pause, resume, or remove.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo show

Inspect a specific todo.

```text
/todo show todo visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo edit

Edit an existing todo.

```text
/todo edit todo visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo status

Change the status of a todo.

```text
/todo status todo status visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `status` (Required): Filters by status or sets the current state of an item, depending on the command. For example: active, paused, completed, pending, or skipped.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo assign

Assign a todo to a Discord member.

```text
/todo assign todo assignee visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `assignee` (Required): The Discord member responsible for a todo. Use this when assigning shared server tasks to a specific person.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo complete

Mark a todo as completed.

```text
/todo complete todo visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo delete

Delete a todo.

```text
/todo delete todo visibility?
```

### Options

- `todo` (Required): The todo item to create, inspect, edit, complete, assign, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list show

Show todos from a specific list.

```text
/todo list show sort? status? list? assignee? visibility?
```

### Options

- `sort` (Optional): Changes the order of the returned items, such as newest first, oldest first, due date, status, or other supported sorting modes.
- `status` (Optional): Filters by status or sets the current state of an item, depending on the command. For example: active, paused, completed, pending, or skipped.
- `list` (Optional): The todo list where the task belongs, or the list you want to inspect, edit, clear, or delete.
- `assignee` (Optional): The Discord member responsible for a todo. Use this when assigning shared server tasks to a specific person.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list browse

Browse available todo lists.

```text
/todo list browse scope? visibility?
```

### Options

- `scope` (Optional): Selects which personal or channel items or lists the command works with. This is separate from who can see the bot's response.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list create

Create a new todo list.

```text
/todo list create name scope? visibility?
```

### Options

- `name` (Required): The name of the list, project, tag, or other resource being created or updated.
- `scope` (Optional): Selects which personal or channel items or lists the command works with. This is separate from who can see the bot's response.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list edit

Rename or update a todo list.

```text
/todo list edit list name visibility?
```

### Options

- `list` (Required): The todo list where the task belongs, or the list you want to inspect, edit, clear, or delete.
- `name` (Required): The name of the list, project, tag, or other resource being created or updated.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list clear

Clear todos from a list.

```text
/todo list clear list? visibility?
```

### Options

- `list` (Optional): The todo list where the task belongs, or the list you want to inspect, edit, clear, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /todo list delete

Delete a todo list.

```text
/todo list delete list visibility?
```

### Options

- `list` (Required): The todo list where the task belongs, or the list you want to inspect, edit, clear, or delete.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.
