docs

Search docs

Search the Metryx documentation

Get started

Utilities

Utilities

Server tools that post and manage things for you: access codes, autoroles, welcomes, reaction roles, leveling, logging, sticky messages, and embeds.

What's in Utilities

Where to find it:SidebarUtilities

Utilities are the tools that act in your server for you: gate access behind a code, hand out roles when people join, greet new members, let people pick their own roles, reward the people who show up with levels and XP, keep a message pinned to the bottom of a channel, and post rich embeds. Each one lives on its own page under Utilities in the sidebar.

They all share the same editing pattern: open an editor, change what you want, and save from the bar at the bottom. The X in the top right (or Esc) takes you back out.

Access Codes

Where to find it:SidebarUtilitiesAccess Codes

An access code is a password members redeem to unlock roles. Creating one is a single form: name the code, set or generate the code value, and name a password channel. On save, Metryx builds everything in Discord for you. It makes a public channel where members type the code, grants the roles you picked, and can build an optional private category plus any locked channels you list.

Important

Metryx only accepts roles from the connected server, and it always blocks managed roles. You can grant a role that carries administrator or moderation permissions, but the editor warns you first: anyone who redeems the code gets that role and its power, and if the code or its website link leaks, whoever has it gains that power. You read the warning, wait a few seconds, then check a box to accept the risk before you can save. Metryx is not responsible for leaked codes or links. When you can, use a dedicated access role with no dangerous permissions and let Metryx lock the private channels to it.

Note

Save the access code first, then re-open it. The edit view shows the code's own website link to copy and lets you post a verification button into a channel.

The website link is useful for launches, drops, or off-Discord campaigns where members prove their Discord account before access is applied.

Autorole

Where to find it:SidebarUtilitiesAutorole

Autorole gives every new member (or bot) a set of roles the moment they join. Click Add autorole, pick a role (or create a fresh one on the spot), and you land on that autorole's settings page: who gets it (New members or Bots) and an optional delay before the role is granted, from 30 seconds up to 24 hours.

With Wait for membership screening on, members going through Discord's rules screening get their roles (and start any delay) only after they pass.

Note

Delays are best-effort: they run inside the bot, so a bot restart can drop a pending grant. Keep delays short if the role gates something important.

Warning

Granting a role with moderation or admin permissions to everyone who joins is risky. Metryx makes you explicitly accept that risk before it saves such a role.

Welcome & goodbye

Where to find it:SidebarUtilitiesWelcome

Post a message when someone joins or leaves. Use placeholders like {user} and {server}, write it as text or a full embed (with optional plain text above the embed), ping the new member, auto-delete after a delay, and optionally DM them too. Send test posts a sample with the placeholders filled in.

Note

Tests send the last saved version, so save your changes before testing them.

Reaction Roles

Where to find it:SidebarUtilitiesReaction Roles

A reaction role menu is one message members use to give themselves roles. Click Create reaction role and fill in the menu: the channel it posts to, a title, an optional description, and one entry per role. Each entry gets a label, an optional emoji, and (for buttons) a color. A menu holds up to 20 roles.

Note

The name is historical. Members do not add an emoji reaction, they click something. Under Style you choose Buttons for a row of buttons or Dropdown for a single pick-from-a-list menu.

Mode decides how many roles a member can hold from one menu. Toggle (any number) lets them collect any mix: clicking adds the role, clicking the same one again takes it back. Pick one makes them exclusive, so choosing a role drops the other roles from that menu. Either way the member gets a private confirmation naming exactly what was added or removed, so nobody clutters the channel.

A live Discord preview sits next to the form, so you see the message before it exists. Save from the bar at the bottom, and the X in the top right (or Esc) closes the editor. Each saved menu becomes a card showing its channel, style, mode, and whether it has been posted yet.

Post puts the message in the channel. After that the button reads Repost, and it edits the message you already posted instead of making a second one, so members keep the same message and their roles keep working. If that message was deleted in Discord, Repost quietly posts a fresh one. Posting saves any unsaved edits first, so what you previewed is what lands.

Warning

Discord only lets the bot hand out roles below its own. If a role in your menu sits above the Metryx bot's role, the click looks like it worked and the role never arrives. Drag the bot's role above everything you hand out.

Important

Managed roles are blocked, and a role carrying administrator or moderation permissions makes the editor warn you first: anyone who clicks the button gets that power. You read the warning, wait a few seconds, then accept the risk before it saves.

Leveling

Where to find it:SidebarUtilitiesLeveling

Leveling rewards the people who actually show up. Members earn XP for chatting and for time spent in voice, levels come from the XP they have collected, and you can hand out roles as they climb. The top of the page tracks Active members (how many are earning XP), Highest level reached, and Total XP awarded across the server.

Warning

Leveling is off until you turn on Give members XP for activity, and XP only counts from that moment. There is no backfill from past chat history, so turn it on before you announce it. If you are moving from another leveling bot, import your old XP instead (below).

The Leveling page itself is an overview: your settings at a glance, reward roles, data import, and the leaderboard. Everything is edited on its own page, so press Configure to change any of the settings below, and the X (or Esc) brings you back.

XP earning is where the rates live. Every message inside the window earns a random amount between Message XP (min) and Message XP (max) (15 to 25 out of the box), no more than once per Message cooldown (60 seconds), so nobody farms levels by spamming. Voice time pays Voice XP per minute (5) when the session ends. Curve factor scales how much XP each new level costs, where 1 is standard, and Base multiplier is a flat multiplier on all XP.

