# Méthodes de gamification

## Méthodes de gamification sur Instagram et Facebook&#x20;

{% hint style="warning" %}
Pour configurer les opérations des fonctions, nous recommandons d’utiliser la gamification[ modèle pour les chats Instagram comme référence](#gamification-methods-in-instagram-and-facebook).&#x20;
{% endhint %}

Pour utiliser les fonctions listées ci-dessous, vous devez déclarer des variables communes dans le **Paramètres du projet**:

<table data-header-hidden><thead><tr><th width="270.3333333333333">Nom de la variable</th><th width="323">Objectif de la variable</th><th align="center">Valeur, exemple</th></tr></thead><tbody><tr><td>comment_score</td><td>nombre de points à attribuer pour les commentaires</td><td align="center">10</td></tr><tr><td>comment_max_actions </td><td>nombre maximal de commentaires par jour</td><td align="center">5</td></tr><tr><td>min_comment_len</td><td>longueur minimale du commentaire</td><td align="center">25</td></tr><tr><td>stories_score</td><td>nombre de points à attribuer pour les réactions dans les stories</td><td align="center">15</td></tr><tr><td>stories_max_actions</td><td>nombre maximal d’actions par jour</td><td align="center">1</td></tr><tr><td>stories_mention_score</td><td>nombre de points à attribuer pour les mentions dans les stories</td><td align="center">5</td></tr><tr><td>stories_mention_max_actions</td><td>nombre maximal d’actions par jour</td><td align="center">2</td></tr><tr><td>post_mention_score</td><td>nombre de points à attribuer pour les mentions dans les publications</td><td align="center">10</td></tr><tr><td>post_mention_max_actions</td><td>nombre maximal d’actions par jour</td><td align="center">3</td></tr><tr><td>end_game_date</td><td>date de fin du jeu</td><td align="center">30.12.2021</td></tr></tbody></table>

**game\_add\_comment**(text=None) - ajoute des points pour un commentaire sur Instagram ou FB ; vous pouvez également passer n’importe quel texte.

**game\_add\_stories**() - ajoute des points pour les réactions dans les stories

**game\_add\_message**() - ajoute des points pour les messages privés

**game\_add\_stories\_mention**() - ajoute des points pour les mentions dans les stories

**game\_get\_user\_score**() - renvoie les points de l’utilisateur

**game\_get\_user\_place**() - affiche la position de l’utilisateur dans le classement

**game\_get\_leader\_score**() - renvoie les points du leader dans le classement

**game\_get\_top(count=99999999, shift=0, humanize=False, delimiter=None, platform=None)** - l’appel de la fonction sans arguments renvoie un classement trié sous forme de tableau d’utilisateurs. Elle accepte les 5 paramètres suivants : **count** - combien d’utilisateurs retourner ; **décalage** - la position de départ dans le classement pour la sélection (0 signifie que la liste commence par le leader et descend selon les points ; par exemple, 3 signifie que la sélection commence à partir de la 4e place et au-dessous) ; **humanize** **0** - renvoie un tableau de dictionnaires d’utilisateurs, **1** renvoie une liste formatée à afficher à l’utilisateur ; **delimiter** - le séparateur entre le nom d’utilisateur et son score (utilisé si **humanize=1**); **plateforme 1** - affiche le identifiant Instagram (par exemple, **@nik**) à la place du nom d’utilisateur.

Exemple 1 : game\_get\_top(10, 0, 1, ' - ') renverra : John - 40 Anna - 30 George - 10\
\
Exemple 2 : game\_get\_top(3, 0, 1, ' - ', 1) renverra : @john - 40 @anna - 30 @privet - 10&#x20;

**game\_add\_score**(count=1, client\_id=None) - ajoute des points à l’utilisateur

**game\_set\_score**(score, client\_id=None) - définit le total des points de l’utilisateur

**game\_ban\_player**() - bloque l’utilisateur

**game\_unban\_player**() - débloque l’utilisateur

**game\_user\_banned**() - renvoie l’état de bannissement de l’utilisateur ; True s’il est banni, False sinon

\# permet de travailler avec des valeurs arbitraires dans le classement.&#x20;

**game\_add\_value**(val\_name, count=1, client\_id=None) -&#x20;

**game\_set\_value**(val\_name, value, client\_id=None)

{% hint style="info" %}
Si **client\_id** n’est pas fourni, la fonction fonctionne avec le client actuel.
{% endhint %}

**game\_minus\_user\_score**(count =10) - soustrait des points à l’utilisateur (**count** - combien de points soustraire)

**game\_get\_today\_user\_comment\_action**() - nombre de commentaires effectués par l’utilisateur aujourd’hui

**game\_get\_today\_user\_message\_actions**() - nombre de messages envoyés par l’utilisateur aujourd’hui

**game\_get\_today\_user\_stories\_actions**() - nombre de stories publiées par l’utilisateur aujourd’hui

**game\_get\_today\_user\_mention\_actions**() - nombre d’activités de l’utilisateur (mentions) aujourd’hui

**game\_get\_today\_user\_post\_mention\_actions**() - nombre de publications avec mentions par l’utilisateur aujourd’hui

**game\_get\_total\_comment\_action**() - nombre total de commentaires pendant toute la durée du jeu

**game\_get\_total\_message\_actions**() - nombre total de messages pendant toute la durée du jeu

**game\_get\_total\_stories\_actions**() - nombre total de stories pendant toute la durée du jeu

**game\_get\_total\_stories\_mention\_actions()** - nombre total de mentions dans les stories pendant toute la durée du jeu

**game\_get\_total\_post\_mention\_actions()** - nombre total de mentions dans les publications pendant toute la durée du jeu

## Obtention du classement dans Telegram &#x20;

{% hint style="warning" %}
Pour configurer les opérations des fonctions, nous recommandons d’utiliser la gamification[ modèle pour les chats Telegram comme référence](#getting-ranking-in-telegram).
{% endhint %}

Dans les variables globales, vous devez créer un dictionnaire nommé tg\_thanks\_score\_data pour stocker les informations des clients au format suivant :

`{"total_thanks":20,"326659632":{"name":"John","user_name":"john","score":5},"403051597":{"name":"Timm","user_name":"dbeing","score":15,"banned":false}}`

**tg\_get\_top(count=99999999, shift=0, humanize=False, delimiter=None)**&#x20;

Paramètres :&#x20;

**count** - combien d’utilisateurs retourner\
**décalage** - la position de départ dans le classement pour la sélection (0 signifie que la liste commence par le leader et descend selon les points ; par exemple, 3 signifie que la sélection commence à partir de la 4e place et au-dessous)\
**humanize** - 0 renvoie un tableau de dictionnaires d’utilisateurs, 1 renvoie une liste formatée à afficher à l’utilisateur\
**delimiter** - le séparateur entre le nom d’utilisateur et son score (utilisé si humanize=1)

**tg\_get\_user\_info()**

{'score': user\_score, 'place': place, 'name': name}


---

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