# Variables de commande

> Toutes les variables de commande KickBot avec un exemple, de {{sender.followage}} pour le followage Kick aux nombres aléatoires et aux requêtes API.

Source: https://kickbot.com/fr/docs/chat-bot/command-variables

Les variables sont des emplacements dans la réponse d'une commande. KickBot les remplace par la valeur actuelle à chaque fois que la commande se lance. Par exemple, une réponse de `!followage` avec `{{sender.followage}}` poste depuis combien de temps le viewer suit ta chaîne Kick. Les variables marchent dans les [commandes personnalisées](https://kickbot.com/fr/docs/chat-bot/custom-commands) et dans les réponses des [commandes intégrées](https://kickbot.com/fr/docs/chat-bot/built-in-commands).

Écris chaque variable avec deux accolades de chaque côté, exactement comme sur cette page. Les majuscules comptent : `{{sender.username}}` marche, `{{Sender.Username}}` ne marche pas.

## Ajouter une variable à une réponse

1. Ouvre une commande sur la page [Commandes personnalisées](https://kickbot.com/dashboard/commands), ou clique sur **Ajouter une commande**.
2. Sous le champ **Réponse**, utilise **Insérer une variable**. Choisis un groupe (**Expéditeur**, **Streamer**, **Utilisateur tagué / Paramètre**, **Stream**, **Aléatoire** ou **Requête API**).
3. Clique sur une variable. KickBot l'ajoute là où se trouve ton curseur.

L'aperçu **Dans le chat Kick** affiche des valeurs d'exemple : tu peux vérifier la réponse avant d'enregistrer.

![Le menu Insérer une variable avec le groupe Stream ouvert, et un aperçu avec des valeurs d'exemple pour le followage, la catégorie et les viewers](https://kickbot.com/docs/images/chat-bot/command-variables/01-variables.webp "L'aperçu affiche des valeurs d'exemple. Dans le chat, KickBot utilise les vraies valeurs.")

Les exemples ci-dessous prennent un viewer nommé KickBotDev sur une chaîne nommée yourchannel.

## Expéditeur

Le viewer qui a tapé la commande.

| Variable | Ce qu'elle poste | Exemple de résultat |
| --- | --- | --- |
| `{{sender.username}}` | Le nom du viewer tel qu'il apparaît dans le lien de sa chaîne (en minuscules) | `kickbotdev` |
| `{{sender.followers}}` | Le nombre de followers de la chaîne du viewer | `128` |
| `{{sender.followage}}` | Depuis combien de temps le viewer suit ta chaîne | `4 months 12 days` |
| `{{sender.url}}` | Le lien vers la chaîne Kick du viewer | `https://kick.com/kickbotdev` |
| `{{sender.bio}}` | La bio du profil Kick du viewer | `Streamer variété depuis Lyon` |
| `{{sender.instagram}}` | Le nom Instagram sur le profil Kick du viewer | `yourhandle` |
| `{{sender.twitter}}` | Le nom X (Twitter) sur le profil Kick du viewer | `yourhandle` |
| `{{sender.youtube}}` | Le YouTube sur le profil Kick du viewer | `yourhandle` |
| `{{sender.discord}}` | Le Discord sur le profil Kick du viewer | `discord.gg/your-server-code` |
| `{{sender.tiktok}}` | Le nom TikTok sur le profil Kick du viewer | `yourhandle` |
| `{{sender.facebook}}` | Le nom Facebook sur le profil Kick du viewer | `yourhandle` |

### Followage Kick

Si le viewer ne suit pas ta chaîne, KickBot poste ceci à la place de ta réponse : `@kickbotdev is not following @yourchannel`.

La commande intégrée `!followage` utilise cette variable. Sa réponse est `@{{sender.username}} has been following for {{sender.followage}}`, ce qui donne dans le chat `@kickbotdev has been following for 4 months 12 days`.

## Streamer

Toi, le propriétaire de la chaîne.

| Variable | Ce qu'elle poste | Exemple de résultat |
| --- | --- | --- |
| `{{streamer.username}}` | Le nom de ta chaîne tel qu'il apparaît dans le lien de ta chaîne | `yourchannel` |
| `{{streamer.followers}}` | Ton nombre de followers | `2450` |
| `{{streamer.url}}` | Le lien vers ta chaîne Kick | `https://kick.com/yourchannel` |
| `{{streamer.bio}}` | Ta bio Kick | `Streams chill tous les soirs` |
| `{{streamer.instagram}}` | Le nom Instagram sur ton profil Kick | `yourhandle` |
| `{{streamer.twitter}}` | Le nom X (Twitter) sur ton profil Kick | `yourhandle` |
| `{{streamer.youtube}}` | Le YouTube sur ton profil Kick | `yourhandle` |
| `{{streamer.discord}}` | Le Discord sur ton profil Kick | `discord.gg/your-server-code` |
| `{{streamer.tiktok}}` | Le nom TikTok sur ton profil Kick | `yourhandle` |
| `{{streamer.facebook}}` | Le nom Facebook sur ton profil Kick | `yourhandle` |

> **Caution:** Les variables de profil (bio, Instagram, X, YouTube, Discord, TikTok, Facebook) lisent le profil Kick. Si ce champ est vide sur le profil, la variable reste telle quelle dans la réponse, en texte brut, par exemple `{{streamer.tiktok}}`. Utilise-les seulement pour des profils où le champ est rempli.

## Utilisateur tagué et paramètre

Le texte ou le nom que le viewer tape après la commande. Par exemple, un viewer tape `!so @SomeChannel` ou `!hug @friend`.

| Variable | Ce qu'elle poste | Exemple pour `!so @SomeChannel great stream` |
| --- | --- | --- |
| `{{param}}` | Tout le texte après la commande | `@SomeChannel great stream` |
| `{{taggedUser.username}}` | Le nom après le premier `@` | `SomeChannel` |
| `{{taggedUser.url}}` | Le lien vers la chaîne taguée | `https://kick.com/SomeChannel` |
| `{{taggedUser.followers}}` | Le nombre de followers de la chaîne taguée | `57` |
| `{{taggedUser.followage}}` | Depuis combien de temps le viewer tagué suit ta chaîne | `2 months 3 days` |

L'utilisateur tagué a aussi les variables de profil : `{{taggedUser.bio}}`, `{{taggedUser.instagram}}`, `{{taggedUser.twitter}}`, `{{taggedUser.youtube}}`, `{{taggedUser.discord}}`, `{{taggedUser.tiktok}}` et `{{taggedUser.facebook}}`.

Si le viewer ne tague personne, `{{taggedUser.username}}` est vide. Si le nom tagué n'est pas une chaîne Kick, les variables qui vont chercher des infos (followers, bio et les autres champs du profil) ne peuvent pas marcher, et KickBot poste `404 tagged user not found` à la place de la réponse.

Exemple : la commande intégrée `!so` (shout-out) a pour réponse `Go check @{{taggedUser.username}}'s channel! {{taggedUser.url}}`.

## Stream

Ton stream en cours. Ces variables marchent pendant que tu es en live.

| Variable | Ce qu'elle poste | Exemple de résultat |
| --- | --- | --- |
| `{{stream.title}}` | Le titre de ton stream | `Stream chill, venez traîner` |
| `{{stream.category}}` | La catégorie de ton stream | `Just Chatting` |
| `{{stream.viewers}}` | Ton nombre de viewers en ce moment | `342` |

Quand tu es hors ligne, KickBot ne peut pas lire ton stream : une commande avec ces variables ne poste pas sa réponse normale. Elle peut poster `404 stream not found` à la place.

## Aléatoire

Utilise-les pour des jeux et des commandes fun. Chaque exécution choisit une nouvelle valeur.

| Variable | Ce qu'elle poste | Exemple de résultat |
| --- | --- | --- |
| `{{randomRange(1,100)}}` | Un nombre entier entre le premier et le second nombre, les deux compris | `42` |
| `{{randomItem("rock","paper","scissors")}}` | Un élément de la liste, chacun avec la même chance | `paper` |
| `{{randomItemPercentage("common":70,"rare":25,"legendary":5)}}` | Un élément de la liste, avec la chance que tu donnes à chaque élément | `common` |

Règles :

- `randomRange` prend deux nombres entiers, de 0 ou plus. Le premier ne doit pas être plus grand que le second.
- Mets chaque élément entre guillemets droits doubles (`"`), séparés par des virgules. Les éléments peuvent contenir des espaces, par exemple `"Ask again later"`.
- Dans `randomItemPercentage`, mets le nombre juste après les deux-points, sans espace. Les nombres sont des poids. Avec 70, 25 et 5, le premier élément sort environ 70 fois sur 100. `randomItemPercentage` n'est pas dans le menu **Insérer une variable**. Tape-le toi-même.

## Requête API

`{{request("https://...")}}` récupère des données depuis une adresse web (une API) et les met dans la réponse. Utilise-la pour afficher une blague, un rang dans un jeu ou tout ce qu'une API publique renvoie.

```text
{{request("https://uselessfacts.jsph.pl/api/v2/facts/random").text}}
```

KickBot ouvre l'adresse, lit la réponse JSON et poste le champ `text`. Par exemple : `The praying mantis is the only insect that can turn its head`.

Comment ça marche :

- **Choisis un champ.** Ajoute le chemin après la parenthèse fermante. Utilise des points pour les noms et `[0]` pour les éléments d'une liste, par exemple `.data[0].name`. Sans chemin, ou si le chemin n'est pas dans la réponse, KickBot poste la réponse entière.
- **Utilise des variables dans l'adresse.** Par exemple, `{{request("https://example.com/rank?user={{sender.username}}").rank}}`. KickBot y met la valeur et la rend sûre pour une adresse web (un espace devient `%20`). Une requête dans une requête n'est pas autorisée.
- **Requêtes GET uniquement.** KickBot ne peut pas envoyer de body ni de headers. Si l'API demande une clé, mets-la dans l'adresse comme paramètre de requête.
- **Limites.** Seulement des adresses `http` et `https` sur l'internet public. KickBot attend une réponse pendant 3 secondes au maximum : utilise une API qui répond vite, avec une réponse courte.

> **Caution:** Toute personne qui peut voir les paramètres de tes commandes peut voir une clé API placée dans l'adresse. Utilise des clés qui lisent seulement des données publiques.

## Autres variables

Ces variables marchent, mais elles ne sont pas dans le menu **Insérer une variable**.

| Variable | Ce qu'elle poste | Exemple de résultat |
| --- | --- | --- |
| `{{user}}` | Le nom du viewer avec ses majuscules | `KickBotDev` |
| `{{sender.fullUsername}}` | Le nom du viewer avec un `@` devant | `@KickBotDev` |
| `{{commands}}` | Toutes les commandes activées, séparées par des virgules | `commands, followage, lurk, me, so, welcome, discord` |

La commande intégrée `!commands` utilise `{{commands}}`. Sa réponse est `Enabled commands: {{commands}}`.

## Erreurs fréquentes

- **Une accolade au lieu de deux.** `{sender.username}` reste du texte. Utilise `{{sender.username}}`.
- **Un nom mal écrit.** Une variable inconnue, comme `{{sender.name}}`, empêche la commande de poster une réponse. Vérifie l'orthographe avec cette page.
- **Des guillemets courbes.** `randomItem` et `request` ont besoin de guillemets droits (`"`). Certains téléphones et éditeurs de texte les changent en guillemets courbes (`“ ”`). Pour être sûr, tape-les directement dans le dashboard.

## FAQ

**Comment créer une commande followage sur Kick ?**

KickBot a une commande intégrée `!followage`, activée sur chaque chaîne. Pour créer la tienne, ajoute une commande avec une réponse comme `@{{sender.username}} suit la chaîne depuis {{sender.followage}}`.

**Comment afficher le nom du viewer dans une commande ?**

Utilise `{{sender.username}}` pour le nom tel qu'il apparaît dans le lien de la chaîne, ou `{{user}}` pour le nom avec ses majuscules. Ajoute `@` devant si tu veux que Kick l'affiche comme une mention, par exemple `@{{sender.username}}`.

**Une commande peut-elle afficher mon nombre de viewers ou le titre de mon stream ?**

Oui. Utilise `{{stream.viewers}}` et `{{stream.title}}`. Elles marchent pendant que tu es en live.
