Skip to content

BlogGuides

Discord Giveaway Claims: Check the Account, Not the Name

Run Discord giveaway claims through tickets: match the winner's account rather than their name, set a deadline, and hand over the prize so it leaves a record.

Dani, Founder, AI Ticket Bot

9 min read

A giveaway bot's job ends when it posts "Congratulations" and a mention. Everything after that is left to your staff: checking that the person asking is the person who won, getting the prize to them, and showing later that you did. That gap is where giveaways go wrong, with a stranger wearing the winner's name, a winner who never turns up, or a gift code pasted where the wrong people can read it.

A Discord ticket bot closes most of that gap if you treat a claim as a proof problem rather than a support question: prove who is asking, prove the prize arrived, and keep the prize itself out of places it can leak. One word to keep apart: here, a claim is a winner asking for their prize. A staff member pressing Claim to take a ticket is a different thing.

Why should giveaway claims go through tickets and not DMs?

Because a ticket is a room you can check afterwards, and a DM is not. "DM a mod to claim" is the line scammers wait for: the moment a winner is announced, accounts wearing your staff's names and avatars message them first. A winner who knows claims only happen in tickets can dismiss every one of them.

Claim by ticket

  • The winner opens it from your panel
  • Staff are whoever is in the ticket with them
  • Everyone running giveaways sees the same room
  • Kept as a transcript when it closes

Claim by DM

  • Anyone can message the winner first
  • Staff and impersonators look alike
  • One moderator sees it
  • Nothing is kept on your side

A new claim ticket tells a scammer that somebody just won something, so two free settings are worth turning on: anti-sniping protection, which hides who opened a new ticket for its first few seconds, and a channel name without the member's username. Stopping spam tickets covers the first, ticket channel names the second. Then publish the rule that makes impersonation obvious: your staff never DM first.

How do you verify a Discord giveaway winner?

Match the account, not the name. Display names and server nicknames can be copied letter for letter, avatar included, and a username can be changed at any time. The account itself cannot be copied: Discord gives it a user ID that never changes. Your giveaway bot's win message mentions one account, and the ticket shows the account that opened it. The whole check is whether they are the same.

  1. Turn on Developer Mode

    In Discord, User Settings, then Advanced. It adds Copy User ID to every member's menu

  2. Copy the winner's ID

    Right-click the mention in the giveaway bot's win message. On a phone, tap it and use the menu on their profile

  3. Copy the opener's ID

    Do the same on the member the ticket's opening message mentions

  4. Compare the two

    The same ID is the same account. A different one is not your winner, however alike the names look

  5. Check your own rules

    If the giveaway needed a role or a minimum time in the server, look at their profile before anything is handed over

What to accept as proof, and what to refuse:

  • The mention in your giveaway bot's own win message

    It points at the account the bot actually picked

  • A screenshot of the win message

    Easy to edit, and it says nothing about who is sending it

  • The same name with a different avatar

    A matching name is exactly what an impersonator brings

Or skip the comparison by opening the ticket for them. /ticket open with open_for set to the winner files the ticket as theirs, and the bot sends them a direct message with a button into it. In the member picker, check the username under the display name, since usernames are unique. It needs the Open tickets for others permission.

Either way, the ticket bot does not know who won: ours has no link to your giveaway bot. The giveaway bot holds the result, the ticket holds the claimant, and a member of staff joins the two.

How should you set up a giveaway claim category?

As its own category, with the AI off and your giveaway staff pinged. Most servers need no separate panel: a Claim a prize category on the panel members already use is enough.

A claim category, setting by setting

AI
Off. A claim ends in someone granting a reward, a step the AI always hands to staff anyway
Staff role
The role that runs your giveaways
Ping staff on open
On, so a winner is not left waiting in a silent ticket
Form
Which giveaway they won, and where the prize should go. Forms are a Premium feature

Both switches are free on every plan. In the dashboard, open the panel, then the category: set AI to Off, and in its Advanced tab set Ping staff on open to On. With the AI off, that ping is the only thing that calls anybody into a new claim. Turning the AI off and staff pings cover both in full.

Two panel settings matter as well. Keep the member's mention in the opening message, because it is what your staff check, and keep channel names as ticket-{number}. And keep the form to what you need to deliver the prize: no home address, no payment details, because the answers are kept with the transcript.

One limit catches giveaway servers out. A member can have one open ticket per panel unless you raise it, and on the free plan one is the ceiling, so a winner with a support ticket still open cannot open a claim until it closes. On a paid plan, raise the limit or give claims a panel of their own. Opening a ticket covers the limit.

What happens if the winner goes quiet?

There are two clocks, and only one of them lives in the ticket. The first is your giveaway's: how long a winner has to open a claim before you pick somebody else. That rule belongs in the giveaway post, stated before the draw, and your giveaway bot's reroll is how you enforce it. A ticket bot cannot run it, because a winner who never opens a ticket has given it nothing to count.

