Skip to main content
Setup walkthrough

Invite to first signup. Five minutes, no YAML.

Add Hootus, walk a short wizard, push the raid button. This is the whole path from a fresh server to a raid post your guild can click, including every permission he asks for and the job each one does.

No bot token to hostNo admin scope, no config repo
The walkthrough

Four steps, and three of them are a button.

Nothing here is a file you edit or a service you restart. The longest part is deciding which channel the raid post belongs in.

  1. Add the bot

    One click, and Discord's OAuth screen does the rest. You pick the server, confirm the permissions, and Hootus lands on a branch in your guild. No token to paste, no app to register, no host to rent.

  2. Walk the wizard

    The bot DMs your leadership a setup link the moment it joins. Pick your flavour, point Hootus at your channels, say which Discord roles open what. Five minutes start to finish, and every choice has a sane default if you would rather skip ahead.

  3. Let members verify

    New joiners hit a welcome message with two buttons: member, or just passing through. Members confirm a character against the roster Hootus pulls from Blizzard and get their Member and class roles. Guests get the pug channels and nothing else.

  4. Push the raid button

    Run the raid command, pick the instance, and the signup post lands in your raid channel. Tank, healer, and DPS buttons that check the character behind every click. Nobody types 'who's tank tonight' for the rest of the tier.

Step two, up close

The wizard asks five things and then gets out of the way.

It arrives as a DM to your leadership the moment the bot joins, and it is a web form, not a thread of slash commands. Answer what you know, leave the rest on its default, and change your mind later on the settings page.

Your Discord roles stay your Discord roles. Hootus maps what each one can reach instead of asking you to rebuild your hierarchy inside a bot.

  • Pick your flavour. Classic Era, TBC Classic Anniversary, or Mists of Pandaria Classic. Everything after this follows from it, down to which buffs the composition check cares about.
  • Point him at your channels. Welcome, raid, officer, and log. He posts in those and stays out of the rest.
  • Map your Discord roles. Your existing roles decide who reaches which pages and settings. No new ladder to learn, no second hierarchy to keep in sync.
  • Name your guild and realm. So the roster sync knows where to look, and finds the alts on connected realms too.
  • Skip whatever you like. Every step has a default and the settings page is there afterwards. Nothing here is a one-shot decision.
Permissions

Every permission on that screen, and the job it does.

This list comes straight out of the code that builds the invite link, so it cannot drift away from what Discord actually asks you for.

Permissions the invite asks for
19Permissions the invite asks for
Administrator, ever
NoneAdministrator, ever
Optional extras you can decline
2Optional extras you can decline
Posting and reading
  • View Channels. He can only work where he can see. Point him at the welcome, raid, and officer channels and that is his whole view of the server.
  • Send Messages. The entire job is talking in the right channel at the right time. Welcome embeds, raid posts, lineups, reminders.
  • Embed Links. Raid posts and rosters are rich embeds with class icons and links, not walls of plain text. This is what makes them readable at a glance.
  • Read Message History. So he can find his own earlier post and edit it as signups change, instead of spamming a fresh one every time somebody clicks.
  • Mention Everyone. To ping your raid role when a raid posts, even when that role is not mentionable by hand.
  • Use External Emojis. Class and spec icons inside the embeds, on any server.
  • Create Invite. To mint the invite behind a public raid signup or a PUG guest link, so a guest lands in the right place.
Roles and members
  • Manage Roles. To hand out Member, Raider, class, and PUG roles on verify, and to set channel permissions during setup. Only ever roles below his own.
  • Manage Nicknames. To set a nickname to the character name on verify, so your member list reads like your roster.
  • Kick Members. For the removals you ask for: someone who says at the welcome step that they are not in the guild, or a member an officer removes from the dashboard.
Raid voice
  • Manage Channels. To open the raid voice channel when a night starts and clear it away when the raid closes. No leftover voice rooms next Tuesday.
  • Connect. To open raid voice to your member roles when the category is locked down.
  • Speak. Same reason as Connect, for Speak on locked-down raid and officer voice channels.
  • Move Members. To move whoever is still sitting in raid voice back to General before the channel goes away.
