# Travailler avec des liens

## Liens avec notification de clic <a href="#dlya-raboty-s-ssylkami" id="dlya-raboty-s-ssylkami"></a>

proxy() | proxy\_date() | proxy\_timeout()

&#x20;<mark style="color:red;">**LÉGENDE :**</mark>

<mark style="color:red;">**!**</mark> - Paramètres requis

**proxy(lnk, one-shot)** - génère un lien avec notification de clic. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** -lien \
**one-shot** -indicateur que le lien est à usage unique. Il suffit de passer la valeur 1.

**proxy\_date(lnk, date, time)** - génère un lien avec notification de clic et une heure d’expiration spécifiée. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** - lien\ <mark style="color:red;">!</mark> **date** - date d’expiration du lien \ <mark style="color:red;">!</mark> **heure** - heure d’expiration du lien\
**one-shot** - indicateur que le lien est à usage unique. Il suffit de passer 1.

**proxy\_timeout(lnk, minutes, one-shot)** - génère un lien avec notification de clic et un minuteur d’accès spécifié. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** - lien\ <mark style="color:red;">!</mark> **minutes** - le nombre de minutes pendant lesquelles le lien reste actif.\
**one-shot** - indicateur que le lien est à usage unique. Il suffit de passer 1.

<details>

<summary>Exemple</summary>

Passons par un exemple simple :

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

Nous avons créé deux liens proxy et les avons insérés dans des boutons et dans le texte du message. Comme nous testons dans Telegram, c’est une bonne occasion de rappeler comment formater correctement les liens à l’aide de Markdown. Pour gérer les caractères spéciaux, nous avons utilisé la fonction tg\_escape().

Voici comment le client les voit, par exemple, dans Telegram :

<div data-with-frame="true"><figure><img src="/files/6da9804caf3794c0a8ae91e629955462c49970b6" alt="" width="188"><figcaption></figcaption></figure></div>

Lorsque le client clique sur le lien, nous recevons un callback :

<div data-with-frame="true"><figure><img src="/files/5249017a96071e8f2cad9dfe47a4a389345df5fd" alt="" width="563"><figcaption></figcaption></figure></div>

Configurons une réponse à cet événement :

<div data-with-frame="true"><figure><img src="/files/643c250cc52ce78af14992f9f9ca639976e4e7d1" alt="" width="563"><figcaption></figcaption></figure></div>

Maintenant, testons les fonctions de suppression de liens :

<div data-with-frame="true"><figure><img src="/files/04ca7473ccd48de011f1a3cf9491ecf4eebc2c8b" alt="" width="375"><figcaption></figcaption></figure></div>

Ainsi, si le client essaie d’utiliser le lien à usage unique après sa suppression, il recevra une erreur car le lien n’existe plus.

Supprimons le lien à durée limitée :

<div data-with-frame="true"><figure><img src="/files/04ca7473ccd48de011f1a3cf9491ecf4eebc2c8b" alt="" width="375"><figcaption></figcaption></figure></div>

Après l’exécution de la fonction, il ne reste plus de liens proxy dans la fiche client, et toute tentative de suivre le lien renvoie la même erreur.

</details>

<details>

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

Exemple de code pour le champ « Message » (n’oubliez pas d’activer **Markdown** si vous travaillez avec Telegram) :

```
*Test des liens :*
[Cliquer](#{link3})
```

ou testez en utilisant le format de sortie suivant :

<pre><code><strong>Test des liens :
</strong>#{link2}
</code></pre>

Exemple de code dans le champ « Calculatrice » :&#x20;

```
link1=proxy('https://mavibot.ai/', 1) 
link2=short_date('https://mavibot.ai/#tariff', '11.06.2025', '2pm') 
link3=tg_escape(link2)
```

</details>

{% hint style="info" %}
Lorsqu’un client clique sur un lien proxy, vous recevrez un callback sous la forme **link\_was\_pressed** . Cela vous permet de configurer une réaction au clic sur le lien.

Pour ce faire, saisissez le callback reçu dans le champ « Condition » et définissez le type de correspondance sur Correspondance exacte.
{% endhint %}

## Raccourcissement de lien

short() | short\_date() | short\_timeout()

&#x20;<mark style="color:red;">**LÉGENDE :**</mark>

<mark style="color:red;">**!**</mark> - Paramètres requis

