Language
Anvil · Discord5 min read

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 shared, nothing to create~5 min invite to first postOpt-in every feed is off until you point it somewhere
Step 1

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 Discord bot 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.

View Channels, Send Messages, Embed Links, Attach FilesThe basics. Without these it is in your server and silent.
Manage WebhooksSo the Create button on the Webhooks tab can make a webhook for you instead of you copying URLs out of Discord by hand.
Manage RolesOnly if you turn role sync on. It can then hand out the roles you map — and it can never touch a role above its own, which is Discord’s rule, not ours.
Manage NicknamesOnly if you turn nickname sync on, so a member’s server nickname can be set to their RSN.
Manage ChannelsOnly for per-team private channels during a draft. Skip it and everything else still works.
It asks for all five at once
Discord has no way to ask for a permission later, so the invite link requests the full set and the features you never enable simply never use theirs. Re-running the invite link is also how you repair a permission somebody removed.
Step 2

Connecting it

#

Two things, in this order. The bot has to be in your server, and Anvil has to know which server is yours.

Invite the botAdmin → Settings → Discord botInvite / re-invite the bot. The link pre-selects your server once the ID is set, so you cannot add it to the wrong one by accident.
Set the server IDRight-click your server icon in Discord → Copy Server ID (needs Developer Mode on, under Discord’s own Advanced settings) and paste it in. This is the field that makes the connection specific to you.

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.

The server ID is the whole binding
A guild belongs to exactly one clan on Anvil, and slash commands from a server nobody has claimed are refused rather than guessed at. Until you set it, the bot is invited and idle.
Step 3

Where things post

#

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.

The Webhooks tab can create them for you: pick a channel, press Create, and the bot makes the webhook using its Manage Webhooks permission. Pasting a URL you made yourself in Discord works identically.

AnnouncementsThe main one. Event starts and endings, sign-ups opening, standings, weekly results. Set this and nothing else and you have a working clan.
Plugin defaultWhere anything from the game goes when it has no channel of its own. Set this second.
The split feedsRare drops, pets, deaths, collection log, combat achievements, levels, quests, diaries, clips, PvP kills and Leagues each take their own channel. Splitting them is the difference between a feed people read and one they mute.
Split deaths off first
Deaths are the highest-volume feed on most boards and the one that buries everything else. If you only split one thing, split that.
Step 4

Roles and nicknames

#

Two syncs, both off until you turn them on, and both driven by the roster rather than by anything anyone types in Discord.

Role syncMap your in-game ranks to Discord roles and Anvil keeps them in step. There are also single roles for members, guests, captains and the current event, so you can @ the right people without maintaining a list by hand.
Nickname syncSets a member’s server nickname to their RSN. It fills in a blank nickname by default and can be told to overwrite one someone chose themselves — which is the setting to think about before enabling, not after.
The bot’s role has to sit above the ones it manages
Discord refuses to let any bot touch a role at or above its own, and it refuses silently from your side — the sync simply does nothing. Drag the Anvil role up in Server Settings → Roles and it starts working; nothing needs re-inviting.
Step 5

Slash commands

#

The bot answers /bingo in your server: board, rules, leaderboard, me and team. They read the live event, so nobody has to leave Discord to check where they stand.

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 the invite link from the Discord bot tab; it does not kick the bot or reset anything.

It replies in each person’s own language
By default the bot answers in whatever language that member has their Discord set to, falling back to English. Pick a single language under Bot language to override that for everyone — which is also the only way to get Arabic, since Discord has no Arabic client language to detect.
Step 6

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.

Nothing posts twice
A drop that completes a tile is one post, not one from the plugin and another from the board.
Step 7

When it goes quiet

#

In order, because each one rules out the next:

Is the bot actually in the server?The Discord bot tab says so directly. "Token valid" and "in your server" are different facts and the first does not imply the second — with a shared bot the token is always valid.
Is the server ID right?A wrong-but-real ID looks exactly like a right one until you notice the posts are going somewhere else.
Is the webhook still there?Deleting a Discord channel deletes its webhook, and Anvil keeps the dead URL. Re-create it on the Webhooks tab.
Is the bot’s role high enough?Only for role and nickname sync — see above. This is the one that fails silently.
It cannot greet people who join
Discord only reports joins over a gateway connection, which a shared bot does not hold for every server. So there is no "welcome" post — put the sign-up link in a #roles or #start-here channel instead, which is where people look anyway.

Everything here lives under Admin → Settings, split across the Discord bot, Webhooks, Roles & channels and Notifications tabs.