# Instruction conditionnelle IF

#### **Vérification qu’une variable n’est pas vide**

{% hint style="info" %}
Pour vérifier qu’une variable contient une valeur (c.-à-d. qu’elle n’est pas `None` et qu’elle n’est pas une chaîne vide), vous devez vérifier qu’elle est **NON égale** à une chaîne vide.

**Formule correcte :**

`"#{value}" != ""`

Ceci est essentiel pour valider les données, par exemple pour s’assurer qu’une réponse a été reçue depuis un appel à une API externe avant de continuer.
{% endhint %}

### IF()

<details>

<summary>Description</summary>

**if(condition, value\_if\_true, value\_if\_false)**

**condition** - déclencheur

**value\_if\_true** - valeur si Vrai

**value\_if\_false** - valeur si Faux

{% hint style="warning" %}
Longueur maximale de l’expression : 2000 caractères
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Voyons quelques exemples :

SILENCEDAYS\_2 = if(SILENCEDAYS\_2 == 1, 1, 0). Dans ce cas, si la variable `SILENCEDAYS_2` existe et est égale à 1, sa valeur reste 1. Si elle n’existe pas ou a une valeur différente, elle sera définie à 0. Cela est utile avant d’effectuer des opérations mathématiques afin de se prémunir contre des valeurs de variables vides ou non définies.

ClientName = if(ClientName == 1, P1, if(ClientName == 2, P2, if(ClientName == 3, P3, 7))), where P1, P2, P3 are variables.&#x20;

Si ClientName est égal à 1, alors la valeur P1 sera attribuée ;\
si ClientName est égal à 2, alors la valeur P2 sera attribuée ;\
si ClientName est égal à 3, alors la valeur P3 sera attribuée ;\
dans le cas contraire, la valeur 7 sera attribuée.

Comme vous pouvez le voir, des constructions if imbriquées peuvent être utilisées. C’est utile lorsque vous voulez apprendre au bot à calculer le montant de la commande, où le prix unitaire dépend de la quantité :

Order\_Amount = round(if(Quantity >=100, if(Quantity >=200, if(Quantity >=300, if(Quantity >=400, if(Quantity >=500, if(Quantity >=1000, if(Quantity >=2000, if(Quantity >=3000, if(Quantity >=5000, 25\*Quantit&#x79;*, 30\**&#x51;uantity), 35\*Quantit&#x79;*), 40\**&#x51;uantity), 45\*Quantit&#x79;*), 50\**&#x51;uantity), 55\*Quantit&#x79;*), 60\**&#x51;uantity), 65\*Quantit&#x79;*), "Impossible de calculer... Une erreur s’est produite quelque part dans votre commande. Veuillez recommencer depuis le début.")* \* 100) / 100

<div data-with-frame="true"><figure><img src="/files/1674c5bf32b4bc6a367fce6aa171bf7fb2d1c09a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/fcde6deb45df2ef7ff15319b0d0c19f5d0ea129a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/c52c223f102e796dc7508f6cf5538e38151a2876" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

<pre><code>SILENCEDAYS_2 = if(SILENCE_DAYS_2 == 1, 1, 0)
ClientName = if(ClientName == 1, Р1, if(ClientName == 2, Р2, if(ClientName == 3, Р3, 7)))
<strong>Order_Amount = round(if(Quantity >=100, if(Quantity >=200, if(Quantity >=300, if(Quantity >=400, if(Quantity >=500, if(Quantity >=1000, if(Quantity >=2000, if(Quantity >=3000, if(Quantity >=5000, 25*Quantity, 30*Quantity), 35*Quantity), 40*Quantity), 45*Quantity), 50*Количество), 55*Quantity), 60*Quantity), 65*Quantity), "Impossible de calculer... Une erreur s’est produite quelque part dans votre commande. Veuillez recommencer depuis le début.")  * 100) / 100
</strong></code></pre>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/functions/calculatrice/conditional.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
