Scheduled announcements
Recurring posts — every few hours, or every day at a fixed time.
Post a message on a repeating schedule: rules reminders, event notices, weekly check-ins.
/announce create channel:#general interval:6h message:Read the rules in #rules!
Administrator level required.
Two scheduling modes#
Pure interval#
/announce create channel:#general interval:6h message:...
Posts every 6 hours from now. The clock time drifts, which is exactly what you want for "every few hours".
Fixed time of day#
/announce create channel:#news interval:1d time:09:00 message:Good morning!
Posts daily at 09:00 in your server's time zone.
With a time, the interval must be whole days — 1d, 3d, 1w. "Every
6 hours at 09:00" has no coherent meaning, so Ledra refuses it rather than
quietly picking one half of your request.
Set your time zone first#
/settings timezone name:Europe/Berlin
Without it, 09:00 means 09:00 UTC. Ledra warns you about this when you
create a fixed-time announcement on a server with no time zone set.
Daylight saving is handled. 09:00 stays 09:00 across the switch, even though the gap to UTC changes.
Managing announcements#
/announce list All of them, with next post time
/announce toggle announcement_id:2 enabled:false Pause
/announce toggle announcement_id:2 enabled:true Resume
/announce remove announcement_id:2 Delete
/announce test announcement_id:2 Post once, right now
/announce test posts immediately without moving the schedule — a preview
that costs you nothing.
Resuming a paused announcement recalculates the next slot from now, so it does not fire instantly on resume.
Formatting and placeholders#
/announce create channel:#general interval:1d message:{guild} now has {membercount} members! embed:true
embed:true posts an embed card instead of plain text.
Five placeholders work:
| Placeholder | Result |
|---|---|
{guild} |
Server name |
{guild.id} |
Server ID |
{membercount} |
Current member count |
{membercount.ordinal} |
Member count as 501st |
{owner} |
Mention of the server owner |
{user} deliberately does not work here. An announcement is not addressed
to anyone, so it is left in the text unchanged rather than resolving to a
wrong or arbitrary name. /announce placeholders shows the supported list.
If Ledra was offline#
Missed posts are skipped, not replayed. After two days of downtime, an hourly announcement does not fire 48 times — it resumes at the next slot.
This is the opposite of how reminders behave, and intentionally so: a missed personal reminder is still useful, a missed "read the rules" post is not.
If the channel disappears#
If the target channel is deleted or Ledra loses permission to write there, the announcement is automatically disabled and a note goes to your moderation log.
It is not deleted — fix the channel, then /announce toggle it back on.
Limits#
| Limit | Value |
|---|---|
| Announcements per server | 5 |
| Shortest interval | 15 minutes |
| Longest interval | 365 days |
| Message length | 1900 characters |
Less is more. A message that repeats every 15 minutes stops being read within a day and starts being noise. Most servers do better with one daily post than six hourly ones.