Guide
Everything you can set up with Packet, plus the message variables you can use in welcomes, announcements, and more. New here? Start with About for the big picture, then come back for the how-to.
Features
Set every one of these up in the Configure editor. The section to open is noted with each. Then preview the change and apply it. (You can also author any of them in the blueprint directly, or with the AI generator.)
Roles & permissions
Self-serve roles
Channels
Welcome & onboarding
Community tools
Leveling & economy
Game servers
Safety & moderation
Other features
One blueprint: configure, plan, apply.
Your server is described by a blueprint — one document covering roles, channels, permissions, and Packet’s own features. Edit it on Configure, preview on Plan, then Apply. Nothing changes until you hit Apply, and Packet takes an automatic backup first.
Four steps, and the same four every time: start from a template or your own server, turn on what you need in Configure, review the plan, then apply.
Everything you can set up, grouped to scan.
Build these in the Configure editor, then apply. You can also write any of them in the blueprint directly, or with the AI generator.
- Hierarchy, colors, per-role permissions. Bands keep roles grouped and ordered; channel overwrites written for you.
- Name a set of permissions once and reuse it on any role or any channel. Edit the preset later and every place that uses it follows.
- Self-serve pickers: members add or remove their own roles with buttons or a dropdown. Auto-assign on join, cap a role, or make a pick final.
- New members press Verify, answer a short question, or wait for staff before they get your join roles. Packet never kicks anyone on its own.
- Color & activity rolesMembers pick a name color from a palette or any hex; hoisted roles auto-apply while playing a game or using an app.
- A role held while a member sits in a voice channel, and taken off when they leave. Open a text channel only to the people in a call.
- Roles restored on rejoin; staff grant auto-expiring roles via /temprole.
- Roles you earn, pick or buyRoles arrive from more than a picker. Onboarding answers grant them, a level can hand one out, the shop sells them for coins, inviting members can earn one, and a creator wears a live role while streaming.
- Channels & categoriesText, voice, forum, announcement, and stage channels, created, renamed, moved and kept in sync. Rename anything and every reference follows.
- A live number at the top of your channel list, like your member count or the players on your game server. Packet keeps it up to date.
- Point Discord’s rules, community-updates, and safety-alerts designations at channels by name, and Packet keeps them attached through a rename or a move.
- Point Packet at a hub and it opens rooms on demand: a numbered set that always keeps one spare, or join-to-create rooms with a control panel for their owner. Empty rooms clean themselves up.
- A board of the voice rooms with space right now. Members press one button to say they want a group, or check the list privately with /lfg.
- Build Discord’s “Customize Your Server” wizard: questions whose answers grant roles and unlock the channels that go with them, plus the channels every new member lands in.
- Join, leave, and ban messages: plain text, a rich embed, or both. Optional pinned welcome panel and welcome DM. Uses {user}, {memberCount}, and more.
- Discord’s invite-time welcome screen and the embeddable server widget, both kept in sync with a copy-ready embed builder.
- See which invite brought each member in and who invites the most. Reward inviters with a role, and hear about a burst of joins from one invite.
- Post on a schedule, every few hours or on set days and times in your time zone. Plain text or an embed, with a Send now button.
- Tell Packet when your members are around. Posts it makes on a timer wait for those hours instead of pinging people in the middle of the night.
- Members ask Packet to remind them of something later with /remind. It comes to their DMs, or to the channel where you allow it.
- Set up your server’s events once, like a game night every Friday. Packet keeps the next one listed in Discord’s Events tab, takes sign-ups, lets members vote on the time, and can sort people into teams.
- Members save their birthday, month and day only. On the day Packet posts your message and can give them a birthday role.
- Start a giveaway members enter with one press. Choose who may enter, give some members bonus entries, and replace a winner who never claims.
- Announce when a creator goes live or posts on Twitch, YouTube, Kick, Steam, Bluesky and more, with an optional 🔴 Live role while they stream. Reddit stops its feeds on 13 November 2026, after which Packet can no longer post Reddit alerts, and subreddit moderators can use Reddit's own Discord Relay app.
- A live status card for your game server: players online, the map, a copy-ready connect address. Packet re-checks on a timer and edits the same message in place, and says so plainly when it cannot reach the server.
- Once a week Packet posts one summary in a staff channel: members joined and left, applies, tickets, who earned the most, and one feature to try.
- Opt in to Packet’s own announcements, new features and fixes, in a channel you choose.
- Members vote for Packet with /vote and claim coins for it. A board in your server shows who voted in the past day, naming only the members who chose to be named.
- Packet periodically opens a poll of the top posts, announces the winner, and can run a follow-up “should we build it?” vote.
- Post and pin a rules / how-it-works thread, archive stale threads, ping a role when a poll opens; configure tags and guidelines per forum.
- Make your own slash commands, like a rules command or one that answers with your game server’s address. A command can give or take a role, and can answer a message that says your phrase.
- Pick a channel and Packet publishes each new announcement, adds your reactions, opens a thread on each new message, or keeps a sticky message at the bottom.
- Have Packet delete messages in a channel a set time after they are sent, from a few minutes up to 7 days. Pinned messages stay unless you say otherwise.
- Members use /afk to say they are away. When someone mentions them, Packet replies with their reason, and their next message clears it.
- List the words and pick the channels. When a member says one, Packet adds one to their count in the swear jar, and can charge a small fine in your server’s own currency.
- Warn, mute, kick, and ban from /mod with numbered cases and an escalation ladder; Discord’s own actions and AutoMod hits feed the same record. Members can report a message to staff, if you turn it on.
- Keyword, username, profanity, spam, and mention-spam filters from your blueprint, with per-rule exempt roles/channels and actions.
- A panel opens a private, staff-only help room, and Packet writes the permissions so it can’t leak. Triage in Discord or on the dashboard.
- Post a form with an Apply button. Each application lands in a staff channel to accept or deny, and accepting can give a role.
- Mirror joins, leaves, role changes, bans, and edits to a log channel and a dashboard activity feed.
- Leveling & XPMessages and time in voice earn XP, with cooldowns and a daily ceiling so nobody can farm it. Hand out a role at a level (free, stackable, and removable), post a self-updating leaderboard, and let staff give awards.
- Members design their own rank card, set a birthday and quiet hours once for every server, and see or delete everything Packet keeps about them with /privacy.
- A spendable currency alongside XP, earned the same way and topped up by a daily claim that grows with a streak. Members spend it on roles in a shop you stock, and check a balance and a full history.
- Members spend toward a shared goal together, and Packet announces the moment it is reached. If it is cancelled or a deadline passes, everyone gets their coins back.
- The ArcadeCoinflip, slots, roulette, blackjack, mines and more. Every game is off until you switch it on, and all share one set of wager limits. Trivia earns instead of wagering, duels stake two members against each other, party games stake nothing, and the house takes no cut.
- House games feed one growing prize fund, won outright by the top result on the slots, the spinner, or a scratch card. The same fund pays a scheduled tournament and a ticketed lottery draw.
- Run more than one server? Link them so members build one combined level and rank across all of them, on top of what they earn in each. Linking is mutual, so nobody can attach a server to your group without your agreement.
- Watches for an account deleting channels, roles or members too fast, and for a flood of new joins, and alerts you at once. The Safety page holds the server freeze and a guided recovery.
- Scam-link blocking, message filters, flood guard, automatic slow-mode, spam watch and a honeypot channel. None of them bans, kicks or deletes a member.
- Keep copies of your ban list, so bans a raid lifted can be put back, and back up the roles your members hold.
- Back up your server’s structure and Packet’s settings on a schedule, keeping the most recent N. If the server suddenly loses many roles or channels, the backups from just before it stay until they’re 30 days old.
- Automated snapshots can’t be deleted manually, so your safety net stays intact.
Drop a variable in — Packet fills it in on send.
Usable in any Packet-posted message (welcomes, scheduled messages, forum pings, first posts). Case-insensitive; anything unrecognized is left exactly as you typed it.
{user}Clickable mention (pings them){user.name}Display name (nick / global){user.tag}Their @handle{user.avatar}Avatar image URL — use in an embed image{server}Your server’s name{server.icon}Your server’s icon URL{memberCount}Total members (e.g. 1,234){memberCount.ordinal}As a rank (e.g. 1,234th){forum}The forum’s name{winner}The winning post{votes}Its vote count{link}Link to the post{reason}The ban reasoncase-insensitiveAnything Packet doesn’t recognize is left exactly as you typed it. In an embed’s title, author, or footer, mentions don’t render — use {user.name} there instead of {user}.
How Packet works, in one minute
Your server is described by a blueprint: one document covering your roles, channels, permissions, and Packet's own features. You edit it visually on the Configure page, preview exactly what will change on the Plan page, then Apply it to your live server. Nothing changes until you hit Apply, and Packet takes an automatic backup first.
- Invite Packet and pick your server.
- Build a blueprint: write one from scratch, generate one with AI, or pull your existing server in as a starting point.
- Configure it visually (or edit the JSON directly). Configure is organized into the same sections as this guide, with a search box, so you can go straight to the one you need.
- Plan to preview every change, line by line, then Apply.
A first blueprint, worked through. Say you invite Packet into a small gaming community with no structure yet. Pulling the server in gives you a blueprint that matches what's already there, roles, channels and all, so nothing changes yet and you're never starting from a blank page. From there you might turn on the Role Caller for game-preference roles, write a welcome message, and switch on leveling. Each of those is a few minutes in Configure. When you're ready, the Plan lists exactly what will change (new roles, new channels, updated permissions) before any of it touches your server, and Apply pushes it live.
From Discord, too. Staff can run the same flow with /architect. /architect plan
previews a blueprint's changes, /architect apply applies one (a snapshot is taken first),
/architect backup takes a snapshot now, and /architect template use starts a blueprint
from a template. /architect status, /architect blueprints and /architect snapshots
show where things stand. Anyone can run /guide to see what Packet does and which
features are switched on in the server they're in.
Made a change you didn't want? Undoing it is the same flow as making it. Open Snapshots, find the backup from just before the change (Packet takes one automatically every time you Apply), and use Restore as blueprint. That turns the snapshot back into a blueprint you can Plan and Apply, so putting your server back is exactly as safe, and exactly as previewable, as changing it was.
What happens to things Apply removes? In Additive mode nothing is ever removed, only added and updated. Full mode matches your blueprint exactly, so a channel or role that isn't in it gets removed, but by default Packet archives it instead of deleting it. A removed channel moves into a hidden Pending deletion category, and a removed role is renamed, stripped of its permissions, and kept with its members still in it, so you can review and delete them yourself in Discord whenever you're ready. Only the server owner can switch a server to permanent deletion instead, on its Status page.
Want Packet to apply changes on its own? A blueprint can be put on a schedule, right from its own page: confirm once what you're arming, and Packet applies it automatically from then on, on whatever cadence you set. If a scheduled apply would ever do more than you originally agreed to, Packet pauses it and waits for you rather than run it blind. See everything your server has scheduled, across every feature, on the Schedules page.
Step by step
Start from a template
- Invite Packet and pick your server, as How Packet works describes.
- Choose a template as your first blueprint instead of starting from a blank page, as About describes.
- Open the blueprint in Configure and change what you want, using the feature pages to find each section.
- Preview every change on the Plan page, then Apply it, as How Packet works describes.
Set up tickets
- Define the roles your staff will use, as Roles, permissions & bands describes.
- Post a panel with a button that members click to open a ticket, as Support tickets describes.
- Set the staff roles, an auto-close timer, a survey and any questions to ask first, as Support tickets describes.
- Decide how moderation actions and server activity are recorded, as Moderation and Server logging describe.
- Preview the change on the Plan page, then Apply it, as How Packet works describes.
Welcome new members
- Set up Community first, because Discord wants it before the onboarding wizard, as Community channels describes.
- Write the questions new members answer and choose the channels they land in, as Onboarding describes.
- Offer roles that members can pick for themselves, as The Role Caller describes.
- Write the message Packet posts when someone joins, and an optional welcome DM, as The Greeter describes.
- Set the welcome screen people see when they follow an invite, as Welcome screen & server widget describes.
- Preview the change on the Plan page, then Apply it, as How Packet works describes.
Reward your members
- Turn on leveling and choose how members earn XP, as Leveling & XP describes.
- Hand out roles at the levels you pick, as Leveling & XP describes.
- Add coins and stock the shop, as Coins & the shop describes.
- Switch on the games you want and set the smallest and largest wager, as The games arcade describes.
- Add a prize pool, a tournament or a lottery, as Prize pools, tournaments & the lottery describes.
- Preview the change on the Plan page, then Apply it, as How Packet works describes.
Your dashboard, page by page
Every page of a server's dashboard, and what you do there. Who sees which page follows their Discord permissions in that server, and the owner can narrow it further on the Access page.
- Servers lists your servers: every server where you have Manage Server, and whether Packet is in it yet.
- Blueprint is the blueprint itself, as JSON, with snippets and a reference panel beside it. Pull your current server in, import from another server, save a draft only you can see, or publish it as the server's blueprint. Its Schedule panel arms a blueprint to apply on its own: on a schedule, when a goal is reached, or when pressed in Discord.
- Configure edits everything in this guide, section by section.
- Plan shows every change an apply would make, setting by setting, before anything moves.
- Apply pushes the blueprint live, with a snapshot first. Changes that can't be undone, like deleting a channel with messages in it, ask you to type a confirmation.
- Status shows how the server is set up, recent applies and recent activity.
- Analytics charts your member count, joins and leaves per day, activity and retention.
- Schedules lists everything this server applies or posts on its own.
- Posts keeps giveaways, announcements and polls you save once and use again: post one now, schedule it, or have it repeat.
- Images holds your server's image library. Upload an image once (PNG, JPEG, GIF, WebP or AVIF, up to 1 MB) and use it in Configure for emoji, stickers and role icons.
- Tickets is the full support console for this server, and the account-level Tickets hub covers every server you run.
- Snapshots lists your backups. Take one now, restore one as a blueprint, or walk through getting the server back to one. The owner also finds member role backups here.
- Changes in Discord shows what changed on the server since your last apply, so you can keep what you want in a new draft of your blueprint. Nothing changes until you apply.
- Safety is home to raid protection, the server freeze, recent incidents and the recovery walk-through.
- Bans keeps copies of your ban list and your own ban list, as Ban lists & recovery describes.
- Access is where the owner decides who can use each Packet power: Discord default, Only me, Only these roles, or, for some powers, These roles too. A limit only narrows what Discord already allows, except where the owner chooses These roles too.
- Templates holds ready-made starting points: full servers and add-ons. Packet ships ten, five starter servers (a creator server, a gaming community, a minimal community, a social hangout, and study and work) and five add-ons (the Arcade, dynamic voice, support tickets, leveling, and a game server board). The Arcade add-on puts your server on the shared economy, and your server keeps its own levels.
- Settings holds your own preferences, which follow your account and change nothing for anyone else, and lets you download or delete the data Packet holds about you.
- My profile is your Packet profile, as Profiles, cards & privacy describes.
Message variables
Almost everything Packet posts can carry variables: welcomes, scheduled messages, forum posts and announcements, level-up messages, a ticket panel's opening message, social alerts, custom command replies, and game server boards. You type them into the field, and they're filled in when the message is sent. They're case-insensitive, and anything Packet doesn't recognize is left exactly as you typed it, so a typo shows up rather than quietly vanishing.
| Variable | Becomes |
|---|---|
{user} / {user.mention} | A clickable mention of the member (and it pings) |
{user.name} | Their display name (nickname / global name) |
{user.username} | Their Discord username, with no @ in front |
{user.tag} | Their @handle |
{user.id} | Their numeric Discord ID, handy in a staff or log channel |
{user.avatar} | Their avatar image URL (use in an embed image field) |
{server} / {server.name} | Your server's name |
{server.icon} | Your server's icon URL |
{memberCount} / {server.memberCount} | Total members (e.g. 1,234) |
{memberCount.ordinal} / {server.memberCount.ordinal} | Member count as a rank (e.g. 1,234th) |
Where each one works. The {user.*} group needs somebody to point at, so it only
fills in where a message is about one member: the Greeter's welcome, goodbye and ban
messages, the welcome DM, the birthday message, and a custom command's reply, where it is the
member who ran it. Everything else can use {server} and {memberCount}.
The pinned welcome panel is a single post that Packet edits rather than a message per
member, so put {server} there and save {user} for the join message.
And each feature adds its own on top.
| Where | What it adds |
|---|---|
| The Greeter | {rolepicker}, a line pointing at whichever channel your Role Caller menu sits in, on the join message and the welcome DM only. It fills in as nothing at all if you haven't set one up, so the sentence around it still reads fine. A welcome message and the welcome DM also get {level}, {rank} and {coins}, explained just below. A ban announcement also gets {reason} |
| Birthdays | {level}, {rank} and {coins} in the birthday message, explained just below. {user} is the member whose birthday it is |
| Custom commands | {channel}, a link to the channel the command was run in, and {pick}, the text a Pick at random step chose. Each option's answer shows where you write {option. and the option's name, then }. The reply also gets {level}, {rank} and {coins} for the member who ran it |
| Forums | {forum}, the forum's name. A winner or veto announcement also gets {winner}, {votes} and {link}. A poll's question takes {forum}, and the follow-up vote's question and message also get {winner} |
| Leveling | {level}, {xp} and {rank} in the level-up message |
| Scheduled messages | {question}, in a question of the day: the next question from its list |
| Support tickets | {ticket}, the ticket's number, and {opener}, a mention of whoever opened it, in a panel's opening message |
| Dynamic voice channels | {game}, what the room's owner is playing. Name the room after it, and on a join-to-create hub you can put it in Game this hub is for as well, so each room is grouped under its own game on the looking-for-group board |
| Social alerts | {creator}, {title}, {url}, {game}, {viewers}, {platform}, {thumbnail} (the post's own image), and {mention} (the ping role, or nothing when there isn't one) |
| Game server boards | A whole vocabulary of its own, below |
Telling a member where they stand. Put {level}, {rank} or {coins} in a welcome
message, the welcome DM, the birthday message or a custom command's reply and Packet looks up
the member the message is about, the one who just joined, whose birthday it is, or who ran the
command, and fills in their numbers. Leave them
out and nothing is looked up. On a server that shares the Packet-wide economy these are the
member's numbers across all Packet servers, unless your server keeps levels to itself, and then
level and rank are the member's numbers on your server. A member from other Packet servers brings
theirs, and the Packet-wide numbers show only for members who chose to be named on leaderboards
shared with other servers. On any other server they are the member's numbers on your server.
Where Packet has no number to show, you get a ? instead: the member kept their cross-server
numbers private, they haven't earned anything yet ({rank}), or Packet couldn't look them up in
time. The message posts either way. A member who asked Packet to stop counting them keeps what
they already have, so their numbers show as usual, and {rank} is where they would stand among
the members Packet still counts. Goodbye and ban messages don't get these.
Game server board variables
A board's card is yours to lay out, and these are the pieces you build it from. The first group stays on the card whatever happens, because it's either something you typed or something Packet knows from its own record of checking. The second group comes from the server itself, so when Packet can't reach it those pieces drop out rather than showing a stale or made-up number.
| Always on the card | Becomes |
|---|---|
{boardname} | The name you gave this board |
{statusemoji} | 🟢 when the server is up, 🔴 when it isn't |
{status} | Online, or a short line saying Packet couldn't reach it |
{lastchecked} | When Packet last got an answer, as a live "5 minutes ago" |
{uptime} | How much of the time Packet has been able to reach the server |
{uptimesince} | When Packet started keeping that count |
{uptimebar} | The same figure drawn as a bar |
{peakplayers} | The busiest Packet has seen the server since then |
{voicecount} | How many people are in voice near this board right now (the voice channel you pointed the board at, or every voice channel in its category). Drops out when there's no voice channel there to count |
{game} | The game this board is for |
{address} | The address you configured |
{port} | The port you configured |
{connect} | Address and port together, ready to copy |
{password} | The join password you set for this board. Anyone who can read the channel sees it |
| Only when the check succeeds | Becomes |
|---|---|
{players} | How many people are on right now |
{maxplayers} | How many slots the server has |
{playerbar} | Players against slots, drawn as a bar |
{map} | The map the server is running |
{servername} | The name the server calls itself |
{version} | The version the server reports |
{passwordprotected} | Whether joining needs a password |
{longestsession} | How long the longest-running session has lasted |
{latency} | How quickly the server answered |
A board you've only just set up hasn't been checked yet, so the uptime and last-checked pieces have nothing to show until the first check goes out. Anything left unfilled shows as the variable you typed, which is your cue that it isn't available on that card.
Mentions: pinging roles and linking channels
- Type
@RoleName(the exact role name) to ping a role.@everyoneand@herework too. - Type
#channel-name(the exact channel name) to turn it into a clickable channel link.
One catch: Discord only renders mentions in a message's body and inside an embed's
description or field values, not in an embed title, author, or footer.
In those spots, use {user.name} (a plain name) instead of {user} (a mention), or
they'll show as raw code. (Packet handles this for you in titles: {user} there shows
the name automatically.)
Rich embed cards
Greeter messages, scheduled messages,
forum posts, game-server boards, and
social alerts
can include a rich embed: a title, description, accent color, author line, thumbnail and
banner images, fields, footer, and a timestamp. Set {user.avatar} as the thumbnail for a
welcome card, use {memberCount} in the footer, and so on. Leave the embed blank for a
plain-text message.
Adding your own image
The thumbnail and banner take a link to an image, not an upload, so the image needs to live somewhere online first. Two easy options:
- Discord itself. Drop the image into any channel (a private staff channel is fine), then right-click it and Copy Link. You already have this, and it's the quickest.
- An image host like Imgur. Upload, then copy the direct image link, the one
that ends in
.pngor.jpg(e.g.i.imgur.com/abc123.png), not the page the image is displayed on. This is the single most common mistake: a page link shows nothing.
Any public link straight to an image file (.png, .jpg, .gif, .webp) works. Keep it
reachable: the card links to your image rather than keeping a copy, so if you delete
it or make it private, the picture stops showing on the card.
Your server's icon, banner, emoji and stickers work differently: upload those in Configure → Emoji & stickers, and Packet sets them on Discord when you apply.