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.
// ON THIS PAGE
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
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
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.