Anvil in Discord
One bot, one invite, and no application to register. This is what it posts, where it posts it, what it can change in your server — and what to look at on the day it stops.
One bot, already built
#There is no Discord application to create, no token to generate and no secret to paste. Anvil runs one bot and every clan shares it, so connecting is an invite and nothing else.
You can still bring your own — paste a token under Use your own bot instead (advanced) and it is used instead. Worth it only if you want the bot to wear your clan’s name and avatar in the member list; everything in this guide works the same either way.
Connecting it
#Two things, in this order. The bot has to be in your server, and Anvil has to know which server is yours.
The panel then tells you the truth rather than your intent: whether the bot is actually a member of that server, and which permissions it is missing. A green line there is worth more than a saved form.
Set up webhooks
#Anvil posts through webhooks, one per channel, and every one of them is optional. Nothing posts anywhere until you point a feed at a channel — a fresh clan is silent by design rather than by accident.
With the Anvil bot in your server, Set it up for me at the top of Admin → Discord makes the channels and points every feed at them. To do it by hand, open More settings → What goes where and start with the Catch-all channel on Clan & events, then the In-game catch-all on In-game (plugin): pick a channel from the dropdown and it saves. Without the bot, open that Discord channel’s Edit Channel → Integrations → Webhooks, create one, copy its URL, choose Paste a webhook… in the dropdown, paste it and press Save. A webhook URL can post to its channel, so treat it like a password; if it leaks, delete it in Discord and create a new one. Test, and Add another to rotate busy posts between two webhooks, are under Post without a bot.
Leagues, Deadman and other modes
#Leagues, Deadman, hardcore and other modes run on their own worlds with their own characters. Their posts are always labelled and never count toward boards or competitions. They have their own tab: Admin → Discord → What goes where → Game modes. A mode appears there the first time a member plays it.
Each mode has a switch and a To channel. Turn on Send game-mode posts to their own channels to use those channels; leave it off and every mode posts to the normal channels, still labelled. The Posts button on a mode’s row lists every kind it sends — the usual ones and the mode’s own events — each with its own switch.
Under that list, Custom thresholds make a mode post less than the main game. Post drops rarer than 1 in… (at least 2) and Post drops worth at least (gp) (at least 1,000) set their own floors (blank = same as the main game), then press Save drop thresholds: always-post items still post, but drops that only count for their value don’t. Use its own level milestones posts a level-up only if it matches both sets of rules.
Old webhooks from other plugins or bots
#With the bot in your server, the Discord page lists every webhook in it that isn’t Anvil’s. Coming from other plugins? offers Use the same channels, so Set it up for me posts where your old feeds did and nothing moves for your members.
Once your members are on Anvil, go to Remove old webhooks from other plugins, tick the ones to go and press Remove … webhooks, then Yes, remove them. That deletes them in Discord for good — it cannot be undone.
The list holds any webhook that isn’t Anvil’s, not just another plugin’s. One you want to keep, like another bot’s feed? Press Keep and it leaves the list; Show kept and Put back bring it back. Keeping only hides it here — nothing changes in Discord.
Roles and nicknames
#Both syncs are off until you enable them under Admin → Discord → Roles & nicknames, and both are driven by the roster. Turn on Enable Discord role sync, leave Auto-match in-game rank → Discord role by name on, select any general Member roles and Guest roles, save, then press Sync roles & nicknames now. Every person also needs a linked Discord identity; the sync report names anyone it could not resolve.
Owner, Deputy Owner, Coordinator, Overseer, General, Captain, Lieutenant, Sergeant, Corporal or Recruit. Custom ranks work too when their Discord role uses that same name. Matching ignores letter case and treats underscores like spaces, but extra words do not match: General works; OSRS General does not. Member and guest roles are picked separately, so their names can be anything.Slash commands
#The bot answers /bingo in your server (the board, the standings, the rules, your own card) plus clan commands like /sotw, /stats and /coffer. They read the live site, so nobody has to leave Discord to check where they stand. Every command and its options has its own page.
They appear a minute or so after the bot joins. If they never appear at all, the invite granted the bot but not its commands — the two are separate permissions and an older invite link only asked for one. Re-run Invite / re-invite the bot under Connection on the Discord page; it does not kick the bot or reset anything.
What it posts, and when
#Two sources, and it is worth knowing which is which when something looks wrong.
The site posts events: a board opening, sign-ups, a start, standings, the result. Those fire from Anvil itself and keep working whether or not anybody has the plugin.
The plugin posts what happens in game: drops, pets, deaths, levels, collection log slots, combat achievements. Those only exist for members running it, so a quiet drops channel usually means a quiet plugin rather than a broken webhook.
Drop thresholds
#Anvil starts at 1m gp or 1 in 1,000. A drop posts when it meets either one. Nobody can set their own numbers below those, and 0 switches one off.
Set your clan’s defaults under Admin → Discord → What goes where → Drops: Default minimum drop value (gp), Default: post drops rarer than 1 in… and Require both. Turn on Require both and a drop must meet the value and the rarity.
Each character follows the default of the clan it is a member of, and Anvil’s default if it has none. Players can pick their own numbers in Settings. It shows Using clan default or Custom, and Reset goes back.
Hard floor: never post drops more common than 1 in… is the strict one. Members can’t go looser than it in your clan’s channels. Their own webhooks can.
More webhooks for busy channels
#One webhook can only send so fast. For a busy event, add more webhooks to the same channel. Press Busy channel? Let the bot add … more webhooks (it needs Manage Webhooks), or paste several webhook links into the channel’s box. Anvil suggests more when you have 50 or more players, a lot of posts per minute, or Discord has recently said “slow down”. Up to 10 is plenty.
Anvil takes turns between them. If Discord says “slow down” for one, that webhook rests for a moment and the next one takes the post. If one is deleted or stops working, it is skipped for 10 minutes. Posts keep flowing, as long as one webhook works.
All of them must point at the same channel. Anvil warns you if they don’t. Use Test to check one, or Stop posting here to remove it.
Post to Discord
#Admins can post as the bot from Post to Discord, under Clan in the admin menu. Pick a Channel, write the Message and press Send message. Long text, like a rulebook, is split into several messages by itself.
Send as an embed is on by default and adds an optional Title and an Accent colour; turn it off for plain text. Ping picks a role, or @everyone, to mention, and Anvil asks before it sends.
Every post you send is listed under Sent from here. Edit changes it in Discord without pinging again, and Delete removes it.
When it goes quiet
#In order, because each one rules out the next:
Everything here lives on Admin → Discord: the quick setup at the top, then More settings — Connection, What goes where, Event posts, Roles & nicknames, Team channels, Commands and Post without a bot.
Stuck, or something looks wrong? Ask in the Anvil support Discord