The second clock starts when a winner has opened a ticket and stopped answering, usually after you asked for something you need to send the prize. For that one, ask to close with a deadline:

/ticket close-request
Asks the winner whether the ticket can close, with a deadline of 1 to 168 hours. The default is 24

Only the winner can answer it. Any message from them cancels the request, since they clearly still want the prize, and no answer by the deadline closes the ticket by itself. It is free on every plan, and on the dashboard's ticket page as Ask to close. Close requests covers the four ways one can end.

Before a quiet claim closes for good, write the outcome in the ticket: no reply by the deadline, prize rerolled. That line lands in the transcript, the one place you can point a winner who turns up a week later.

How do you hand over the prize safely?

Inside the ticket, and redeemed before the ticket closes. Whatever you send in a ticket stays in its transcript. That is what makes a ticket good proof, and it is what makes it the wrong place for anything that stays secret after it has been used.

Who can read a claim ticket's transcript

The winner
From the link in the message they get when it closes
Manage Server
Anyone who has it in your server
Your staff
Anyone whose staff role can read transcripts
Anybody else
No one. The link opens nothing unless you sign in as one of the above

Transcripts are kept for 90 days on the free plan and two years on paid plans. That decides how each kind of prize should travel:

Handing over each kind of prize

Nitro gift link or game key
Post it in the ticket and wait while the winner redeems it. Once used, it is worthless in the record
A role or a server perk
Grant it, then say so in the ticket so the record shows when
Money
Send it outside Discord and post only the payment reference in the ticket
A physical prize
Collect the address only if you are prepared to keep it as long as the transcript lasts

Insist on the redemption step. A code the winner redeemed and confirmed in the ticket makes the transcript both halves of the proof: what you sent, and that it worked. An unredeemed one sits readable in the record until the transcript expires.

Hand it over under your own name, not as Staff. An anonymous reply shows as Staff in the transcript, so if the winner later says it never arrived, the record would not show who sent it.

What can you show if a winner says it never arrived?

The transcript, if you did the last two steps. It shows the account that opened the ticket, what was sent and by whom, the winner's own confirmation, and when the ticket closed. Close soon after the winner confirms: a message deleted while the ticket is open is gone from the transcript too, and an edited one keeps only its last wording.

It expires, though. Once the retention window ends, the transcript and the form answers are gone for good. If you might need the proof later than that, export the ticket from the dashboard first and keep the file yourself. Exporting tickets covers what the file holds.

Where a ticket bot is the wrong tool for giveaways

The honest list.

Good fit

  • A private room per claim, opened by the winner's own account
  • A record of what was sent and when, readable by the winner and your staff
  • A deadline on a quiet claim, free on every plan

Not the right call

  • It does not run giveaways, pick winners or reroll them
  • It cannot tell you whether the person claiming is the person who won
  • It does not check account age or how long someone has been in your server
  • It does not deliver anything. A person pastes, grants or ships the prize
  • Transcripts expire: 90 days on the free plan, two years on paid plans

If the prize is something a bot can grant by itself, such as a role, there may be nothing to claim at all, and a ticket only adds a step. For anything a person hands over, the draw and the claim are two jobs, and two tools leave room for somebody to check the second.

Frequently asked questions

Compare accounts, not names. The giveaway bot's win message mentions the winner, and the ticket shows the account that opened it. With Developer Mode on, copy the user ID from both and check they match. Display names and nicknames can be copied exactly, so a matching name proves nothing, and neither does a screenshot of the win message.

By ticket. Scammers watch for winners and message them first while wearing your staff's names, so a server where claims only ever happen in a ticket gives the winner a simple test for every DM. A ticket also shows your staff the account that opened it and keeps the whole exchange as a transcript.

Ours does not. It has no giveaway command, does not pick or reroll winners, and has no link to your giveaway bot, so it does not know who won. The giveaway bot holds the result, the ticket holds the person claiming, and a member of staff checks that the two are the same account.

Whatever your giveaway post says, stated before the draw, because a deadline announced afterwards reads as moving the goalposts. That rule is enforced with your giveaway bot's reroll. Once a winner has opened a ticket and gone quiet, a close request can give them a deadline of up to seven days before the ticket closes itself.

Yes, if it is redeemed before the ticket closes. Everything sent in a ticket is kept in its transcript, which the winner and your staff who can read transcripts can open later. A redeemed link is worthless in that record and proves the prize arrived. An unredeemed one stays readable there until the transcript expires.

Check which one is the account the win message mentions. Only one of them can be, whatever their names and avatars look like. Close the other ticket with a short note saying why, so the decision is in its transcript if that person argues about it later.

It’s not just an AI, it’s your AI.

See it on your own server.

Add the bot free, teach it a few of your most common answers, and watch it clear the repeat tickets on its own.

Free plan, no card. Your first panel starts 14 days of Premium.