The Discord bot
Meadhall in your Discord server: slash commands for everyone, posts in your channels, and /setup for whoever manages the group's Discord link.
The basics
- Adding it to your server and choosing its channels: Getting started, step 7. Or add it straight from here, with no group yet (you need Manage Server on Discord), and link it to a group afterwards with
/setup: Add to Discord - Who you are: the bot knows you by your Discord account, so sign in to Meadhall once with Discord. There's no separate linking command.
- Private replies: every command's answer is seen only by you (Only you can see this). Discord first shows "Meadhall is thinking…". Where a reply has Share to channel, pressing it posts a copy for everyone, marked Shared by ….
- Permissions are Meadhall's: what you may do from Discord is what your roles let you do on the site. A command you may not use answers "Officers only".
- Language: replies follow your Discord language, or your Meadhall one. When your Discord is set to one of Meadhall's languages, its command list describes each command, option and choice in that language too; the commands and options themselves keep their English names. Public posts use the group's language (Settings, Language of public posts).
- Times show in each reader's own time zone.
- Several groups on one server: the bot asks "Which group?" once; change it later in
/me profile.
/help
What Meadhall offers you on this server, depending on your role and the group's kind (/fairness is listed only in an alliance's server, /lu4 only for a group on LU4). Officers also get a For officers list.
In a server not linked to a group, it says "This server isn't linked to a Meadhall group yet". In a direct message to the bot it explains what Meadhall is.
Every command
Commands marked DM also work in a direct message to the bot (across your groups). Every command works the same on every plan (Plans): paid features are used on the site, and /auction and /fairness open their pages there.
For everyone
| Command | What it does |
|---|---|
/help DM | What Meadhall offers you here. |
/home now DM | Your dashboard: what needs you (the next event you haven't answered, with Sign up, and a claim of yours rejected in the last week), what's waiting for officers if you can act on it (Officer queue), then the next event, raid windows open now or within 3 hours, and your DKP. In a DM, only what needs you, in each of your groups. |
/raids windows | Boss windows, most urgent first: open now, within 6 hours, later. |
/lu4 item name | An LU4 item: its icon, kind and NPC price, its recipe (each material, the success rate, how many it makes), the 10 best places to get it (mob, level, zone, drop or spoil, about how many a kill), and a link to its page on the site. Names are suggested as you type; a name it doesn't know gets up to three close ones, or says it found nothing. Anyone in the server can use it, with or without a Meadhall account, unless the server's linked group plays something other than LU4. Share to channel posts a copy for everyone; it shows for those with a Meadhall account (a button needs one). |
/lu4 set name | An LU4 armour set's pieces (Heavy, Light or Robe), each linked to its page. Like /lu4 item, for anyone in the server, with Share to channel for those with an account. |
/lu4 craft item [qty] [prices] | What crafting an LU4 item costs, with your group's clan prices, or with prices: mine your own from the craft calculator (signed in and synced). It says whether crafting or buying is cheaper and by how much, lists the recipe's materials, then what to get for the whole craft (up to 25 lines, then and N more) with the total in adena, marking anything without a price. Costs leave out a crafter's fee: that's set on the site. Open in the calculator opens the same plan there. Share to channel always posts it with the clan's prices, so your own prices never reach the channel; it's there when the bot knows your LU4 group in this server without asking (not in a server where you're in no group, or in several until you've picked one). Needs a Meadhall account; clan prices are for members of the server's LU4 group. |
/lu4 price item adena | Sets your group's clan price for an item, as the calculator does (anonymous: members see when, not who): 45k, 1.2kk, 16,000 or 1200; 0 removes it. Needs Change the group's craft calculator prices (LU4) (every member, unless a leader takes it away); without it, it says your role can't. |
/event list DM | What's coming, and whether you're signed up; View on each. |
/event view event | One event and who's coming, with the sign-up buttons. |
/dkp mine DM | Your DKP in each pool, and your last lines. |
/dkp standings [pool] | Everyone's DKP in a pool (Overall if left out). In an EPGP group it starts with the priority (EP, GP as counted, EP ÷ GP, highest first), and the pool menu shows any pool. |
/dkp pools | The pools, and what each activity pays. |
/dkp ledger [member] | What was written, newest first. Whoever may award DKP also gets Reverse on an award or adjustment, after a confirmation. |
/claim submit activity screenshot [time] [screenshot2] [screenshot3] [note] | Claim an activity's DKP: then pick who was in the party, check the preview, and Send claim. |
/claim mine | Your claims and their results. |
/loot log | Drops, newest first. |
/auction | Opens the group's Auctions page on Meadhall, where you see what's open, bid, and (officers) list or cancel an auction. Auctions are a paid feature, and the bot has none: this answer is the same on every plan. |
/fairness | In an alliance's server: opens the alliance's Drop fairness page on Meadhall, where you see who picks next in each epic, and why. Drop fairness is a paid feature, and the bot has none: this answer is the same on every plan. In another kind of group it says it's for alliances. |
/people roster, /people member name | Everyone with their main and role; one member, with Change role and Remove from group for whoever may do those. Change role lists the first 25 roles (Discord's menus hold 25); in a group with more, a member's roles past those are kept when you save, and you change them on the site. The roster's pages, filter and Share reuse the mains it read for 15 minutes, so a main changed meanwhile shows on the next /people roster. |
/people roster linked: True | In an alliance or clan: the characters its linked groups share, with its own mains (needs See the characters linked groups share). Private to you. |
/me profile DM | Your characters (Add character, Edit; type the class in full, as the game spells it; the first you add on a game server is your main there, and Make main on another swaps them), groups, language, and which group commands here answer for. |
/me notifications DM | Which DMs the bot sends you (below). /me profile has the same list. |
/me timezone zone DM | Set your time zone, such as Europe/London. |
/join code code DM | Ask to join a group with an officer's code. |
/join withdraw group DM | Take back a request that's waiting. |
LU4: items and craft costs
A name you type is suggested as you go; with no match the reply offers the closest names. Missing prices are marked no price, and the total then reads at least what the priced materials cost.
For officers
Each needs the same permission as on the site.
| Command | Permission | What it does |
|---|---|---|
/home queue | Award and adjust DKP, reverse a batch; Approve join requests; or Confirm who came to events (each shows its own part) | Everything waiting for officers: claims, join requests, attendance. |
/raids kill boss [time] | Record boss kills | Record a kill, now or at a time (21:12, 20 min ago, 2026-09-26 21:12). Undo for 5 minutes. |
/event create [preset] | Create events | A form: title, start (Tue 21:00, 21:00 or a date), details, when to post; preview, then Create event. If the group has an announcements channel, it goes up there within seconds, or at the time you set to post it; a preset with its own channel (set on the site) posts it there instead, and the preview names that channel. |
/event edit event | Create events (your own events); Manage everyone's events (anyone's) | The same form, filled in; change the title, time, details or when it's posted. |
/event cancel event | As /event edit | Cancel an event, after a confirmation. |
/event attendance event | Confirm who came to events, or may edit the event | Once it has started: who came, from the sign-ups (or as confirmed before); Remove someone…, Add someone…, the DKP to pay if any (only with Award and adjust DKP, reverse a batch), then Confirm. |
/dkp award | Award and adjust DKP, reverse a batch | An activity (or pool and points), a reason, one member or pick up to 25 from the server; preview, then Write it. |
/dkp adjust member amount pool reason | Award and adjust DKP, reverse a batch | One member, up or down; preview, then Write it. |
/claim queue | Award and adjust DKP, reverse a batch | Claims waiting for a decision, one at a time: Approve (where the activity has a checklist, it then asks you to tick every line you checked against the screenshots), Reject with a reason the member sees, or Skip. |
/loot add item how … | Log drops and remove loot lines (and Award and adjust DKP for a DKP price) | Log a drop (to a member or a name, where from, price and pool for DKP); preview, then Log it. |
/loot remove line reason | Log drops and remove loot lines (and Award and adjust DKP for a line with a DKP price) | Remove a line from the log, after a confirmation: it stays, struck out, with your reason, and DKP paid goes back. |
/people requests | Approve join requests | Join requests: Approve, or decline from a list. |
/people codes | Joiner codes | New code, or revoke one. |
A form that doesn't open at once. If the bot has been idle, /event create and /event edit may answer with Open the form first: press it and the form opens.
For leaders
| Command | Who | What it does |
|---|---|---|
/setup | Manage the Discord link (leaders, unless they give it to a role), with Manage Server on Discord | Link one of your groups to this server, in five steps (Getting started). Run it again to change channels. |
/settings | Manage the Discord link | This group's Discord settings: channels (Change), joining, the language of public posts, registration reminders and their message, character update reminders, sharing, Post a join panel (below), and links to roles, DKP rules and presets on the site. |
What the bot posts
In your announcements channel, for everyone:
- Events, at the time set on the event (Post in Discord at; empty is at once), unless the event's form on the site chose another channel for it (Events). Whoever may edit the event can also press Post now in
/event view. With Add each event to the server's Events too on (below), the event also appears in the server's Events. - Event reminders, at each of the event's Channel reminders times (Reminders): a reply to its post, "… starts in 30 minutes", naming everyone in or late (up to 100 people).
- Sign-up reminders, at each of the event's Sign-up reminders times when it has a nudge role (Reminders): a reply to its post, "… starts in 2 hours. Not signed up yet: @…", naming the role's members who haven't signed up (up to 100 people; nothing if there's nobody left).
- Raid windows, on a plan with raid window alerts (Plans), as the group's switches in Settings, Raid window alerts, say (Window reminders): 5 minutes before a window opens and 1 minute before (both off by default), and when it opens (on by default). A recorded window's opening is a post with Record kill for officers; the rest, and an estimated window's opening, are one line each.
- Auctions, at the time set when listing on the site, with a link to bid on Meadhall.
- When you link the server: "This server is linked to …".
In your officers' channel: "… left the Discord server" when a member leaves it, with when they'll be suspended and Remove from group (When a member leaves). It changes to "… is back" if they return.
And, where a leader posts it, in the channel they choose: the group's join panel (below).
A post updates itself when someone uses its own buttons: a sign-up shows up in the event post. Changes made on the site (a bid becomes the auction's leading bid, and the closed auction says who won it) or with a slash command reach a post that's already up too, within a few seconds (the bot edits it in place).
Events in the server's Events list
Anyone who can manage the Discord link can tick Add each event to the server's Events too in Settings, Meadhall in your Discord (off to start with). Then, when an event's post goes up, the bot also creates a Discord scheduled event with the event's title, start and end time and details, whose location is a link to the post. It's updated when the event's title, time or details change, until the event starts, and deleted when the event is cancelled or deleted. Members sign up on the post as before; Discord's own Interested button doesn't sign anyone up.
Everyone on the server sees it, even members who can't read the announcements channel (or the event's own channel), so turn it on only if the whole server may see your events. An event that has already started isn't added. With Post now, it's added about a minute after the post. Turning it off adds no more; those already added are still updated, and deleted with their event.
The bot needs Discord's Create Events permission. Servers linked before it was asked for don't have it: Settings then says so, with Link again (choose the same server and leave it ticked), or give the Meadhall role Create Events in Server Settings, Roles. If Discord refuses, the post still goes up.
An event post
Pressing Sign up, Late or Tentative signs you up without a reply: the post updates to show you within a few seconds. The first time, if you have several characters on the group's server, it asks privately which one, and remembers it: after that every event on that server signs you up as the same character, and changing your status keeps it. Change character picks another one; it moves your sign-up on that event to it (if you have one) and is used from then on. With no characters, "Add a character first", with a link to your account page. To withdraw, use Withdraw on /event view. The reasons people give for not coming are never shown publicly.
An auction post
Bid on Meadhall opens the group's Auctions page, where you bid. Auctions are a paid feature, and the bot has no paid features, so bidding isn't done in Discord. Once the auction closes the post says who won it, and its button opens the page.
A raid window post
A join panel
A public post that lets anyone on your server join the group, or ask to, with one press. A leader (whoever may Manage the Discord link) posts it:
- In Discord:
/settings, Post a join panel. Choose the channel (the announcements channel to start with), whether to pin it, then Next: your line: a line of your own for newcomers (optional, up to 200 characters, plain text), and post. - Or on the site: Settings, Join panel: the same choices, and Post a join panel.
It shows the group's crest (if you've uploaded one), its name, kind, game and server, your line, and one button that follows Joining from Discord: Join … when it's Automatic, Request to join … when it's Request. With joining Off, the button goes and the panel says joining from Discord is off.
One panel per group: posting again takes the old one down. It keeps itself up to date when you rename the group, change its crest, change Joining from Discord or the language of public posts. If the message or its channel is deleted, Meadhall simply forgets it; post a new one. If Discord was down when an old panel should have come down, it's tried again at the next post or update, however many there are; after 100 old panels Discord hasn't taken down, a new one isn't posted until some of them are deleted. Several groups sharing a server each post their own.
Pressing the button answers privately, exactly as the Request to join offer below does: the group role, the limits and "you're already in" all apply. Someone who has never signed in to Meadhall is asked to sign in with Discord first, then presses again.
Direct messages
The bot also sends you a DM, in your Meadhall language, when:
- An event I'm in is about to start (at each of its reminder times, if you're in or late)
- An event nudges a role I hold, and I haven't signed up (only when the bot hasn't posted the event: a posted event tags you under its post instead, at its sign-up reminders)
- An event I signed up for moves
- An event I signed up for is cancelled
- I get a place from the waitlist
- My claim is approved or rejected
- I'm outbid
- I win an auction
- My group reminds me to update my characters (below)
- Someone in my group changes my character's class or level (who, and from what to what: People)
All are on to start. Choose which with /me notifications or /me profile (one list: what's ticked is on, and nothing ticked turns every DM off), or on your account page, Discord DMs; it's one setting in both places. Each DM links to its page on the site. If Discord can't deliver one (no server shared with the bot, or DMs closed), the notice stays on Meadhall.
Character update reminders. Anyone who can manage the Discord link can set Character update reminders in Settings or /settings to Weekly, Every 2 weeks or Monthly; they're off to start. Once each interval, counted from when they were switched on, the bot DMs each member of the group whose Meadhall account is linked to Discord and who hasn't saved a character for the group's game and server within that time: it asks them to check their characters on their account page or with /me. Nobody gets one until a whole interval after they're switched on, saving any character there counts as an update, and a member who switches this DM off doesn't get it. Suspended members get none.
Joining from Discord
Depending on the group's Joining from Discord setting (/setup or Settings):
- Off: codes only: members use
/join codeor the site. - Request: an officer approves: someone on the server who isn't in the group yet gets Request to join … when they use a command; the request reaches the People page's Requests tab.
- Automatic: anyone who meets the rule: they get Join …, and are in at once, if they hold the group role (when one is set).
The rule is the group role: Who's in this group on Discord on the Roles from Discord card (People, Roles tab; roles from Discord), or the Who's in step of /setup. With Everyone on the server, Automatic lets anyone on the server in without approval. On Settings, choosing Automatic shows the rule under the list ("Lets in anyone holding the group role on Discord: Raider.", or a warning: when there's none, and when it can't be found, say deleted on Discord, which lets no one in), with a link to that card.
Anyone who can manage the Discord link can set Registration reminders in Settings or /settings to Every 3 days or Weekly. When joining is Automatic and a specific group role is selected, Meadhall compares that role's holders with the hub roster at its 15-minute check. Anyone holding the role whose Discord id is not on a member record gets a private message with the registration link. Members already in the hub are not messaged. Turning reminders off, changing from Automatic, or choosing Everyone on the server stops them.
The message comes from people, not from Meadhall: it names the group's leaders, the group and your Discord server, links your join panel if you've posted one (pressing Join there is the quickest way in), then gives the sign-in link, and ends with a line saying the group's leaders sent it because the person is on your server.
You can write the opening yourself in Registration message (Settings, or Edit the message in /settings), up to 500 characters. {sender}, {group} and {server} are filled in with who sends it, the group's name and your Discord server's name; any other {...} is refused, so a typo doesn't go out as written. It's sent as plain text, so formatting and masked links show as typed. The join panel link, the sign-in link and the line saying your leaders sent it are always added after it. Until you write your own, the box shows the default opening in the bot's language, so you can see what goes out and start from it. Saved unchanged, or emptied, it stays the default, which follows a change of the bot's language; the default is also used if yours grows too long to send once the names are filled in.
To send it once, now, press Send the link now under Registration reminders (Settings, or /settings, which asks you to confirm). It goes to everyone holding the group role who isn't in the hub, at the bot's next check (within 15 minutes), in your name instead of the leaders', even with the reminders set to Off. It still needs Automatic joining and a specific group role, and each group can send it once a day.
Either way they must have signed in to Meadhall once with Discord; if not, the bot says "Sign in to Meadhall first", with a button. A join panel offers the same button to everyone on the server, without their having to use a command first.
What the bot needs on Discord
- View Channel, Send Messages and Embed Links in each channel it posts in; Pin Messages in the officers' channel, and in the channel of a join panel you want pinned.
/setup's last step checks these and says what's missing; a join panel that couldn't be pinned says so when it's posted. - Create Events, server-wide, only if the group adds its events to the server's Events (above).
- For roles from Discord (roles from Discord), nothing extra on your side.