Your roster, pulled from Blizzard and synced every hour.
Hootus reads your guild straight from the Blizzard game API, alts and respecs included, and refreshes it hourly. Members confirm a character against that roster instead of typing a name from memory. Signups, the planner, and recruitment all read the same honest list.
Every roster you kept by hand was wrong by Tuesday.
Someone made a sheet. It was right the day they made it. Then a tank respecced, two people levelled alts, a recruit ghosted, and nobody touched the tab. By raid night you are picking a lineup off a list that has not matched the game in weeks.
Hootus reads the roster from Blizzard on a loop, so it does not rot. He knows who is in the guild and what they are playing because he asked the game an hour ago.
- “Is the roster tab up to date? It says he is Resto.”
- “He respecced weeks ago. Nobody fixed the sheet.”
- “Wait, which one is the alt and which is the main?”
- “That person left in March. Why are they still on here?”
- “Ash kept the roster. Ash quit. Now what?”
The game keeps your roster. You stop keeping it.
One tick an hour by default against the Blizzard game API, and the list matches what is actually in the guild. Nobody has to remember to update anything.
- FjorvaltProtection Warrior70 · 128 ilvlfrom the armoryOfficer
- MournhowlFeral Combat Druid · respecced Tuesday70 · 121 ilvlfrom the armoryRaider
- BrightleafRestoration Druid70 · 124 ilvlfrom the armoryRaider
- PyreclawFire Mage70 · 126 ilvlfrom the armoryRaider
- HexweaveAffliction Warlock · linked to Skarn68 · 104 ilvlfrom the armoryAlt
- ArrowsongMarksmanship Hunter70 · 117 ilvlfrom the armoryTrial
Guild rank comes off the Blizzard roster as-is. What somebody can do in your server is decided by their Discord roles, not by this column.
- Name, class, spec, level, item levelStraight off the Blizzard game API, for every character on the roster, refreshed on the hourly tick.
- Alts and respecs come alongNot one main per person. The Druid who swapped from Resto to Boomkin overnight reads as Boomkin in the morning.
- Leavers stop haunting the listSomeone gkicked in March is off the roster by the next sync, instead of sitting in a tab nobody owns.
- Between Blizzard syncs
- 1hBetween Blizzard syncs
- Spreadsheets to maintain
- 0Spreadsheets to maintain
- Verification strictness modes
- 3Verification strictness modes
- List every feature reads
- 1List every feature reads
They prove the character. They never hand over an account.
Three steps, and the only thing anyone types is a character name.
They name a character
A new member types the name they play. No Blizzard login, no OAuth screen, no account handed over. Just the character.
Hootus checks the armory
He looks the character up against the roster he pulled from Blizzard, and across the connected realms your guild actually spans, so a name on a sister realm still resolves. Then a race-check step asks them to confirm the race, which trips up anyone claiming a name that is not theirs.
The roles land on their own
A match hands over the Member role, their class role, and the Raider role where it applies. Nobody clicks through a role menu at 19:55. Roster-only, armory-confirmed, or officer-trust, you pick how hard the gate runs.
The roster is not a tab. It is what the rest of the bot reads.
Once a character is verified and syncing, everything downstream trusts it. There is one list, and no feature keeps a private copy that drifts.
- Signups
The Mage still cannot tank
Every Tank, Healer, and DPS click is measured against the verified character behind it, so the check happens at signup instead of at pull.
- The planner
Real specs in the composition
When you drag names into groups on the web planner, it is reading the same synced spec data, not a label somebody typed.
- Recruitment
An applicant you can look up
A character name on an application resolves against the same armory, so you are reading a real character before anyone opens an interview thread.
- Officer commands
Who owns Fjorvalt
/whois, /character, and the alt tools answer it without anyone keeping a side note. Every character also gets a public armory page you can paste at a trial.
Bring the history Blizzard cannot tell you.
The live sync knows today. It has no idea who joined in 2021 or which four names belong to one person.
- Upload. Drop in your exported Guild_Roster_Manager.lua from settings.
- Map. Pick which guild in the file belongs to this Discord server.
- Dry run. Read the full preview. Nothing is written until you say so.
- Commit. Join dates seeded, alt clusters linked, leavers kept on record.
If you have run Guild Roster Manager, your saved file has the join dates and the alt links the API cannot see. Upload it, review the dry run, then commit. People who left or got dismissed stay on record instead of vanishing.
Fjorvalt dinged 70 at 2am. The roster knew by 3.
Nobody had to be told, nobody had to update anything, and the officer who used to own the spreadsheet got their Tuesday back. That is the whole trick. Ask the game regularly and stop trusting a cell somebody typed last month.
Let the game keep your roster.
Add HootusPlootus, point it at your guild and realm, and let the hourly sync do the upkeep. Members verify themselves, and every feature reads one honest list of who is in the guild.