Level curve picks the shape of that cost. Standard makes every level cost steeply more than the last. Gradual charges a little more for the first few levels and a lot less for the high ones, so members who have been around for years keep climbing instead of stalling. Gradual is also the curve most other leveling bots use, so if you are importing XP from one of them, picking it means every member keeps the level they already had.

Note

Changing the curve, either the shape or the factor, does not touch anyone's XP. It recalculates what their XP is worth, so levels shift up or down the next time XP is awarded.

Level-ups can be announced in the channel they leveled up in, in a specific channel, by direct message, or not at all. Write the announcement as plain text or build a full embed, and use {user} to mention the member, {level} for their new level, and {xp} for their total XP. A Discord preview shows the result with the placeholders filled in.

Note

A Discord embed on its own never notifies anyone. If you announce with an embed and want the member pinged, put {user} in Message above the embed, which posts as normal text right above it.

Role rewards grant a role when someone reaches a level you pick. Keep every reward role decides whether they collect the whole ladder or only ever wear the highest one they have earned. Resync Roles reconciles everyone's reward roles against their current level, which is what you press after importing XP or changing the ladder. While it runs, a progress bar under the button fills in real time with live counts of roles added and removed, and the final tally stays on the page when it finishes. Leaving the page does not stop the run, and coming back picks the bar up where it is.

Warning

Reward roles above the Metryx bot's own role cannot be assigned. Keep the bot's role higher than anything you give out here. A reward role carrying administrator or moderation permissions also needs you to read the warning and accept the risk before it saves, because anyone who reaches that level gets it automatically.

Excluded channels and Excluded roles carve out where XP stops: nothing said in an excluded channel counts, and members holding an excluded role never earn any. Give a role its own boost under XP role multipliers, and when a member holds several boosted roles the highest one counts. Multipliers run from 0.1x to 10x, so a role can slow XP down as well as speed it up. They apply to voice XP too, not only messages.

Scheduled XP multipliers are timed events, like a double-XP weekend. Name one, set the multiplier, then pick Recurring (days of the week plus a from and to hour, including windows that run past midnight) or One-off (an exact start and end). Every window is read in your server's timezone, shown on the card.

Note

Boosts never compound inside a family, but the two families multiply. Metryx takes the single highest scheduled multiplier that is running right now, and the single highest multiplier from the roles the member holds, then multiplies both by your base multiplier. Two overlapping 2x weekends are still 2x, and two boosted roles are still whichever one is higher, but a 2x role during a 2x weekend on a 1x base is 4x. A role multiplier under 1 is a penalty and works the same way, though a member who also holds a boosted role keeps the higher of the two.

Data import carries XP over from another bot, MEE6 included. Upload a CSV with userId, guildId, and xp columns, or press Download template for the exact shape. Rows tagged with a different server are skipped, so a multi-server export cannot pollute your leaderboard, and each member's level is recalculated from their XP with your current curve. Set the curve before you import, so the levels land where you expect them to.

Important

An import overwrites, it does not add. Any member in the file has their XP replaced by the number in the file. Reward roles are not touched either, so run Resync Roles afterward to hand them out.

Top members ranks your server by XP right on the page. Turning leveling on also opens a Public leaderboard: a page anyone can open with no account, showing your server name, your reward ladder, and the ranked members. The button next to Top members copies you straight to it. Turn leveling off and the link stops working. Both boards only list members who are currently in your server. Someone who leaves disappears from the rankings, but their XP is kept, so they pick up right where they left off if they return.

Members do not need the dashboard for any of this. /rank shows their level, total XP, progress to the next level, and their place in the server, and takes an optional user to look up somebody else. /leaderboard posts the top members. /xp adjusts a member's XP by hand: pick the member and an amount, and tick remove to take it away instead of adding it. It needs the Manage Server permission. If the change pushes someone up a level, they get the same level-up announcement and reward roles they would have earned by chatting, once, for the level they land on.

Logging

Where to find it:SidebarUtilitiesLogging

Logging posts a running record of server activity to channels you choose. Turn on Log server events, pick a default channel, then enable the categories you want: Messages (deletions with the deleted content, bulk deletions with the channel and count, and edits with before and after), Members (joins with account age, and leaves), Voice (joining, leaving, and moving between voice channels), Channels (created and deleted), and Invites (created and deleted). Any category can post to its own channel instead of the default, so message logs can stay staff-only while joins go somewhere public.

Important

Deleted messages are logged with their full content, so route the Messages category to a staff-only channel.

Note

The bot can only show the content of messages it saw recently. A message posted before the bot's last restart, or long ago, is deleted silently rather than logged as an empty entry. Attachments are listed by count but cannot be recovered.

The Moderation cases section on the same page is the mod log channel, the feed of every ban, kick, mute, warn, and purge. It is the same setting you will find under Moderation → Settings: change it in either place and both update, because there is only one mod log.

Sticky messages

Where to find it:SidebarUtilitiesSticky messages

A sticky stays at the bottom of a channel: whenever people chat, the bot reposts it after your chosen delay. Write it as plain text or as an embed, and embeds can carry plain message text above them. One sticky per channel.

Embed sender

Where to find it:SidebarUtilitiesEmbed sender

Build rich Discord embeds with a live preview and post them to any text channel. An embed can also carry plain message text above it, and plain text works on its own too, so the same tool covers announcement embeds and simple messages alike. Saved embeds stay in your library so you can edit and resend them later.

Note

Send saves your edits first, so what you see in the preview is exactly what lands in the channel.