Skip to main content
Lots of commands take a duration (tempban, timeout, temprole) or a point in time (reminder, lockdown until, schedule). Both are flexible about how you write them.

Durations

A duration is a number followed by a unit. Units can be combined, and spaces are optional.
Combining works in any sensible order, largest first:
m is minutes, mo is months. !tempban @someone 3m is a three-minute ban, not a three-month one. This is the single most common mistake with duration arguments.
Clock notation also works where a duration is expected:

Limits

Discord and the bot both impose caps:

Points in time

Commands that take a when rather than a how long accept natural language:
Things that parse:
Put the time first and the message after — !reminder 2h check the oven. If the parser eats part of your message, quote the time: !reminder "tomorrow at 5pm" call mama.

Timezones

Times are interpreted in your timezone once you’ve set one:
Accepts IANA names (Europe/London), city names (Tokyo) and common abbreviations (EST, PST, GMT). Without one, times are UTC. Check yours with !timezone, or someone else’s with !timezone @someone. This affects reminders, scheduled messages, lockdown until, birthdays and anything else time-based.

Dates

Birthday and date arguments are lenient:
Ambiguous numeric dates like 3/4 are a coin flip between March 4th and April 3rd. Write the month name to be sure.

How durations are displayed

Output is written the way a person would say it — 2 hours, 3 days, 4 hours, 1 month. In scripts, a duration variable renders the same way, and date variables render as Unix timestamps you can drop into Discord’s timestamp markdown:
See timestamps.