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

# Démarrage rapide

> Créer un bot, le lancer sur votre serveur de test et modifier sa première commande, en quelques minutes

Il vous faut [Node.js](https://nodejs.org) 24 ou plus récent, une application Discord avec un bot, et un serveur pour tester. Si vous n’avez pas encore l’application, [Votre application Discord](https://www.chapterjs.org/fr/setup/discord-application.md) montre comment en créer une : cela prend deux minutes et vous donne les deux valeurs de l’étape 2.

**1. Créer le projet**

Lancez la commande de votre gestionnaire de paquets :

```bash pnpm theme={"theme":{"light":"github-light","dark":"vesper"}}
pnpm create chapterjs
```

```bash npm theme={"theme":{"light":"github-light","dark":"vesper"}}
npm create chapterjs@latest
```

```bash yarn theme={"theme":{"light":"github-light","dark":"vesper"}}
yarn create chapterjs
```

```bash bun theme={"theme":{"light":"github-light","dark":"vesper"}}
bun create chapterjs
```

Elle vous pose jusqu’à trois questions :

1. **Où créer le projet** : un nom de dossier comme `my-bot`, ou `.` pour le dossier courant. Le dossier doit être nouveau ou vide.
2. **Quel gestionnaire de paquets utiliser** : seuls ceux installés sur votre ordinateur peuvent être choisis, et celui avec lequel vous avez lancé la commande est sélectionné par défaut.
3. **Quel modèle utiliser** : `minimal`, une présence et rien d’autre, est présélectionné. Les autres sont des bots complets : voir [Modèles](https://www.chapterjs.org/fr/setup/project-structure.md#modèles).

Une question qui n’a qu’une réponse possible est sautée : avec un seul gestionnaire de paquets installé, il est utilisé et on vous le dit.

Le modèle est copié, les dépendances sont installées, et la suite est affichée.

> [!TIP]
>
> Passez le nom du dossier pour sauter la première question : `pnpm create chapterjs my-bot`. `pnpm create chapter` fait la même chose : c’est un alias court de la même commande.

**2. Lui donner votre bot**

Dans le nouveau dossier, copiez `.env.example` vers `.env` et remplissez les deux valeurs :

```bash .env theme={"theme":{"light":"github-light","dark":"vesper"}}
BOT_TOKEN=
DEV_GUILD_ID=
```

* `BOT_TOKEN` : le token de votre bot, depuis la page **Bot** de votre application dans le [Developer Portal](https://discord.com/developers/applications). Utilisez une **application de dev**, pas celle qui sera en ligne pour tout le monde : voir [Votre application Discord](https://www.chapterjs.org/fr/setup/discord-application.md).
* `DEV_GUILD_ID` : l’identifiant de votre serveur de test.

Où trouver les deux est expliqué dans [Votre application Discord](https://www.chapterjs.org/fr/setup/discord-application.md).

> [!WARNING]
>
> Votre token est un mot de passe : ne le partagez jamais, et ne commitez jamais `.env`. Le projet l’ignore déjà dans git.

**3. Le lancer**

```bash pnpm theme={"theme":{"light":"github-light","dark":"vesper"}}
pnpm dev
```

```bash npm theme={"theme":{"light":"github-light","dark":"vesper"}}
npm run dev
```

```bash yarn theme={"theme":{"light":"github-light","dark":"vesper"}}
yarn dev
```

```bash bun theme={"theme":{"light":"github-light","dark":"vesper"}}
bun dev
```

Votre bot se connecte à votre serveur de test :

```text theme={"theme":{"light":"github-light","dark":"vesper"}}
✓ Connected to My Server as my-bot
ℹ Intents computed from your files: GUILDS
✓ a presence loaded
```

La présence est le seul fichier du modèle, `src/presence.ts` : ce que Discord affiche sous le nom de votre bot.

Si le bot n’est pas encore dans votre serveur de test, la commande affiche un lien qui l’y ajoute et vous attend. Si un de vos fichiers a besoin d’une option qui n’est pas activée pour votre bot, elle dit laquelle et où l’activer, et attend aussi. Chaque message dit quoi faire : voir [chapterjs dev](https://www.chapterjs.org/fr/run/dev.md).

**4. Essayer votre première commande**

Créez un fichier pour votre première commande, `src/commands/ping.ts` :

```ts src/commands/ping.ts theme={"theme":{"light":"github-light","dark":"vesper"}}
import { command } from 'chapterjs';

export default command({
  name: 'ping',
  description: 'Répond Pong !',
  async run({ interaction }) {
    await interaction.reply('Pong !');
  },
});
```

Enregistrez-le : le fichier est chargé, et la commande envoyée à votre serveur de test :

```text theme={"theme":{"light":"github-light","dark":"vesper"}}
↻ Reloaded in 12 ms, 1 command, a presence loaded
↻ Commands updated on My Server
```

Tapez `/ping` sur votre serveur de test : le bot répond « Pong ! ». Changez la réponse, enregistrez, et utilisez à nouveau `/ping` : elle répond avec le nouveau texte.

C’est tout. `name` est le nom de la commande, `'ping'` est `/ping`, et rien ne l’enregistre. ChapterJS trouve la déclaration dans vos fichiers, présente la commande à Discord et lance `run` quand quelqu’un l’utilise.

Pour ajouter une commande, déclarez-en une avec `command()` et exportez-la, dans n’importe quel fichier de `src/`. Pour réagir à quelque chose qui se passe sur Discord, déclarez un `event()` de la même façon. Comment le framework les trouve est dans [Structure du projet](https://www.chapterjs.org/fr/setup/project-structure.md).

Quand votre bot est prêt pour tout le monde, mettez-le sur une machine qui reste allumée : voir [Déployer](https://www.chapterjs.org/fr/run/deploy.md).

> [!NOTE]
>
> Tout ce que fait la commande `chapterjs` est dans la [référence du CLI](https://www.chapterjs.org/fr/reference/cli.md).

> [card] [Structure du projet](https://www.chapterjs.org/fr/setup/project-structure.md)
>
> À quoi sert chaque dossier et fichier de votre projet.

> [card] [Commandes](https://www.chapterjs.org/fr/commands.md)
>
> Une commande slash, options typées pour vous.


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