Everything Vortex Raid Tool answers to. Member commands work anywhere — best in a DM with the bot; replies are private either way. Officer commands need the Officer Discord role (checked live, DMs included). Locked pages open with the Log in button in the menu: officer passphrase, or the guildmaster password which unlocks everything.
/help | This list, inside Discord. |
/wish import | Replace your wishlist from a WoWSims or Sixty Upgrades Export → JSON (gems/enchants filtered out). Lands in sim order — rank it afterwards. |
/wish add <item> | Add one item — instant autocomplete from the local item database, Wowhead links and IDs work too. Non-unique rings (the BT trash bands) can be added twice; unique/unique-equipped stay single. |
/wish remove · /wish clear | Take one item off, or wipe the list. |
/wish list | Your ranked list (1 = want it most) with reorder menus. Won items show struck through — crossed off automatically from the loot history, never deleted. |
/wish rank <item> <position> | Jump an item straight to a rank. |
/wish web | A personal 1-hour link to the browser editor — drag & drop reorder, search-to-add, paste an export to build from scratch. The link is the login. |
/request new [type] [amount] [what] | Ask the guild bank: Marks of the Illidari (2 marks per raider per lockout (Wed–Tue), 10g each). Lockout systems: once per Wed–Tue; open systems: one pending request at a time, say how many and what for (the pattern; the gem from the list — the autocomplete offers it) and, with for:, what it goes into — item names are suggested as you type (the Heart of Darkness crafts for hearts, any item for gems), free text works too, and a known item becomes a Wowhead link. Needs a guild rank (Raider) — pickups can't. /mark request still works for the marks. |
/request cancel [type] | Withdraw your pending request. |
/request list [type] | The queue — who's waiting ⏳, who's been served ✅ (all systems, or one). |
/request history [type] [name] | Who got what, when — all-time totals, or one raider's full log. |
/assign <boss> [date] | Assignments for one boss, generated from the next Raid-Helper comp: tanks, healer pairings, positions, misdirects, kick rotations, curses, Bloodlust — with the room diagram. boss:tonight gives every boss of the night; date picks another event. Officer pins and history are respected. Until the comp is announced in Raid-Helper it is the officers' draft — raiders see it from the announce on (or a set time before the start). Full page: assign.html. |
/recipe add <profession> <name> [character] | Register a recipe one of your characters knows — Blacksmithing, Leatherworking, Tailoring, Enchanting, Jewelcrafting, Engineering, Alchemy or Cooking; the name autocompletes from the item database. /recipe remove takes it off again. |
/recipe who <name> | Who can craft this. /recipe list [profession] shows everything the guild can make. |
/resist update <type> <amount> | Record a resist set — fire / shadow / nature / arcane / frost, unbuffed amount from the character sheet (0 clears). Officers can add player to set someone else's. /resist list [type] shows holders best-first; /resist mine your own. Feeds resist-gated raid assignments. |
/recipe remove <name> · /recipe list [profession] | Take one of your recipes off the list · everything the guild can craft, by profession. |
/mark request · cancel · list · history | The Marks of the Illidari the old way — the same as /request with the marks type. |
/whowants <item> | Everyone with the item still open on their wishlist, Priority order, with a debt preview per candidate ("if won (−30): 50.1 #9"). Tier tokens match set-piece listers; recipes match crafted-item listers. |
/droplist <boss> | The boss's whole loot table at once — wanted items first (most contested on top, top 3 claims each), unclaimed rest as a roll-or-shard footer. |
/mrt [date] [everyone] | The comp-selected roster as in-game character names (Discord nicks → roster mains, accents restored from the logs), laid out exactly like the comp tool's export — each row is a slot position, columns are groups 1→5 — for pasting into Method Raid Tools. Live from Raid-Helper; likely alts and unknown names flagged. everyone = all signups instead of the comp (alphabetical, one per line). |
/assign <boss> post:true | Post the pull card in this channel — embed with the assignments and the room diagram. boss:tonight posts one card per boss. Posted cards update themselves when the comp or an officer pin changes. |
/assign announce:true|false | Reveal the comp's assignments to raiders now, or hide them again — Raid-Helper's Announce button does it automatically; this is the by-hand switch. |
/assign share:true | Officers: a share link that opens the assignments page without a login — for pugs and stand-ins — valid until the weekly reset. Links are listed and revoked on the assignments page (officer mode → 🔗 share link). |
/checkin | Who is in tonight's Warcraft Logs upload vs the posted comp, right now — missing raiders, extras, and anyone not on the roster at all. The bot also posts this by itself 10 min after the raid start (reminder at 25). |
/prio [name] | The top of the board, or any raider's line. |
/wish list member:@X | Anyone's ranked list. |
/wishadmin lock [phase] · unlock · status | Phase lock: freezes every wishlist completely; wins keep crossing off automatically. Unlock between phases. |
/wishadmin review · reprice | Awards flagged “didn't respond on time”: list them, then reprice one to what it really was — standings rebuild on the spot. |
/wishadmin nudge [send] | DM regular raiders (6+ raid nights in the last 8 weeks) who still have no wishlist. Preview by default; send:true sends. Runs by itself too — see below. |
/wishadmin digest on|off [channel] | Run on in a channel (or name one): it gets one post per day after the first build (normally 23:45, minutes after raid) — recorded loot, the night's top parses, weekly movers, top 5, new faces in the log, warnings. Which of those, and the channel, are on the Settings page too. |
/attendance set <name> <date> <status> | Overrule one raider's night (attended / bench / noshow / missed) — replaces any earlier override for that night, rebuilds instantly. /attendance list shows what's on file. |
/attendance list | The overrides on file — who, which night, what it counts as, and why. |
/resist update <type> <amount> player:<name> | Record a resist set for someone else (a tank who never gets round to it). |
/roster add | Add a recruit: character, class, role, Discord account, rank (default Trial). Attendance counts from today. |
/roster link <character> | File a character the logs saw that matches nobody: alt_of:<main> makes it their alt; member:@X puts it under that Discord account (their alt if they already have a main here, else a new main — class and role default to what the logs say); pickup:true keeps a pug out of the standings. The character field autocompletes from the unknown list. |
/roster unknown | Characters seen in the logs or loot history with no roster entry — nights seen, class, and who they probably are (rostered that night but never in the log). |
/request given <name> [type] [amount] [what] · /request undo | Tick a hand-out off (gold collected where the system charges) — walk-ups who never asked get recorded too, so once-per-lockout always holds and the ledger stays complete. |
/delegate user:@name [remove:true] | Server admin (Discord's Manage Server decides who may): hand the hub side — setting the guild up, the plan, the settings — to a member who isn't an admin; remove:true takes it back. |
23:45 nightly build | Pulls Warcraft Logs (attendance · parses · consumables), Raid-Helper (signups · comps) and the RCLootCouncil history, recomputes every score from raw data, republishes the site. Officer edits (repricing, overrides, pins, links) rebuild and republish within a minute. |
Raid check-in | 10 min after the posted start: who is in the log vs the comp, in the officer channel; a reminder at 25 min if people are still missing. |
Pull cards | Posted /assign cards re-edit themselves when the Raid-Helper comp changes (the bot reads the comp posts) or an officer reworks a row on the assignments page. |
Wishlist reminders | A DM to anyone with 6+ raid nights in the last 8 weeks and no wishlist — with the browser link, so it takes a minute. |
Nightly digest | If armed with /wishadmin digest on or on the Settings page: loot recorded, the night's top parses, movers, top 5, new characters in the log, warnings — each can be switched off in Settings. |
Locked pages appear in the menu after Log in with Discord. Your roles in the guild's Discord server decide what opens: officers see the officer pages, the guild master also Settings (which roles count is set on the Settings page).
| Homepublic | The landing page. |
| rules.htmlpublic | The loot system, in full. |
| logs.htmlmember | Every Warcraft Logs report logged to the guild — newest first, sortable, filter by zone; raid nights that count for attendance are marked. |
| loot-history.htmlpublic | Every award ever — sortable, filterable. Officers logged in get council mode (award an item live, with the claims ranked) and the import panel for histories from other addons (Gargul, ThatsMyBIS, CEPGP, DKP, spreadsheets). |
| wishlist.htmlhidden | The browser wishlist editor — open it via your /wish web link. |
| assign.htmlpublic | Tonight's assignments per boss, live from the next posted comp, with diagrams and the All-night tab (curses, Expose Armor, Demo Shout). Raiders see the sheet once the comp is announced in Raid-Helper; officers logged in see the draft before that, rework any row (class-coloured menus), add optional healers, browse past weeks, and can open the sheet to raiders by hand (/assign announce:true does the same). |
| api.htmlpublic | This page. |
| dashboard.htmlpublic | Live standings with per-raider receipts, the signup cross-check, and the unknown characters panel for filing new log names. |
| officers.htmlpublic | Wishlists × Priority, T6 token demand, review queue, chase list. |
| recipes.htmlpublic | Recipes — who can craft what, by profession. Logged-in raiders add the recipes their characters know (from the item database, with Wowhead links) and remove their own; officers can remove anyone's. |
| requests.htmlpublic | Requests — Marks of the Illidari. Members: your own requests and hand-outs, a form to file a new one for any of your characters, and the waiting list where the guild shows it. Officers: the whole queue, tick-offs, walk-ups and the ledger of who got what, when, from whom. (marks.html is the old address.) |
| settings.htmlhidden | Every setting: score weights, roster (with alts, inactive and pickup flags), resist sets, boss templates, feature switches, access rules, loot system. Rebuild and restart buttons. |
Served by the guild's bot at https://vortexraidtool.com/demo. Wishlist calls authenticate with the 1-hour token from /wish web; officer and settings calls with a Discord login session as key (an officer's, or the guild master's for settings) — the acting name (by) is taken from Discord. Cross-origin is allowed for this site only.
GET /api/wishlist?token=… | Your list: name, lock state, items with slot / won / stackable-ring flags. |
POST /api/wishlist | { token, ids: [itemId…] } — replaces your order. Caps: 2 copies for non-unique rings, 1 for everything else; equippables only; 423 while phase-locked. |
GET /api/search?token=…&q=… | Item search over the local database (Rare+, equippables). |
POST /api/import | { token, text } — a WoWSims / Sixty Upgrades export; replaces the whole list. |
GET /api/assignments[?date=…] | The next comp's assignments, every boss: sections, rows, alternatives, warnings, diagrams. Gated like the page (a raider's session as key, or share=… from an officer's share link). extra=slot,… fills optional slots (officer key needed). |
GET/POST /api/assignments/share | Officers: list share links, make one ({key, by, hours?} — default until the weekly reset) or revoke one ({key, revoke: token}). |
GET /api/assignments/events | Server-sent events: a version tick whenever the comp, a pin or the history changes — the page refreshes on it. |
POST /api/assignments/pin | { key, by, date, boss, row, player | list } — an officer's rework of one row (swap semantics; blank = back to automatic). Posted pull cards re-edit. |
GET /api/assignments/history?key=… | Past weeks' assignments by date, read-only, for the officer date bar. |
POST /api/attendance | { key, by, date, player, status | clear } — an officer's attendance override for one night (attended / bench / noshow / missed), what the standings page's signup cross-check saves; the standings rebuild before it answers. |
GET /api/requests?key=… | Every request type with its queue, recent hand-outs and all-time totals, plus the roster for walk-ups. |
POST /api/requests | { key, by, action: "given"|"undo", system, main, amount?, what?, id? } — tick or un-tick a hand-out; 409 on double-grants. |
GET /api/council/search · claims · recent | Council mode: item search, the ranked open claims for one item (Priority, if-won preview), the latest awards. |
POST /api/council/award · undo | { key, by, id, player, response } records an award into the loot history (standings rebuild); undo removes one by id. |
POST /api/loot/preview · import | Loot-history import: { key, text, system } reads a pasted export (CSV / TSV / JSON) and proposes the column mapping; import adds mapping, date order and default response and files the rows next to the addon data. |
GET /api/loot/imports · POST /api/loot/undo | Imports on file (with the supported loot systems and the guild default), and removal of one import. |
GET /api/roster/unknown?key=… | Log characters with no roster entry, with class, nights, likely owner and any matching Raid-Helper signup. |
POST /api/roster/link | { key, by, name, altOf | discord + discordId | pug, class?, role? } — file a character as an alt, a new main or a pickup; roster validated, backed up, audited; standings rebuild. |
GET/POST /api/settings | Guildmaster password: read every config file with its schema, or write one field ({ file, path, value }) or a whole file ({ file, doc }). /rebuild and /restart do what they say; /unlock hands the officer passphrase to a guildmaster login. |
Data flow: Warcraft Logs (attendance · parses · consumables) + Raid-Helper (signups · comps) + RCLootCouncil history (read straight from the game files, or imported) rebuild everything nightly at 23:45; officer edits publish within ~a minute. Alts always roll below mains, and the council always has the last word.