Skip to main content

Announcements

Announcements are alliance-wide broadcasts — match call-ups, strategy briefings, treaty news. They show up in every member's dashboard, can target an audience (rank-based or a saved custom audience), and optionally cross-post to a configured Discord webhook. The composer pulls live alliance data into the body via blocks (DS roster, shield board, leaderboards) so a one-line title turns into a proper briefing without manual data entry.

Composing an announcement

Open Sidebar → Announcements and hit New. The composer has a title and a rich-text body (bold, italics, lists, links — the editor is the same one used for Guides). On the right is a variable picker that drops live-data tokens into your title or body; below the body is a Preview panel that renders your draft against today's alliance data so you can see exactly what members will read before you save.

Variables and blocks

The composer supports two kinds of placeholder tokens that get replaced with live alliance data when the announcement fires (or when you post a one-off announcement that contains tokens).

  • Scalars — single-value tokens like {{allianceName}}, {{vsDayName}}, {{timeUntilDs}}, {{shieldedCount}}. Drop them into a title or anywhere in the body; they substitute inline.
  • Blocks — multi-line briefings like {{block:dsCallup}}, {{block:vsDayBriefing}}, {{block:shieldBoard}}. Each block expands to a structured fragment (heading, lists, links) pulled from the matching part of the platform — DS roster, the day's VS focus + Arms Race rotation, the shield board, duel and donation leaderboards, MG cycle rollup. Drop one block into the body and the rest of the briefing writes itself.

Pick from the right-hand sidebar; click any item to insert at the cursor. Each row carries a one-line description so you know what the token resolves to before inserting.

// NOTE

Tokens render against state at fire time. A schedule that fires Saturday 18:00 reads the DS roster and shield board as they are at 18:00 — not as they were when you saved the schedule. The whole point is that “9/30 confirmed” is the kick to act.

Live preview

The Preview panel under the body sends your draft to the renderer, against your alliance's current state, and shows the resolved output. Toggle In-app to see what members read in their dashboard; Discord to see the embed's plain-text flatten. Read-only — no save, no publish.

Targeting an audience

By default an announcement goes to everyone in the alliance. The audience picker lets you narrow it down:

  • Everyone — the alliance roster, including placeholders.
  • By rank — pick one or more of R5/R4/R3/R2/R1. Useful for officer-only briefings.
  • DS signed-up players — everyone who has requested a slot for the next Desert Storm match.
  • DS roster — only the confirmed roster for the next match.
  • Saved custom audience — a member list you've saved under Settings → Audiences.

You can stack audiences. “R4 + R5” plus a saved “Trial squad” audience reaches the union of both groups, deduplicated.

Recurring schedules

Anything you find yourself sending every week — weekly DS briefing, donation-day reminder, weekly recap — lives better as a schedule. Announcements → Schedules → New captures the same content but adds cadence (daily or weekly) and a time-of-day. The platform fires the announcement at the configured slot in your alliance's configured timezone.

// NOTE

Schedules and one-off announcements share the same composer and audience picker. The only difference is the cadence field. Disabling a schedule (toggle on the schedule list) stops it firing without losing the content.

Templates

The composer ships with starter templates for the most common recurring content — DS T-2 hours, buster shield reminder, VS-day opener, duel reset, Marshal's Guard heads-up, and a free-text custom template. Each one is built around the live blocks: the DS template uses {{block:dsCallup}} so members see who hasn't signed up yet, the shield template uses {{block:shieldBoard}} to surface unshielded high-power members, the VS opener uses {{block:vsDayBriefing}} for the day's scoring focus and tips. Pick a template to pre-fill title, body, and audience; tweak the prose around the blocks; save.

Templates are starter content, not constraints. Anything you can do from the custom template is fair game.