**short(lnk, one-shot)** - génère un lien sans notification de clic. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** -lien \
**one-shot** -indicateur que le lien est à usage unique. Il suffit de passer la valeur 1.

**short\_date(lnk, date, time)** - génère un lien sans notification de clic et avec une heure d’expiration spécifiée. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** - lien\ <mark style="color:red;">!</mark> **date** - date d’expiration du lien \ <mark style="color:red;">!</mark> **heure** - heure d’expiration du lien\
**one-shot** - indicateur que le lien est à usage unique. Il suffit de passer 1.

**short\_timeout(lnk, minutes, one-shot)** - génère un lien sans notification de clic et avec un minuteur d’accès spécifié. La fonction prend les paramètres suivants :\ <mark style="color:red;">!</mark> **lien** - lien\ <mark style="color:red;">!</mark> **minutes** - le nombre de minutes pendant lesquelles le lien reste actif.\
**one-shot** - indicateur que le lien est à usage unique. Il suffit de passer 1.

## **Suppression de liens**

remove\_links() | remove\_one\_time\_links()| remove\_timer\_links()

<mark style="color:red;">**LÉGENDE :**</mark>

<mark style="color:red;">**!**</mark> - Paramètres requis

**remove\_links()** - désactivation de tous les liens raccourcis envoyés au client

\
**remove\_one\_time\_links()** - désactivation de tous les liens à usage unique envoyés au client<br>

**remove\_timer\_links()** - désactivation de tous les liens à durée limitée envoyés au client

## Lien de quiz du bot Telegram

quiz\_link\_timeout() | quiz\_link\_date() | quiz\_link()

{% hint style="warning" %}
Veuillez noter !

La validité du lien est limitée à 21 jours, il doit donc être renouvelé !
{% endhint %}

Pour activer l’affichage du quiz dans Telegram, vous devez :

1\. Copier l’ID d’une page du site. Pour ce faire, allez dans la section « Sites web » et sélectionnez le site souhaité :

<div data-with-frame="true"><figure><img src="/files/6a8b0a316d1b776854b6a4b2ef61eb0e9a34c154" alt="" width="563"><figcaption></figcaption></figure></div>

Plus loin dans le texte, nous ferons référence à **mini\_landing\_page\_id** comme nom de variable.

2\. Dans le champ « Calculatrice », utilisez l’une des fonctions suivantes :

<mark style="color:red;">**LÉGENDE :**</mark>

<mark style="color:red;">**!**</mark> - Paramètres requis

**quiz\_link\_timeout(mini\_landing\_page\_id, minutes)  -** génère un lien avec une durée de validité définie en minutes

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - ID de la page du site web\
**minutes -** durée de validité du lien en minutes (type : nombre)

**quiz\_link\_date(mini\_landing\_page\_id, date, time) -** génère un lien avec une expiration limitée à une date et une heure spécifiques

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - ID de la page du site web\
**date** - date d’activation du lien (format : jj.mm.aaaa)\
**heure** - heure d’activation du lien (format : hh:mm)

&#x20;**quiz\_link(mini\_landing\_page\_id)** - génère un lien sans durée d’expiration

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - ID de la page du site web

<details>

<summary>Exemple</summary>

<div data-with-frame="true"><figure><img src="/files/2e32d8e3ff0dcaa37f6a12c8a1fbc295f1799266" alt="" width="563"><figcaption></figcaption></figure></div>

3\. Créez un **Telegram Web App** bouton et spécifiez le nom de la variable entre accolades avec un symbole dièse.

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

<mark style="color:red;">**Important !**</mark> \
Assurez-vous que la valeur de la variable est correctement enregistrée dans les paramètres avancés.

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

Si vous utilisez **quiz\_link\_timeout** pour rediriger un client vers une page du site, vous pouvez utiliser des variables client dans le titre et la description de la page. Par exemple, si le client a une variable **name** avec la valeur « John », et que la description de la page inclut **« Hi #{name}, how are you? »**, la sortie sera « Hi John, how are you? ». Toutefois, si le client ne possède pas cette variable, la valeur sera extraite des variables globales du projet.

{% hint style="warning" %}
**Remarque !** Faites attention lorsque vous utilisez des liens sans date d’expiration. Si le lien est partagé avec quelqu’un d’autre et que cette personne remplit le quiz, les résultats seront enregistrés sous le client pour lequel le lien a été généré à l’origine.
{% endhint %}

</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/links.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.