Raid threads
  • Create Public Threads. To open the discussion thread that hangs off a raid post.
  • Create Private Threads. The same, for raid channels you keep private, so the thread does not leak the lineup.
  • Send Messages in Threads. To post signup updates and PUG invites inside the raid thread.
  • Manage Threads. To archive and lock the thread once the raid is closed or cancelled.
  • Manage Messages. To pin the live lineup in the raid thread so it stays at the top.
Optional, and skippable

The last boxes on that screen are nice-to-have. Untick them and raid night runs exactly the same, you just lose the small thing each one buys.

  • Manage Events. Creates a Discord scheduled event alongside the raid. Skip it and raids still post fine.
  • Manage Server. Reads invite use-counts so a new member can be traced back to the invite that brought them. Skip it and joins simply arrive unattributed.
Drag him up the listHis role has to sit above the roles he hands out.Discord refuses to let a bot assign a role above its own, or move a member who outranks it. Put HootusPlootus above your Officer and Raid Lead roles. He checks this on boot and every half hour, and tells your leadership plainly when it is wrong instead of failing quietly.
What he will not touchNo Administrator, no channels you did not point him at.The invite never asks for Administrator. He reads the channels you named in the wizard, never reaches above his own role in the hierarchy, and the optional boxes above can be left unticked without breaking raid night.
Verification

Verified against Blizzard. Not a name they typed.

This is the step that decides who ends up in your raid roster. A new joiner picks member, names a character, and Hootus confirms it on the armory before handing over the Member and class roles. A race-check step sits in the middle of it, which is enough to stop somebody claiming the guild master's main.

Pick just passing through instead and they get the guest role and the pug channels, nothing more. No stranger wanders into officer chat by accident. How strict the check runs is yours to set, from roster-only to armory-confirmed to officer-trust.

  • They click Member. The welcome embed has two buttons. The other one leads somewhere much smaller.
  • They name a character. A real one. Hootus looks it up on the armory, connected realms included.
  • He checks it against the roster. The same roster he syncs from Blizzard, so the alt they rolled last week is already in it.
  • A race check catches the obvious faker. Confirm the character race before any role lands. It trips up the lazy impersonation.
  • Roles land on their own. Member, class, and Raider where it applies. No officer clicking down the member list.
Step four

Then it is just a button, every week.

The raid command posts the night. From there the signup post is the plan: roles counted, classes checked, bench and lock handled without an officer watching the clock.

Karazhan · Tuesday 20:004/10
Tanks
1/2
Healers
1/3
DPS
2/5
  • FjorvaltProtection Warrior
  • BrightleafRestoration Druid
  • PyreclawFire Mage
  • HexweaveAffliction Warlock

This is the real rule, not a mockup. Tell the Mage to tank and see how that goes.

  • Checked on every clickTank, healer, DPS, measured against the character behind the name. A Feral Druid can tank. A Fire Mage is welcome to try.
  • Locks itself before pullSignups close 30 minutes before start, the bench gets its ping, and the post closes itself when the night is over.
  • Drag it instead, if you likeThe web planner moves names between groups on a desktop or a phone, then posts the lineup back to Discord.
Five minutes of setup. Then it is just Tuesday again.
Hootus, on what setup should feel like
  1. Nothing to host

    You are not running a bot.

    No VPS, no Docker compose, no token to keep secret, no uptime to babysit. Hootus already runs on our side and shows up when you invite him.

  2. Nothing to configure

    No YAML, no config repo.

    Nothing to fork, nothing to commit, no schema to learn. Every setting is a button in the wizard or on the settings page, and every one of them can be changed later.

  3. Nothing scary

    No Administrator, no odd scopes.

    The list above is the whole list. He reads the channels you point him at, touches the roles you gave him, and reaches nothing above his own role in the hierarchy.

Five minutes from here

Add him now, raid on him Tuesday.

Invite Hootus, walk the wizard, push the raid button. Roster from Blizzard, signups that know your class, the lineup posted before anyone asks who is tanking.