Field Manual
Communities on WoRTool
A community is a War of Rights unit with a public face, a working roster, a living schedule, and a Discord bot that keeps all of it in step. This manual walks the whole flow, from what a visitor sees to how staff run the unit.
The public profile
Every community has a profile anyone can read: its colours, its own account of itself, the staff, the next muster in the reader's own timezone, and who turns out most. The calendar and roster sit right on it, because when a unit meets is how it recruits.
From the masthead a visitor can apply to join or follow, which is not membership: it only brings the unit's events into their feed. Shared battle plans are listed here too.

Community
The Pennsylvania Army
- Enlisted
- 93
- In Discord
- 317
- Allegiance
- USA
- Established
- February 2020
About
The PA Army is a non-historically accurate European / North American community. We do private events on the weekend, ranging from line battles to normal skirmishes.
Gallery
Battle plans
Shared WoRSketch boards for this unit's planning.
Staff
Elsewhere
Most mustered
- 1
PA-[69thPVI] Sgt. Crossguide1043 - 2
PA - War Torn Anus1004 - 3
PA-[72ndPVI] Cpl. Kiptap927 - 4
PA-Maj. Web718 - 5PJPA-[PIB] Sgt. Jeff708
- 6
PA-[72ndPVI] Chmn. MAOney663 - 7
PA-[72ndPVI] Cpt. EmpBobby529 - 8
PA-[72ndPVI] CplCpt. Kilroy484 - 9
PA-[69thPVI] 2Lt. Milk473 - 10
PA-[72ndPVI] 2Lt. Hobbit470
Joining a unit
Membership
Apply from the profile or accept an invitation. Membership ties your account to the unit and lets you answer events on the site. One unit at a time: leave your current one before applying to another.
The roster
Who is actually in the unit, including people who only live in Discord. Staff enlist them straight from the server, and members can enlist themselves with the bot when the unit allows it.
The Manage panel
Owners and community staff get a Manage button on the profile. Ten sections, banded by the work staff actually do: recruiting, enlistment, activity, setup, and the record of it all.
Overview
The unit's dashboard: standing, quick numbers, and what needs attention.
Applications
Players who asked to join from the profile, with whatever message they sent. Approving one makes them a member of the community on the site.
Invitations
Invite codes you have issued, each with its own use cap and expiry, how many times it has been redeemed, and the means to revoke it. The way in for someone you have already recruited elsewhere.
Roster
Everyone actually in the unit, including people who only live in your Discord. Enlist by searching your server, bulk-enlist a whole Discord role, assign ranks inline, and refresh avatars from the guild.
Ranks
The unit's hierarchy. Each rank can map to a Discord role, carry a colour, grant permissions, and choose whether its holders show as staff on the public profile.
Schedule
This week's drills and who has answered, recent turnout once muster is taken, one-time events, and the recurring schedules that fill the calendar eight weeks ahead on their own.
Battle plans
The unit's shared WoRSketch boards: start one on a map to plan a specific engagement or blank for a briefing built from several, and say who in the unit may open each one. Shared boards show on the profile.
Profile
How the unit presents itself: cover banner, identity and allegiance, description, website, and the image gallery, laid out like the poster it produces.
Discord
Invite the bot, link your server, and point the schedule at a channel. This is the doorway everything Discord flows through.
Audit log
Who changed what, when: enlistments, promotions, schedule edits, and settings, kept for the record.
Schedule and muster
A recurring schedule fills the calendar eight weeks ahead on its own, weekly, monthly, or every N days, and rebuilds itself when its time changes. One-time events cover everything outside the rhythm: a scrim, a tournament match.
Members answer Going, Maybe, or Can't on the site or on the Discord posts, and the same counts show everywhere, live.
After an event, staff take muster and the plan becomes turnout: who came as promised, who turned up anyway, who did not show. Every muster feeds each member's running totals on the leaderboard.
The WoRTool Assistant
The bot runs the unit from inside your own server. Three steps get it going:
Invite the bot and link your server
Add the bot to your Discord, then link the server from your community's Manage → Discord page. Linking ties the guild to your community, and everything after flows through that link. Discord adds the bot at the bottom of your role list, and a bot can only hand out roles below its own, so drag its role above your rank roles once.
Invite the botRun /setup in your server
A private walkthrough only you see: pick your allegiance, the channel the event schedule posts into, whether members may enlist themselves, and which Discord roles mean Officer, NCO, and Enlisted. The extras step can set your description and website, and even create your first event without leaving Discord.
Post the week
Run /schedule and the coming week's events land in your schedule channel, one card each with answer buttons and a live count. Members reply where they already are; the website calendar shows the same numbers.
Bot commands
Commands are gated by rank permissions, not titles. The owner always passes, and any rank granted the matching permission can run the command, an NCO rank included. Run /help in your server to see exactly what your rank unlocks.
/setupOwner
Walks through the unit's essentials in place: allegiance, the event schedule channel, whether members may self-enlist, syncing Discord roles to your Officer, NCO, and Enlisted ranks, and optional extras. Run it again any time to change anything.
/scheduleManage events
Posts the coming week's events, one card each with Going, Maybe, and Can't buttons and a live turnout that updates as members answer. Also creates a one-time event or a weekly schedule right in Discord.
/musterTake muster
Records who actually turned out: a whole voice channel at once, a single member, or by event. The roll posts publicly with each member's running totals, the way muster stats get shown off.
/enlistEveryone
Joins you onto the unit's roster, when the unit allows self-enlistment. Staff can enlist anyone, and bulk-enlist every holder of a Discord role from the website.
/promoteManage the roster
Assigns a member a rank. If the rank is mapped to a Discord role, the role follows automatically, and granting the role in Discord raises their rank the same way.
/communityEveryone
The unit at a glance: its name, standing, and a link to its profile on the website.
/helpEveryone
Every command the bot has, split into what anyone may run and what your own rank unlocks, so nobody has to guess at a permission. Answers privately, with a link out to this manual.
/whoamiEveryone
The wortool account your Discord is linked to, or how to link one if you have not. The link is what attaches your roster entry to your account.
/pingEveryone
Checks the bot is awake and answering, with its round trip to Discord.
Always in step
Answers flow both ways
A Going pressed on a Discord post and a Going chosen on the website land in the same book, and every posted card's live turnout updates either way.
Ranks and roles stay synced
Map a rank to a Discord role once. Promoting on either side moves the other: grant the role and the rank follows, assign the rank and the role follows.
The roster mirrors the guild
Discord-only members belong on the roster too, with their real avatars and their turnout history, whether or not they ever sign in here.
Common questions
The things units actually get stuck on, most of them learned the hard way in somebody else's server first.
The bot says it needs Manage Roles, but I already gave it that. Why?
Because it is not the permission that is missing, it is the position. Discord only lets anyone hand out roles that sit below their own, and it puts a new bot at the bottom of your role list. Open Server Settings, Roles, and drag the bot's role above your rank roles. It cannot do this itself: Discord will not let a bot lift its own role, whatever permissions you grant it. Your community's Manage, Discord page shows where the bot currently sits and which roles that leaves out of reach.
The bot answered me privately and said it could not post in the channel.
A channel can deny what the server allows. Even with Send Messages granted server-wide, a channel that denies it to a role the bot holds wins. Open that channel's permissions, add the bot's role, and allow Send Messages and Embed Links. Nothing is lost in the meantime: when the bot cannot post a roll it hands it back to you privately rather than dropping it.
Promoting someone took away the role that lets them see our channels.
A promotion swaps rank roles: it adds the new rank's role and removes every other rank's, so nobody carries two. That is wrong for the base member role most units map to their lowest rank to open their channels. Edit that rank and turn on Keep this Discord role after a promotion, and it will be left alone from then on. Anyone already stripped needs the role handing back once in Discord.
I mapped a Discord role to a rank and nobody moved.
Check where that rank sits in your ladder. A new rank is created at the bottom, below every existing one, so a role mapped to it is worth less than the base member rank people already hold, and the sync will not move anybody down. Drag the rank to its proper place in the list and it applies. Ranks only ever move people up: a rank you set here that Discord cannot account for is left alone.
What is the difference between the roster and the members list?
The roster is who is actually in your unit, including people who are only in your Discord and have never made an account here. The members list counts site accounts alone. The bot musters the roster, which is why it is the wider of the two.
Searching for members in Discord finds nobody.
That search needs the Server Members Intent, which is enabled for the application rather than in your server. If it is off, the bot can still act on people you name directly, but it cannot browse your member list to find them.
We drilled twice in one day. Does the second muster count?
Yes. Each run of the command is counted separately, so a second drill credits everyone again. Running the same command twice by accident does not: a repeat of one command is ignored. Turnout tied to a scheduled event is credited once per event however many times you muster it, since it is still the one event.
The muster page shows my drill on the wrong day.
Days are recorded in UTC, so an evening muster in the Americas is filed under the next day. The turnout itself is correct and the totals are unaffected; only the date on the page reads a day ahead.
Somebody was mustered by mistake. Can I take it back?
Open that day's muster page and remove them from the roll. The turnout it recorded is deleted and their totals drop back to where they were. Only somebody who may award attendance sees the control.
I forgot to muster last night. Can I still record it?
Open the muster page for the day it should have been on and add whoever turned out, several at once. The credit lands on that day rather than today, so your history stays honest. Adding the same people twice does not credit them twice.
Does the link the bot posts stop working?
No. A muster is addressed by the day it was credited to, not by a token that expires, so the link keeps working and you can walk back through earlier days with the arrows. They step to the nearest day that actually holds turnout.
Take the field
Find a unit to serve with, or raise your own colors.
