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

# User

> Lire un compte Discord, obtenir son avatar et lui envoyer un message privé

Un `User` est un compte Discord, le même dans chaque serveur. Vous en obtenez un comme `user` d’une [commande](https://www.chapterjs.org/fr/reference/interaction.md), comme `message.author`, comme `member.user` et comme `user` de l’[événement](https://www.chapterjs.org/fr/reference/events.md) `memberLeave`. Pour ce qui est propre à un serveur (surnom, rôles, permissions), voir [GuildMember](https://www.chapterjs.org/fr/reference/member.md).

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
import type { User } from 'chapterjs';

async function greet(user: User) {
  if (user.bot) return;
  await user.send({
    content: `Salut ${user.displayName} !`,
    embeds: [{ thumbnail: { url: user.avatarURL({ size: 256 }) } }],
  });
}
```

> [!NOTE]
>
> Comment vos fonctions reçoivent un utilisateur est dans [Commandes](https://www.chapterjs.org/fr/commands.md) et [Événements](https://www.chapterjs.org/fr/events.md). Ce que peut contenir un message privé est dans [Messages](https://www.chapterjs.org/fr/messages.md).

> [!WARNING]
>
> Envoyer un message privé échoue quand l’utilisateur a fermé ses messages privés ou ne partage aucun serveur avec le bot. Attrapez l’erreur quand cela vous convient : voir [Erreurs](https://www.chapterjs.org/fr/reference/errors.md).

## Propriétés

**id** `Snowflake`

L’identifiant unique que Discord lui a donné.

**createdAt** `Date`

Quand il a été créé : un identifiant Discord contient sa date de création.

**username** `string`

Le nom unique du compte (`@nom`).

**globalName** `string | null`

Le nom affiché dans Discord, quand l’utilisateur en a choisi un.

**displayName** `string`

Le nom à afficher : le nom d’affichage, sinon le nom d’utilisateur.

**discriminator** `string`

`"0"` pour les utilisateurs du système de noms actuel.

**bot** `boolean`

Si le compte est un bot.

**system** `boolean`

Si le compte est un compte système officiel de Discord.

**avatar** `string | null`

Le hash de l’avatar ; utilisez `avatarURL()` pour obtenir l’image.

**banner** `string | null`

Le hash de la bannière ; utilisez `bannerURL()` pour obtenir l’image.

**accentColor** `number | null`

La couleur de la bannière, sous forme de nombre (`0xff0000`).

**locale** `Locale | null`

Connue seulement pour le bot lui-même. Voir [Locale](https://www.chapterjs.org/fr/reference/enums.md#locale).

**flags** `UserFlagName[]`

Les badges publics du compte, par nom. Voir [UserFlagName](#userflagname).

## Helpers

Ils lisent ce dont le bot se souvient : ils n’envoient jamais de requête.

### avatarURL()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
avatarURL(options?: ImageOptions): string
```

L’URL de l’avatar ; de celui par défaut quand aucun n’est défini. Voir [ImageOptions](https://www.chapterjs.org/fr/reference/helpers.md#imageoptions).

### bannerURL()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
bannerURL(options?: ImageOptions): string | null
```

L’URL de la bannière, quand il y en a une. Voir [ImageOptions](https://www.chapterjs.org/fr/reference/helpers.md#imageoptions).

### toString()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
toString(): string
```

`<@id>` : mentionne l’utilisateur quand il est mis dans un message.

### toJSON()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
toJSON(): object
```

Les données de Discord sous forme d’objet simple, avec des noms en camelCase.

## Lire depuis Discord

### fetch()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
fetch(): Promise<User>
```

Demande à Discord les dernières données de cet utilisateur.

## Actions

### createDM()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
createDM(): Promise<DMChannel>
```

Ouvre la conversation privée avec cet utilisateur. Voir [DMChannel](https://www.chapterjs.org/fr/reference/channels/dm.md).

[Documentation de Discord](https://docs.discord.com/developers/resources/user#create-dm)

### send()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
send(message: MessageInput): Promise<Message>
```

Envoie un message privé à cet utilisateur. Voir [MessageInput](https://www.chapterjs.org/fr/reference/message-options.md#messageinput).

## Types

### UserFlagName

Le nom d’un badge public, tel que `flags` les liste : l’une des clés de [`UserFlags`](https://www.chapterjs.org/fr/reference/enums#userflags).

| Nom | Badge |
| - | - |
| `Staff` | Employé de Discord |
| `Partner` | Propriétaire d’un serveur partenaire |
| `Hypesquad` | Membre des événements HypeSquad |
| `BugHunterLevel1` | Chasseur de bugs niveau 1 |
| `HypesquadOnlineHouse1` | Membre de la maison Bravery |
| `HypesquadOnlineHouse2` | Membre de la maison Brilliance |
| `HypesquadOnlineHouse3` | Membre de la maison Balance |
| `PremiumEarlySupporter` | Soutien de la première heure de Nitro |
| `TeamPseudoUser` | L’utilisateur est une équipe |
| `BugHunterLevel2` | Chasseur de bugs niveau 2 |
| `VerifiedBot` | Bot vérifié |
| `VerifiedDeveloper` | Développeur de bot vérifié de la première heure |
| `CertifiedModerator` | Ancien des programmes de modération |
| `BotHttpInteractions` | Le bot n’utilise que des interactions HTTP et est affiché dans la liste des membres en ligne |

[Documentation de Discord](https://docs.discord.com/developers/resources/user#user-object-user-flags)

`ImageOptions` est dans [Helpers](https://www.chapterjs.org/fr/reference/helpers.md#imageoptions).


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