> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Anti scam

> Spots hijacked accounts posting the same scam in many channels, takes the messages down, can mute or ban the account and alerts your staff.

Anti scam is for the most common spam of today: a real member's account is stolen and used to post a fake giveaway in every channel. Turn it on in any public or large server. It starts by only alerting the staff; once you trust it, let it take the messages down and mute, kick or ban the account, and undo it with one button if it was wrong.

## The scam

Almost always a **hijacked account** that sends a fake image (a MrBeast giveaway, a "withdrawal" of USDT, a casino promo) to many channels at once, with a link to a site that asks for a "fee" or steals data. The messages come from real accounts, so the people reading them trust them.

Discord does not let a bot read the text inside a picture, so Anti scam looks at **how the scam behaves**:

* **Same message in several channels**: the same picture (same file name and size) or the same text in 3 or more channels within 30 seconds. The most reliable signal and the one that has almost no false positives.
* **Scam wording**: lines like MrBeast, claim your reward, USDT, withdrawal, casino, promo code, free credits. One kind of word alone is not enough; a celebrity plus another kind, three kinds, or two kinds with a picture or link is.
* **New accounts**: an account younger than 72 hours that sends a picture or link with scam wording or pings everyone.

## Turning it on

It starts **off**, and when you turn it on it only **alerts the staff**, so you can watch what it catches for a few days before it acts alone.

```javascript Syntax theme={null}
!antiscam status
!antiscam set [enabled] [action] [mute_minutes] [delete_messages] [delete_minutes] [channels] [window_seconds] [scan_text] [scan_new_accounts] [dm_user] [alert_channel] [ping_role]
!antiscam exempt add|remove [role] [channel]
!antiscam exempt list
!antiscam log
```

```javascript Example theme={null}
!antiscam set --enabled true --action timeout --alert-channel #mod-alerts --ping-role @Staff
```

> [accordion] !antiscam status
>
> ![liam runs antiscam status: on, mutes for 60 minutes, same message in 3 channels within 30 seconds, alerts ping Moderators, 7 caught](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-status.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=67333ed23f173e935e8c78582b991b8e)
>
> In Discord: how the anti scam is set.

> [accordion] !antiscam set
>
> ![liam turns the anti scam on with a 60 minute mute, alerts in staff-alerts and a ping to Moderators](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-set.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=5c2400460ed97e39b427ee9a21770e97)
>
> In Discord: turned on with a mute, the alert channel and a role to ping.

> [accordion] !antiscam exempt add
>
> ![liam exempts Helpers from the anti scam](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-exempt-add.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=e86cc49f355dc133b246b6f7fa58cec6)
>
> In Discord: a role that is never checked.

> [accordion] !antiscam exempt remove
>
> ![liam makes the anti scam check bot-commands again](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-exempt-remove.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=b2bf571e6f3a7bbb49638533f2d6d5a1)
>
> In Discord: a channel checked again.

> [accordion] !antiscam exempt list
>
> ![The exempt list: the Moderators role and the bot-commands channel](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-exempt-list.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=845989c083d66ea3c0e1208717a5faf8)
>
> In Discord: the roles and channels never checked.

> [accordion] !antiscam log
>
> ![kira opens the anti scam log: three catches with their signal, channels, messages deleted and action](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-log.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=858e67b5aa4edd64d9503efd91004d2c)
>
> In Discord: the last scams caught.

`action` is `alert` (default), `timeout` (mute, 120 minutes by default), `kick` or `ban`. The command needs **Manage Server**, and letting it punish needs **Administrator**. `!scam` and `!mrbeast` are other names of `!antiscam`, and `!antiscam` alone shows the status.

![shi, who can manage the server but is not an administrator, tries to set the ban action and Petto refuses](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-needs-admin.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=2ca0281012ac0b2c576195b08e8747de)

In Discord: letting it punish is refused without Administrator.

## What it does when it catches one

1. Takes down what the account sent in the last minutes, **in every channel**.
2. Applies the action. Mutes, kicks and bans make a normal case (source "antiscam") that shows in the case log and the sanctions log.
3. When it mutes, kicks or bans, sends the account a DM saying it may be hacked, with what to do (change the password, turn on two-factor, remove unknown apps, log out of all devices).
4. Sends the staff an alert with three buttons: **Undo** (lifts the mute or the ban), **Ban** and **Not a scam**. It can ping a role.

![An anti scam alert that pings Moderators, with the reason, five messages taken down, a 60 minute mute and the Undo, Ban and Not a scam buttons](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=c5124a649e36089f02e0101ca120f7d9)

In Discord: the staff alert when a hijacked account posts the same message in five channels.

![A DM from Petto: your account may be hacked, you were muted in Petto Land, and four steps to secure the account](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-dm.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=de9051f4d14c4baa35f392bbd952ef94)

In Discord: the DM the hijacked account gets.

> [accordion] Undo
>
> ![The anti scam alert without its buttons and a line Undone by kira](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-undo.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=7686fcd71e5382b0fe394ff1328d9190)
>
> In Discord: Undo pressed: the mute is lifted and the alert says who did it.

> [accordion] Ban
>
> ![The anti scam alert without its buttons and a line Banned by kira](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-ban.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=88058eeb2717a09e6e9c8013e70a3d25)
>
> In Discord: Ban pressed: the account is banned.

> [accordion] Not a scam
>
> ![The anti scam alert without its buttons and a line Marked as not a scam by kira](https://mintcdn.com/wikipetto/W92wXuPUuDfMzVq7/images/discord/moderation/anti-scam-not-scam.webp?fit=max\&auto=format\&n=W92wXuPUuDfMzVq7\&q=85\&s=686724b70f969f765083bea0fc21475b)
>
> In Discord: Not a scam pressed: the mute is lifted and the alert is marked.

The server owner and the roles and channels you exempt are never checked. In the dashboard, **Anti scam** has every option and the latest scams caught.

![The Anti scam page, active, with 7 scams caught, its options and the latest catches](https://mintcdn.com/wikipetto/VR-_hcmj859PB7OS/images/dashboard/moderation/anti-scam.webp?fit=max\&auto=format\&n=VR-_hcmj859PB7OS\&q=85\&s=2fd30ce7942bf584a9851d82c745f69d)

Dashboard → Moderation → Anti scam: the counts, every option and the latest scams caught.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.