> For the complete documentation index, see [llms.txt](https://docs.membercounter.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.membercounter.app/commands/profile.md).

# /profile

Shows related information between you and this bot.

`/profile` shows what the bot knows about a Discord account: its badges, and the buttons to manage that record.

```
/profile
/profile user:<member>
```

**Who can run it:** anyone, in a server or in DMs. The **user** option is optional; leave it out to see your own profile.

## Two ways to open it

Type `/profile` for yourself, or `/profile user:` and pick a member to see theirs. You can also right-click a member, in the member list, in chat or on their avatar, and choose **Apps** > **Profile**. It is the same command, with the same reply.

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-dcfba91b09f197c9213a9d66115c078dfdb23e5b%2Fcommand-profile-context-menu.png?alt=media" alt="Apps then Profile in the user context menu"><figcaption><p>The right-click route, on a member in the member list.</p></figcaption></figure>

## What the reply contains

An embed with one field, **Badges**: a code block with the badge emojis that account has earned. An account with no badges gets an empty block. What each badge means is listed in [Badges](/contributing/badges.md).

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-3cceae0592c7bb207fdb8e7cf5ad1a34412519b1%2Fcommand-profile-reply.png?alt=media" alt="The /profile embed showing the Badges field"><figcaption><p>Your own profile, with the Delete data button underneath.</p></figcaption></figure>

These buttons can appear under the embed:

| Button              | When it appears                                                                                  |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| **🗑️ Delete data** | On your own profile, or on anyone's profile if you are staff with the permission to manage users |
| **⚙️ More options** | Only for staff; it opens that account's page on the website                                      |

Only the person who ran the command can press **🗑️ Delete data**, and it stops working after five minutes. The bot then removes the buttons, so run the command again to get them back.

## Deleting your data

**🗑️ Delete data** deletes the whole account record, not just the badges in the embed: your badges, any permissions your account holds on the dashboard, your dashboard preferences and your donation history. It also deletes your custom bots, your credit balance and your unspent server upgrades.

Press it and the bot asks you to confirm. Nothing is deleted until you press **Yes**; **Cancel** takes you back to the profile.

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-920616b773559061a329385709898ee558bc02b9%2Fcommand-profile-delete-confirm.png?alt=media" alt="The delete confirmation with Yes and Cancel"><figcaption><p>Nothing is deleted until you press Yes.</p></figcaption></figure>

{% hint style="danger" %}
Deleting is final. Badges are not given back automatically, so anything you earned once is gone. If you have ever donated, ask in the [support server](https://membercounter.app/support) first: the donation records linked to your account go with it.
{% endhint %}

The counters in your servers are untouched: they belong to the server, not to your account. See [Your account](/using-the-dashboard/account.md) for what else the record holds.

<details>

<summary>Technical details</summary>

* The command upserts a record for the invoker first, then reads the target's. A target with no record throws `USER_NOT_FOUND` and the reply becomes an error embed with "User not found." Your own profile can never hit that, because the upsert runs first.
* Badge order and emoji come from `packages/common/src/UserBadges.ts`: Donor ❤️, Premium 💎, BetaTester 🧪, Translator 🌎, Contributor 💻, BigBrain 🧠, BugCatcher 🐛, PatPat 🐱, FoldingAtHome 🧬.
* **⚙️ More options** links to `<WEBSITE_URL>/admin/users/<user id>`.
* The button collector runs 5 minutes on both `time` and `idle` and filters on the invoker's user id. On timeout the profile is re-rendered with no components, which is why **⚙️ More options** disappears too even though it is a plain link button.
* Confirming deletes the `User` row: `badges`, `permissions` and `prefersAutosave`. Its `Donation` records follow through `onDelete: Cascade`. Guild settings and channel templates live on a separate model and are not touched.

</details>
