# Métodos de gamificação

## Métodos de gamificação no Instagram e no Facebook&#x20;

{% hint style="warning" %}
Para configurar operações de função, recomendamos usar a gamificação[ modelo para chats do Instagram como referência](#gamification-methods-in-instagram-and-facebook).&#x20;
{% endhint %}

Para usar as funções listadas abaixo, você precisa declarar variáveis comuns no **Configurações do projeto**:

<table data-header-hidden><thead><tr><th width="270.3333333333333">Nome da variável</th><th width="323">Finalidade da variável</th><th align="center">Valor, exemplo</th></tr></thead><tbody><tr><td>comment_score</td><td>quantos pontos conceder para comentários</td><td align="center">10</td></tr><tr><td>comment_max_actions </td><td>número máximo de comentários por dia</td><td align="center">5</td></tr><tr><td>min_comment_len</td><td>comprimento mínimo do comentário</td><td align="center">25</td></tr><tr><td>stories_score</td><td>quantos pontos conceder por reações em stories</td><td align="center">15</td></tr><tr><td>stories_max_actions</td><td>número máximo de ações por dia</td><td align="center">1</td></tr><tr><td>stories_mention_score</td><td>quantos pontos conceder por menções em stories</td><td align="center">5</td></tr><tr><td>stories_mention_max_actions</td><td>número máximo de ações por dia</td><td align="center">2</td></tr><tr><td>post_mention_score</td><td>quantos pontos conceder por menções em postagens</td><td align="center">10</td></tr><tr><td>post_mention_max_actions</td><td>número máximo de ações por dia</td><td align="center">3</td></tr><tr><td>end_game_date</td><td>data de término do jogo</td><td align="center">30.12.2021</td></tr></tbody></table>

**game\_add\_comment**(text=None) - adiciona pontos por um comentário no Instagram ou no FB; você também pode passar qualquer texto.

**game\_add\_stories**() - adiciona pontos por reações em stories

**game\_add\_message**() - adiciona pontos para mensagens diretas

**game\_add\_stories\_mention**() - adiciona pontos por menções em stories

**game\_get\_user\_score**() - retorna os pontos do usuário

**game\_get\_user\_place**() - exibe a posição do usuário no ranking

**game\_get\_leader\_score**() - retorna os pontos do líder no ranking

**game\_get\_top(count=99999999, shift=0, humanize=False, delimiter=None, platform=None)** - chamar a função sem argumentos retorna um ranking ordenado como um array de usuários. Ela aceita os seguintes 5 parâmetros: **count** - quantos usuários retornar; **shift** - a posição inicial do ranking para a seleção (0 significa que a lista começa do líder e segue para baixo por pontos; por exemplo, 3 significa que a seleção começa da 4ª colocação para baixo); **humanize** **0** - retorna um array de dicionários de usuários, **1** retorna uma lista formatada para exibição ao usuário; **delimiter** - o separador entre o nome de usuário e sua pontuação (usado se **humanize=1**); **plataforma 1** - exibe o login do Instagram (por exemplo, **@nik**) em vez do nome de usuário.

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

**game\_add\_score**(count=1, client\_id=None) - adiciona pontos ao usuário

**game\_set\_score**(score, client\_id=None) - define os pontos totais do usuário

**game\_ban\_player**() - bloqueia o usuário

**game\_unban\_player**() - desbloqueia o usuário

**game\_user\_banned**() - retorna o status de banimento do usuário; True se estiver banido, False caso contrário

\# permite trabalhar com valores arbitrários no ranking.&#x20;

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

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

{% hint style="info" %}
Se **client\_id** não for fornecido, a função trabalha com o cliente atual.
{% endhint %}

**game\_minus\_user\_score**(count =10) - subtrai pontos do usuário (**count** - quantos pontos subtrair)

**game\_get\_today\_user\_comment\_action**() - número de comentários feitos pelo usuário hoje

**game\_get\_today\_user\_message\_actions**() - número de mensagens enviadas pelo usuário hoje

**game\_get\_today\_user\_stories\_actions**() - número de stories publicados pelo usuário hoje

**game\_get\_today\_user\_mention\_actions**() - número de atividades do usuário (menções) hoje

**game\_get\_today\_user\_post\_mention\_actions**() - número de publicações com menções feitas pelo usuário hoje

**game\_get\_total\_comment\_action**() - número total de comentários durante todo o jogo

**game\_get\_total\_message\_actions**() - número total de mensagens durante todo o jogo

**game\_get\_total\_stories\_actions**() - número total de stories durante todo o jogo

**game\_get\_total\_stories\_mention\_actions()** - número total de menções em stories durante todo o jogo

**game\_get\_total\_post\_mention\_actions()** - número total de menções em postagens durante todo o jogo

## Obtendo ranking no Telegram &#x20;

{% hint style="warning" %}
Para configurar operações de função, recomendamos usar a gamificação[ modelo para chats do Telegram como referência](#getting-ranking-in-telegram).
{% endhint %}

Nas variáveis globais, você deve criar um dicionário chamado tg\_thanks\_score\_data para armazenar as informações do cliente no seguinte 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** - quantos usuários retornar\
**shift** - a posição inicial do ranking para a seleção (0 significa que a lista começa do líder e segue para baixo por pontos; por exemplo, 3 significa que a seleção começa da 4ª colocação para baixo)\
**humanize** - 0 retorna um array de dicionários de usuários, 1 retorna uma lista formatada para exibição ao usuário\
**delimiter** -  o separador entre o nome de usuário e sua pontuação (usado se humanize=1)

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

{'score': pontuação\_do\_usuário, 'place': posição, 'name': nome}


---

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