> ## Documentation Index
> Fetch the complete documentation index at: https://docs.misery.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Syntax

> The formats misery expects when you pass it a duration, channel, or flag.

## Reading command syntax

Every command's help (`,help (command)`) shows its syntax like this:

| Notation | Meaning |
| - | - |
| `(member)` | Required — replace it, brackets and all |
| `[event]` | Optional |
| `$flag` | A flag you can add at the end |

## Durations

A number followed by a unit, no spaces:

| Unit | Meaning |
| - | - |
| `s` | Seconds |
| `m` | Minutes |
| `h` | Hours |
| `d` | Days |
| `w` | Weeks |

Units can be chained — `2d3h` is two days and three hours.

```javascript Correct theme={null}
,tempban @financely 7d spamming
,tempban @financely 1w2d spamming
```

```javascript Incorrect theme={null}
,tempban @financely 7 days spamming
,tempban @financely "1 week" spamming
```

> [!NOTE]
>
> Each command has its own limits — jails top out at 5 days, auto messages at 30 — and tells you if a duration is out of range.

## Positions in a track

A few music commands take a position rather than a length of time. These accept `m:ss`.

```javascript theme={null}
,seek 1:30
,rewind 0:30
```

## Targeting things

**Channels**

Mentions, IDs, and names all work:

```javascript theme={null}
,log add #logs messages
,log add 123456789012345678 messages
,log add logs messages
```

Name matching is partial, so `,log add log messages` finds `#logs` too. When several channels match, misery takes the first.

**Roles**

Same three forms:

```javascript theme={null}
,fakepermissions add @Moderator ban_members
,fakepermissions add 123456789012345678 ban_members
,fakepermissions add Moderator ban_members
```

Exact name matches win over partial ones.

**Members**

Mentions, IDs, usernames, and nicknames:

```javascript theme={null}
,ban @financely
,ban 123456789012345678
,ban financely
```

**Messages**

Message links work anywhere. A bare message ID only works if you're in the same channel as the message.

```javascript theme={null}
,reactionrole removeall https://fluxer.app/channels/...
,reactionrole removeall 123456789012345678
```

To get a link, open the message's menu and copy its link.

## Yes or no

Toggles take `yes` or `no` — or `on` and `off` where the command's help says so.

```javascript theme={null}
,counting sameuser no
,starboard selfstar no
,antinuke ban on
```

## Colors

Hex codes work with or without the `#`:

```javascript theme={null}
,starboard color #5865F2
,starboard color 5865F2
```

Color names work too, though the available names differ slightly between commands. `red`, `green`, `blue`, `yellow`, `orange`, `purple`, `white`, and `black` are safe in most of them.

> [!TIP]
>
> If a color name is rejected, use the hex code instead — every command that takes a color accepts one.

## Flags

Flags go after the main arguments and start with `$`:

```javascript theme={null}
,antiraid massjoin on $threshold 10 $do kick
,welcome add #general hey {user.mention} $delete 30
,reactionrole add (message) ✅ @Member $persistent
```

### Punishments

Each feature takes its own set of punishments:

| Feature | Flag | Punishments |
| - | - | - |
| [Antinuke](/security/antinuke) | `$punishment` | `ban`, `kick`, `stripstaff` |
| [Antiraid](/security/antiraid) | `$do` | `ban`, `kick` |
| [Filter](/security/filter) | `$do` | `delete`, `warn`, `jail`, `kick`, `ban` |
| [Honeypot](/security/honeypot) | — | `ban`, `kick`, `jail` |

> [!NOTE]
>
> `jail` needs your moderation system set up — run `,setup` first.

## Multiple values

Where a command takes several roles at once, separate them with commas:

```javascript theme={null}
,giveaways edit requiredroles (message link) @Member, @Supporter
,fakepermissions add @Mod ban_members, kick_members
```

Spaces work as separators for permissions too.

## Emojis

Standard Unicode emojis and custom server emojis both work. Custom emojis have to be from a server misery is in.

```javascript theme={null}
,starboard emoji ⭐
,starboard emoji <:star:123456789012345678>
```

## Images

Attach the image to your command message, or link one hosted on Fluxer — links start with `https://fluxerusercontent.com/`. Links from elsewhere are rejected.

> [!TIP]
>
> Upload the image to any Fluxer channel, then copy its link. That produces a URL misery accepts.

## Multi-word arguments

Anything at the end of a command absorbs the rest of the message, so quotes aren't needed:

```javascript theme={null}
,ban @financely posting scam links in general
```

Arguments in the middle can't contain spaces unless the command specifically supports it — that's why role and channel names are usually easier to pass as mentions.

## Editing a command

Made a typo? Edit your message within 15 minutes and misery runs the command again, replacing its old response.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.