> ## 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.

# ThreadChannel

> Un fil ou une publication de forum : archiver, verrouiller, membres et étiquettes

Un `ThreadChannel` est un fil, ou une publication d’un forum. C’est ce que donne `channel.isThread()`, et ce que renvoient `message.startThread()`, `channel.startThread()` et `forum.createPost()`.

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

async function close(thread: ThreadChannel, reason: string) {
  if (thread.archived) return;
  await thread.send(`Je ferme ce fil : ${reason}`);
  await thread.edit({ archived: true, locked: true }, reason);
}
```

> [!NOTE]
>
> Comment envoyer, modifier et lire des messages est dans [Envoyer des messages](https://www.chapterjs.org/fr/messages.md).

## Propriétés

Il a aussi tout ce qu’a [Channel](https://www.chapterjs.org/fr/reference/channels#channel) et [ce que partagent les salons avec des messages](https://www.chapterjs.org/fr/reference/channels#salons-avec-des-messages). Un fil n’est pas un `GuildChannel` : il n’a pas de remplacements de permissions à lui, et prend les permissions du salon où il se trouve.

**guildId** `Snowflake`

L’identifiant du serveur du fil.

**guild** `Guild`

Le serveur du fil.

**name** `string`

Le nom du fil.

**parentId** `Snowflake`

L’identifiant du salon où le fil a été créé.

**parent** `TextChannel | ForumChannel | null`

Le salon où le fil a été créé ; `null` quand il est d’une sorte que cette version ne connaît pas.

**ownerId** `Snowflake | null`

L’identifiant de l’utilisateur qui a créé le fil.

**archived** `boolean`

Si le fil est archivé.

**locked** `boolean`

Si seuls les modérateurs peuvent le désarchiver.

**isPrivate** `boolean`

Si seuls les membres invités et les modérateurs peuvent le voir.

**archivedAt** `Date | null`

Quand le fil a été archivé ou désarchivé pour la dernière fois.

**memberCount** `number`

Un nombre approximatif de membres du fil (s’arrête à 50).

**appliedTags** `readonly Snowflake[]`

Les identifiants des étiquettes de la publication, dans un forum.

## Helpers

### permissionsFor()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
permissionsFor(member: GuildMember): Permissions
```

Les fils héritent des permissions du salon où ils se trouvent.

## Lire depuis Discord

### fetchMembers()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
fetchMembers(options?: { limit?: number; after?: Snowflake }): Promise<ThreadMember[]>
```

Qui est dans le fil (100 au plus par appel). Chaque entrée est un [`ThreadMember`](https://www.chapterjs.org/fr/reference/data#threadmember).

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#list-thread-members)

## Actions

### edit()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
edit(options: ThreadEditOptions, reason?: string): Promise<this>
```

Modifie le fil : nom, archive, verrou, mode lent, étiquettes. Les options sont un [`ThreadEditOptions`](https://www.chapterjs.org/fr/reference/options#threadeditoptions).

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#modify-channel)

### archive()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
archive(reason?: string): Promise<this>
```

Archive le fil : il quitte la liste des salons mais peut revenir.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#modify-channel)

### unarchive()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
unarchive(reason?: string): Promise<this>
```

Fait revenir un fil archivé.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#modify-channel)

### join()

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

Fait rejoindre le fil au bot.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#join-thread)

### leave()

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

Fait quitter le fil au bot.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#leave-thread)

### addMember()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
addMember(user: Snowflake | { id: Snowflake }): Promise<void>
```

Ajoute un membre au fil.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#add-thread-member)

### removeMember()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
removeMember(user: Snowflake | { id: Snowflake }): Promise<void>
```

Retire un membre du fil.

[Documentation de Discord](https://docs.discord.com/developers/resources/channel#remove-thread-member)


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