Tickets & moderation for Discord

Support that starts where the problem is.

Relay turns any message, command or mention into a private ticket: one thread the member and your staff share, opened the moment they ask. No panels. No channel per ticket. No leaked staff notes.

Already added Relay? Sign in with Discord to set it up. New here? Add it first — the dashboard unlocks once Relay is in your server.

#0042 · Lost Items / Refund · player1
Private thread · player1 and your staff
🟢 Open 🙋 Claim 📋 Dossier 🔒 Close
Message #0042
#mod-log
  1. 1 A thread opens, just for them
  2. 2 Staff answer by typing
  3. 3 The dossier stays staff-only
  4. 4 Actions land in your mod log
0 channels created per ticket 1 channel for every ticket 6 ways in, no panel needed ∞ restarts survived

Entry points

Every door opens a ticket.

Nobody hunts for a "create ticket" button. Members ask for help from the message, the person or the conversation that caused it, and the context comes along automatically.

Right-click any message

Get help with this opens a ticket with that exact message attached: author, channel, jump link and attachments, preserved even if it's deleted later.

One button, anywhere

Post a Get support button in any channel. Pressing a button needs no permission, so it still works where slash commands are switched off.

Mention it anywhere

A ticket opens from the message itself. Relay's reply tidies itself away seconds later.

Help channels escalate

Unanswered after a few minutes? The asker gets a quiet button to pass it to staff privately.

/support, privately

A private form with category, subject and details. Nothing shows up in the channel.

Staff can convert

See a problem play out in public? Turn the message into a private ticket for its author.

For your staff

One channel. Zero channel sprawl.

Every ticket is a private thread in one channel, holding that member and your staff. Nothing is created per ticket, nothing is deleted on close, and the thread list is the queue.

  • Named so you can scan them. #0042 · Lost Items · player1, renamed if the category changes.
  • Answer by typing. You are in the room, so you can mention the member and a channel or role you name actually works.
  • Controls in the thread. Claim, priority, close and the member's dossier, all staff-only — the dossier answers you alone.
  • Staff is a list of roles. Every tier you already have, and none of them need a Discord permission to work tickets.
  • Hand one category to a helper. The player running your shop answers those tickets in their own channel, sees no others, and never sees anyone's ban history.
  • Evidence that survives. Attachments are re-uploaded, because Discord links expire.
  • Closed means closed. The member gets the reason and a transcript is archived. The thread archives but doesn't lock, so a reply inside your reopen window brings it back.

Staff-only

Everything staff need, where nobody else sees it.

The member is in the thread with you, so anything staff-only is answered only to the person who asked. Press Dossier and you get their account age, ticket history, warnings, timeouts and bans, plus the moderation actions — and the member sees nothing at all. No second channel, no mode to get wrong, no note to leak.

Warnings, timeouts, kicks, bans, reports and every automatic action are recorded in your mod log, which members can't see. That's the paper trail, kept apart from the conversation rather than hidden inside it.

Reports

Reports that stack up, not pile up.

Every report about the same member lands in one post. The same message reported ten times shows up once, with "Reported by 10".

  • Snapshotted instantly. The message is copied the moment it's reported, before the author can delete it.
  • Reporters stay anonymous. Only staff see who reported. Reporters can add details later.
  • Follow up in one click. Open a private ticket with any reporter straight from the report.
  • Closure without gossip. Reporters hear it was reviewed, never what happened.

Built for real servers

The edge cases are handled.

📭

DMs closed?

Doesn’t matter. The ticket is a thread in your server, so everything your staff say reaches them either way. The only DM a ticket sends is a nudge — it closed, or it’s about to — and missing that costs them nothing.

🧭

In several servers?

Nothing to get confused. Each ticket is a thread inside the server it belongs to, so a message can only ever reach that server’s staff.

🧯

Spam-proof

A cooldown on new tickets, one open ticket per member, and duplicate reports merged automatically.

🔁

Restart-proof

Every timer lives in the database, so a restart never loses a scheduled job or a conversation.

📎

Nothing expires

Attachments are copied into the ticket the moment they arrive, because Discord links don't last.

🛡️

Private by design

Relay only stores what's part of a ticket or report. Your mod log and archive are visible to your staff role alone.

Staff and moderation toolkit, built in

🙋 Claim & assign📂 Transfer🚨 Priority pings⏰ SLA reminders 🧩 Snippets🕶️ Anonymous replies👥 Shared tickets⏳ Auto-close🔁 Reopen on reply📋 /ticket status ⚖️ Numbered mod cases🗂️ Member dossiers⏲️ Temp bans & timeouts🤖 AutoMod logging 🗄️ HTML transcripts⭐ Member ratings📊 /stats🗓️ Weekly summary

Security, built in

✅ Join verification🔢 Captcha, emoji or your own question🚨 Raid alerts 🔐 One-press lockdown🍯 Do-not-post channel🚪 Minimum account age

Shipping next

📝 Per-category ticket forms💡 Answers from your own closed tickets🌍 Two-way translation

Setup

Live in about a minute.

  1. 1

    Add Relay

    Invite it to your server with one click.

  2. 2

    Run /setup

    Pick your staff role. Relay builds the channel your ticket threads live in, your mod log, the transcript archive and a set of categories.

  3. 3

    That's it

    Members use /support, the button, a mention or right-click. Each opens a private thread they share with your staff. Answer by typing in it.

FAQ

Questions, answered.

Is there a ticket panel?

You don't need one, but you can have one. Relay's entry points work without a panel; there's also an optional Get support button you can post in any channel. It's worth it in servers that block slash commands in chat, because pressing a button needs no permission at all.

Do members need to set anything up?

No. They press the Get support button, use /support, mention Relay, or right-click a message. The ticket opens as a private thread only they and your staff can see, and that is where the whole conversation happens.

Where does the member talk to staff?

In a private thread holding them and your staff, created with the ticket. Nobody else in the server can see it. Because your staff are standing in the room rather than relaying through a DM, they can mention the member, and a channel or role named in a reply actually resolves. A ticket never DMs to hold the conversation: the only DM it sends is a nudge saying it closed, or is about to. (Moderation reasons and verification are DMed too, but those aren’t tickets.)

Can the reported member see who reported them?

Never. Only staff see reporters. Reporters are told when a report was reviewed, but never the outcome.

Do staff have to type a command to answer someone?

No. Staff are in the ticket's thread, so they answer by typing in it, the way they would talk to anyone. /areply and /snippet are there for sending as Relay rather than as yourself, which is how an anonymous reply still works.

Can a staff note leak into the ticket?

There are no notes in the ticket to leak. The member is in the thread with you, so Relay never puts staff-only text there: the dossier is answered privately to whoever pressed the button, and warnings, bans and reports are recorded in your mod log, which members can't see. Anything you actually type in the thread, you typed to them — which is the point.

Does Relay create a channel for every ticket?

No. Every ticket is a private thread inside one channel, so that single channel covers every ticket you will ever open. Discord caps a server at 500 channels, which is why bots that make one per ticket have to delete them — and delete the conversation with them. Relay keeps the thread.

Can banned members appeal?

Not through Relay. A ban appeal needs a way to reach someone who isn't in your server, and every ticket is now a thread inside it. If you take appeals, you'll want a form or a second server for them. Unbanning is still one command.

What does Relay store?

Only what's part of a ticket or report: the conversation, snapshots of reported or attached messages, and your server's settings. Nothing else is saved.

Give your members a door,
and your staff a room.