Skip to main content
RaidBot uses the powerful chrono-node library to parse natural language date and time inputs. This means you can schedule raids using everyday language instead of rigid formats.

How It Works

When you enter a date/time for a raid, RaidBot:
  1. Receives your input (e.g., “tomorrow 7pm”)
  2. Uses chrono-node to parse it into a specific timestamp
  3. Applies your server’s configured timezone
  4. Converts to Unix timestamp for Discord
  5. Displays using Discord’s timestamp formatting
Discord timestamps automatically show in each user’s local timezone, so everyone sees the raid time correctly for their location!

Supported Formats

Natural Language

The most flexible and user-friendly option:
tomorrow 7pm
tomorrow at 8:30pm
next friday 6pm
saturday at 3pm
in 2 hours
in 30 minutes
Chrono understands “tomorrow”, “next [day]”, “this [day]”, and relative offsets like “in X hours”.

ISO 8601 Format

For precision and automation, use ISO 8601:
2026-03-15T19:00:00
2026-03-15 19:00:00
2026-03-15T19:00:00-05:00  (with timezone offset)
ISO 8601 is perfect for:
  • Scheduling tools and scripts
  • Avoiding timezone ambiguity
  • International servers

Unix Timestamps

Direct Unix timestamps (seconds since epoch) are supported:
1741392000
1741395600
Get Unix timestamps from:
Unix timestamps are timezone-agnostic and always precise. Perfect for automated raid scheduling!

Timezone Handling

RaidBot uses a hierarchy to determine which timezone to use:
1

Explicit timezone in input

If you include a timezone in your input, it takes priority:
tomorrow 7pm EST  ← Uses EST
2

Server default timezone

If no timezone is specified, RaidBot uses your server’s configured default:
/settings timezone:America/New_York
Then all inputs like “tomorrow 7pm” use New York time.
3

UTC fallback

If no server timezone is configured and no timezone is in the input, UTC is used.

Setting Server Timezone

Configure your server’s default timezone:
/settings timezone:America/New_York
/settings timezone:America/Chicago
/settings timezone:Europe/London
/settings timezone:America/Los_Angeles
Use IANA timezone identifiers (e.g., America/New_York, not EST).
Using IANA identifiers instead of abbreviations ensures correct daylight saving time handling.

Common Timezone Identifiers

RegionIANA Identifier
US EasternAmerica/New_York
US CentralAmerica/Chicago
US MountainAmerica/Denver
US PacificAmerica/Los_Angeles
UKEurope/London
Central EuropeEurope/Paris
Australia EastAustralia/Sydney
JapanAsia/Tokyo
Full list: IANA Time Zones

Forward Date Preference

Chrono uses forward date parsing by default:
  • If you say “friday” and today is Saturday, it means next Friday, not yesterday
  • If you say “3pm” and it’s currently 5pm, it means tomorrow at 3pm
  • Past times are automatically bumped to the future
This prevents accidental scheduling of raids in the past.
Example:
Current time: Saturday, March 8, 2026, 6:00 PM

Input: "friday 7pm"
Parsed: Friday, March 14, 2026, 7:00 PM (next week)

Input: "3pm"
Parsed: Sunday, March 9, 2026, 3:00 PM (tomorrow)

Parsing Errors

If RaidBot cannot parse your input, you’ll see:
Could not parse that time. Try natural language like "tomorrow 7pm"
or a Unix timestamp.

Common Issues

Problem:
2/3/2026  ← Is this Feb 3 or Mar 2?
Solution: Use unambiguous formats:
march 3, 2026
2026-03-02
mar 3 at 7pm
Problem:
tomorrow  ← What time tomorrow?
Solution: Always include a time:
tomorrow 7pm
tomorrow at 8:00pm
Problem:
7 in the evening on the 15th  ← Too complex
Solution: Simplify to standard patterns:
march 15 at 7pm
15th march 7pm
Problem:
tommorow 7pm  ← Misspelled
fridy 8pm     ← Misspelled
Solution: Double-check spelling or use ISO format:
2026-03-15 19:00

Best Practices

Use specific times

Always include hours and minutes:
  • ✅ “tomorrow 7:30pm”
  • ❌ “tomorrow evening”

Specify timezone for international servers

If your server has global members:
  • ✅ “friday 7pm EST”
  • ✅ Set server default timezone

Use ISO for precision

For exact scheduling:
  • ✅ “2026-03-15T19:00:00”
  • Eliminates all ambiguity

Test complex times

Before using unusual formats in production:
  • Create a test raid first
  • Verify the parsed time is correct
  • Use /raid to check the timestamp

Examples by Use Case

For raids that happen the same time each week:
Week 1: "saturday 7pm"
Week 2: "next saturday 7pm"
Week 3: "saturday 7pm" (will auto-advance to next Saturday)
After creating a raid, use the Duplicate feature to copy it for next week with a new time!

Testing Your Time Input

Before creating a raid, you can test time parsing:
1

Start raid creation

/create
2

Set time

Click “Set date/time” and enter your time string.
3

Check the preview

The summary embed shows the parsed timestamp:
Time: Friday, March 15, 2026 7:00 PM
4

Verify correctness

If the parsed time is wrong:
  • Click “Set date/time” again
  • Try a different format
  • Or cancel and use /poll to let players vote on times
The creation panel shows the parsed timestamp before you commit, so you can always verify before creating the raid!

Advanced: Chrono Reference Date

For developers and advanced users, chrono-node uses a reference date:
const referenceDate = new Date(); // Current time
const parsedDate = chrono.parseDate('tomorrow 7pm', referenceDate);
When a server timezone is configured:
const offsetMinutes = getTimezoneOffsetMinutes(timezone, referenceDate);
const ref = { instant: referenceDate, timezone: offsetMinutes };
const parsedDate = chrono.parseDate('tomorrow 7pm', ref);
This ensures all parsing respects the server’s timezone setting.

Polls

Can’t decide on a time? Use polls to let members vote on preferred raid times.

Availability System

Let players mark when they’re available, and RaidBot will suggest optimal times.

Next Steps

Creating Raids

Use your time parsing knowledge to create raids

Managing Raids

Change raid times after creation

Build docs developers (and LLMs) love