# Como fazer um bot para o Discord

## Criando um Bot

**Passo 1.** Crie uma aplicação ([siga o link](https://discord.com/developers/applications)).

**Passo 2.** Adicione um bot (clique no botão "**Add Bot")**).

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

**Passo 2.1.** Na **Instalação** seção, selecione **Instalar Link → Nenhum**.

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

**Passo 2.2.** Na **Bot** seção, desative **Bot Público**, depois ative os seguintes **Intenções**:

* **Intenção de Conteúdo de Mensagens**
* **Intenção de Membros do Servidor**

Você também pode ativar **Intenção de Presença** para uso futuro.

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

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

**Passo 3.** Obtenha o token (**Redefinir Token**).

**Etapa 4.** Adicione o bot ao servidor:

* Vá para **OAuth2 → Gerador de URL**.
* No **Escopos**, selecione **bot**.
* No **Permissões do Bot**, escolha **Enviar Mensagens**, **Ler Histórico de Mensagens**, e quaisquer outras permissões necessárias.

Depois abra o link gerado, selecione o servidor ao qual deseja adicionar o bot e confirme a autorização.

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

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

Para obter o webhook completo do Discord, basta atribuir qualquer valor à **save\_webhook** variável.

Se a variável estiver definida, o webhook será salvo em **discord\_webhook**.

## Conectando o Bot do Discord no MaviBot

Agora vá para a **“Mensageiros”** seção no seu projeto em **MaviBot**:

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

Depois cole o token copiado de **Discord**.

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

Clique no **Concluído** .

## Funções da Calculadora

### Responder a uma Mensagem

discord\_reply\_to\_message(message\_id, text) - Esta função é usada para **responder a uma mensagem**.

| Parâmetros                                            | Descrição                                        |
| ----------------------------------------------------- | ------------------------------------------------ |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** à qual você quer responder. |
| <mark style="color:$danger;">**!**</mark> text        | O **texto da mensagem de resposta**.             |

### Excluir uma Mensagem

discord\_delete\_message(message\_id) - Esta função é usada para **excluir uma mensagem.**&#x20;

| Parâmetros                                            | Descrição                          |
| ----------------------------------------------------- | ---------------------------------- |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** para excluir. |

### Editar uma Mensagem

discord\_edit\_message(message\_id, text) - Esta função é usada para **editar uma mensagem**.

| Parâmetros                                            | Descrição                         |
| ----------------------------------------------------- | --------------------------------- |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** para editar. |
| <mark style="color:$danger;">**!**</mark> text        | O **novo texto da mensagem**.     |

### Fixar uma Mensagem

discord\_pin\_message(message\_id) - Esta função é usada para **fixar uma mensagem.**

| Parâmetros                                            | Descrição                        |
| ----------------------------------------------------- | -------------------------------- |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** para fixar. |

### Desafixar uma mensagem

discord\_unpin\_message(message\_id) - Esta função é usada para **desafixar uma mensagem.**

| Parâmetros                                            | Descrição                            |
| ----------------------------------------------------- | ------------------------------------ |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** para desafixar. |

### Enviar uma reação a uma mensagem

discord\_send\_reaction(message\_id, reaction) - Esta função é usada para **enviar uma reação a uma mensagem.**

| Parâmetros                                            | Descrição                                                                                                                                                                                                    |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** para enviar uma reação a.                                                                                                                                                               |
| <mark style="color:$danger;">**!**</mark> reação      | O **reação a enviar**. Você pode fornecer um único emoji (por exemplo, ❤️) ou o ID de um emoji personalizado no servidor. Informações sobre como obter o ID de um emoji personalizado são fornecidas abaixo. |

### Remover uma reação de uma mensagem em um canal

discord\_delete\_reaction(message\_id, reaction, user\_id) - Esta função é usada para **remover uma reação de uma mensagem em um canal.**

| Parâmetros                                            | Descrição                                                                                                                                                                                                     |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="color:$danger;">**!**</mark> message\_id | O **ID da mensagem** da qual remover a reação.                                                                                                                                                                |
| <mark style="color:$danger;">**!**</mark> reação      | O **reação a remover**. Você pode fornecer um único emoji (por exemplo, ❤️) ou o ID de um emoji personalizado no servidor. Informações sobre como obter o ID de um emoji personalizado são fornecidas abaixo. |
| user\_id                                              | O **ID do usuário** cuja reação você quer remover. Este parâmetro é opcional se você quiser remover a reação do bot atual.                                                                                    |

## Retornos de chamada

Quando um usuário envia uma reação, um callback é recebido no chat no seguinte formato:

new\_like ❤️ uid413984787162726410

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

Onde `uid413984787162726410` é o **ID do usuário** que enviou a reação.

## Como obter o ID de um emoji personalizado

Se você enviar uma reação personalizada a uma mensagem em um canal do Discord, um callback será recebido no seguinte formato:

new\_like beer:1479419477396291696 uid413984787162726410

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

Onde `beer:1479419477396291696` é o **ID da reação**. Você pode copiá-lo para uso em funções relacionadas a reações.

## Como obter o ID da Mensagem

Você pode obter o ID da mensagem do cliente a partir do webhook se **save\_webhook** estiver ativado. Exemplo:

`data = discord_webhook["data"]`\
`msg_id = data["id"]`\
`result = discord_reply_to_message(msg_id, "Esta é uma resposta a uma mensagem")`


---

# 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/mensageiros/discord/chatbot.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.
