# Métodos de gamificación

## Métodos de gamificación en Instagram y Facebook&#x20;

{% hint style="warning" %}
Para configurar las operaciones de las funciones, recomendamos usar la gamificación[ plantilla para chats de Instagram como referencia](#gamification-methods-in-instagram-and-facebook).&#x20;
{% endhint %}

Para usar las funciones enumeradas a continuación, debe declarar variables comunes en la **Configuración del proyecto**:

<table data-header-hidden><thead><tr><th width="270.3333333333333">Nombre de la variable</th><th width="323">Propósito de la variable</th><th align="center">Valor, ejemplo</th></tr></thead><tbody><tr><td>comment_score</td><td>cuántos puntos otorgar por comentarios</td><td align="center">10</td></tr><tr><td>comment_max_actions </td><td>número máximo de comentarios por día</td><td align="center">5</td></tr><tr><td>min_comment_len</td><td>longitud mínima del comentario</td><td align="center">25</td></tr><tr><td>stories_score</td><td>cuántos puntos otorgar por reacciones en historias</td><td align="center">15</td></tr><tr><td>stories_max_actions</td><td>número máximo de acciones por día</td><td align="center">1</td></tr><tr><td>stories_mention_score</td><td>cuántos puntos otorgar por menciones en historias</td><td align="center">5</td></tr><tr><td>stories_mention_max_actions</td><td>número máximo de acciones por día</td><td align="center">2</td></tr><tr><td>post_mention_score</td><td>cuántos puntos otorgar por menciones en publicaciones</td><td align="center">10</td></tr><tr><td>post_mention_max_actions</td><td>número máximo de acciones por día</td><td align="center">3</td></tr><tr><td>end_game_date</td><td>fecha de finalización del juego</td><td align="center">30.12.2021</td></tr></tbody></table>

**game\_add\_comment**(text=None) - añade puntos por un comentario en Instagram o FB; también puede pasar cualquier texto.

**game\_add\_stories**() - añade puntos por reacciones en historias

**game\_add\_message**() - añade puntos por mensajes directos

**game\_add\_stories\_mention**() - añade puntos por menciones en historias

**game\_get\_user\_score**() - devuelve los puntos del usuario

**game\_get\_user\_place**() - muestra la posición del usuario en la clasificación

**game\_get\_leader\_score**() - devuelve los puntos del líder en la clasificación

**game\_get\_top(count=99999999, shift=0, humanize=False, delimiter=None, platform=None)** - llamar a la función sin argumentos devuelve una clasificación ordenada como un arreglo de usuarios. Acepta los siguientes 5 parámetros: **count** - cuántos usuarios devolver; **shift** - la posición inicial de rango para la selección (0 significa que la lista comienza desde el líder y desciende por puntos; por ejemplo, 3 significa que la selección comienza desde el 4.º puesto y hacia abajo); **humanize** **0** - devuelve un arreglo de diccionarios de usuarios, **1** devuelve una lista formateada para mostrar al usuario; **delimiter** - el separador entre el nombre de usuario y su puntuación (se usa si **humanize=1**); **plataforma 1** - muestra el inicio de sesión de Instagram (por ejemplo, **@nik**) en lugar del nombre de usuario.

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

**game\_add\_score**(count=1, client\_id=None) - añade puntos al usuario

**game\_set\_score**(score, client\_id=None) - establece los puntos totales del usuario

**game\_ban\_player**() - bloquea al usuario

**game\_unban\_player**() - desbloquea al usuario

**game\_user\_banned**() - devuelve el estado de bloqueo del usuario; True si está bloqueado, False si no

\# permite trabajar con valores arbitrarios en la clasificación.&#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** no se proporciona, la función trabaja con el cliente actual.
{% endhint %}

**game\_minus\_user\_score**(count =10) - resta puntos al usuario (**count** - cuántos puntos restar)

**game\_get\_today\_user\_comment\_action**() - número de comentarios hechos por el usuario hoy

**game\_get\_today\_user\_message\_actions**() - número de mensajes enviados por el usuario hoy

**game\_get\_today\_user\_stories\_actions**() - número de historias publicadas por el usuario hoy

**game\_get\_today\_user\_mention\_actions**() - número de actividades del usuario (menciones) hoy

**game\_get\_today\_user\_post\_mention\_actions**() - número de publicaciones con menciones del usuario hoy

**game\_get\_total\_comment\_action**() - número total de comentarios durante todo el juego

**game\_get\_total\_message\_actions**() - número total de mensajes durante todo el juego

**game\_get\_total\_stories\_actions**() - número total de historias durante todo el juego

**game\_get\_total\_stories\_mention\_actions()** - número total de menciones en historias durante todo el juego

**game\_get\_total\_post\_mention\_actions()** - número total de menciones en publicaciones durante todo el juego

## Obtener la clasificación en Telegram &#x20;

{% hint style="warning" %}
Para configurar las operaciones de las funciones, recomendamos usar la gamificación[ plantilla para chats de Telegram como referencia](#getting-ranking-in-telegram).
{% endhint %}

En las variables globales, debe crear un diccionario llamado tg\_thanks\_score\_data para almacenar la información del cliente en el siguiente formato:

`{"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;

Parámetros:&#x20;

**count** - cuántos usuarios devolver\
**shift** - la posición inicial de rango para la selección (0 significa que la lista comienza desde el líder y desciende por puntos; por ejemplo, 3 significa que la selección comienza desde el 4.º puesto y hacia abajo)\
**humanize** - 0 devuelve un arreglo de diccionarios de usuarios, 1 devuelve una lista formateada para mostrar al usuario\
**delimiter** - el separador entre el nombre de usuario y su puntuación (se usa 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/es/chatbot/functions/calculadora/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.
