# Funções para enviar e editar mensagens

## **Como enviar mensagens usando uma conta empresarial do Telegram**

**tg\_send\_message(platform\_id, text,client\_message\_id, reply\_markup, parse\_mode, disable\_web\_page\_preview, protect\_content, disable\_notification**, **message\_thread\_id, entities)**&#x20;

Parâmetros:

<table><thead><tr><th width="324.87890625">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong></td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> text</strong></td><td>Texto da mensagem</td></tr><tr><td><strong>client_message_id</strong> </td><td>ID da mensagem a ser citada</td></tr><tr><td><strong>reply_markup</strong></td><td>Configurações do botão  <a href="/pages/fdb053fc4b968795b8d024d332212c914df8f1c9#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>Formatação de texto em negrito e itálico na descrição<a href="/pages/611f37ccc1d1a48c54b1ff7429d7ba76b66ab4e2#markdown-markup"> <strong>***</strong></a><strong>.</strong> Pode ter valores como html, markdown, markdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong></td><td>Exibir prévia do link. Para desativá-la, passe 1; caso contrário, passe 0 ou deixe vazio "".</td></tr><tr><td><strong>protect_content</strong></td><td>Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.</td></tr><tr><td><strong>disable_notification</strong></td><td>Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.</td></tr><tr><td><strong>message_thread_id</strong></td><td>ID do tópico (disponível para supergrupos com a funcionalidade de fórum ativada)</td></tr><tr><td><strong>entities</strong></td><td>Isso permite copiar texto pré-formatado junto com todos os seus estilos e simplesmente especificar o intervalo de caracteres onde uma determinada fonte deve ser aplicada. Um exemplo pode ser encontrado no tg_request no campo correspondente. O parâmetro deve ser um dicionário. Veja a aba de exemplo como referência.</td></tr></tbody></table>

<details>

<summary><mark style="color:laranja;"><strong>Exemplo detalhado</strong></mark></summary>

Vamos considerar um exemplo simples com um conjunto de parâmetros obrigatórios:

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

O platform\_id especifica o identificador de um cliente específico.

Veja o mesmo exemplo, mas usando variáveis:

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

Neste exemplo, a variável `soob` conterá a resposta do servidor após o envio de uma mensagem.

<div data-with-frame="true"><figure><img src="/files/367b4931169ef9c29c874e0058b18a547cade93d" alt="" width="356"><figcaption></figcaption></figure></div>

Se você salvar o `message_id` da resposta recebida, isso permitirá trabalhar posteriormente com essa mensagem (editar, excluir, encaminhar, comentar).

Dificuldades frequentemente surgem ao usar todos os parâmetros. Vamos considerar o exemplo a seguir:

* Primeiro, declare todos os parâmetros usados na função. Lembre-se de que os parâmetros podem ser passados não apenas como valores, mas também como variáveis, o que costuma ser mais conveniente e claro. Variáveis como platform\_id e client\_message\_id podem ser obtidas no cartão de perfil do cliente. \
  &#x20;**platform\_id** — ID do cliente do Telegram para o qual a mensagem deve ser enviada [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)\ <mark style="color:verde;">>Responderemos no mesmo chat em que o cliente escreve</mark>

  **text** - texto da mensagem. \ <mark style="color:verde;">>Usamos formatação de texto - por exemplo, destaque em negrito.</mark>

  **client\_message\_id** - ID da mensagem a ser citada\ <mark style="color:verde;">>Nos chats, essa variável recebe seu valor automaticamente.</mark>\
  **reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)**.** \ <mark style="color:verde;">>Vamos atribuí-la à variável opts.</mark>\
  **parse\_mode** — Formatação de texto em negrito e itálico na descrição [**\*\*\***](#kak-ispolzovat-razmetku-teksta-markdown-v-parametre-parse_mode)**.** Pode ter valores como html, markdown, markdownV2. Os caracteres usados para a formatação do texto da mensagem são descritos[ aqui](/doc/pt/chatbot/builder/telegram_messages.md). \ <mark style="color:verde;">>Vamos usar markdown.</mark> \
  **disable\_web\_page\_preview -** Exibir prévia do link. Para desativá-la, passe 1; caso contrário, passe 0 ou deixe vazio "".\ <mark style="color:verde;">>Podemos passar qualquer valor, pois o texto da mensagem não contém um link.</mark>\
  **protect\_content** — Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.\ <mark style="color:verde;">>Não precisamos de proteção de conteúdo, então vamos passar uma string vazia</mark> <mark style="color:verde;">''.</mark>\
  **disable\_notification** — Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.\ <mark style="color:verde;">>Uma notificação é uma janela pop-up que exibe o texto da mensagem. Vamos ativá-la.</mark>
* Em seguida, montamos a função. Lembre-se de atribuir a função a uma variável — isso permitirá acompanhar o status do envio da mensagem.

<div data-with-frame="true"><figure><img src="/files/db84fa06868574528d61a1339bc3298463a9e629" alt="" width="563"><figcaption><p>O campo "Calculadora"</p></figcaption></figure></div>

Veja o que obtivemos:\
Depois que o cliente nos envia a palavra-chave test, respondemos citando a mensagem dele.

No `ok` vemos o status de envio; em seguida vêm as informações sobre a própria mensagem — seu ID, dados do remetente e conteúdo.

Exemplo com o **entities** parâmetro\
Você pode armazenar a string original em uma variável, como mostrado abaixo:

`text = "qwert asdfg zxcvb poiuy lkjhg 12345"`\
\
Você deve escrever o parâmetro como um dicionário com os dados e especificar a formatação desejada indicando as fontes:

`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"``    `<mark style="color:vermelho;">**`https://mavibot.ai"}`**</mark>`,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`

Passe o parâmetro por último na função que você usar. O parâmetro pode ser passado tanto para as funções tg\_send\_message quanto tg\_send\_message\_1:

`x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities`)

</details>

{% hint style="info" %}
Para atribuir texto com quebras de linha a uma variável, especifique o valor da seguinte forma:

`text = "Primeira linha de texto" + "\n" + "Segunda linha de texto" + "\n" + "Terceira linha"`
{% endhint %}

## Como enviar uma mensagem especificando um bot específico do Telegram

tg\_send\_message\_1(token, platform\_id, text, client\_message\_id, reply\_markup, parse\_mode, disable\_web\_page\_preview, protect\_content, disable\_notification, message\_thread\_id, entities, business\_connection\_id)

<table><thead><tr><th width="288.94140625">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> token</strong></td><td>Token do bot do Telegram obtido no BotFather</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong></td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> text</strong></td><td>Texto da mensagem</td></tr><tr><td><strong>client_message_id</strong></td><td>ID da mensagem a ser citada</td></tr><tr><td><strong>reply_markup</strong></td><td>Configurações do botão  <a href="/pages/fdb053fc4b968795b8d024d332212c914df8f1c9#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>Formatação de texto em negrito e itálico na descrição <a href="/pages/611f37ccc1d1a48c54b1ff7429d7ba76b66ab4e2"><strong>***</strong></a><strong>.</strong> Pode ter valores como html, markdown, markdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong></td><td>Exibir prévia do link. Para desativá-la, passe 1; caso contrário, passe 0 ou deixe vazio "".</td></tr><tr><td><strong>protect_content</strong></td><td>Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.</td></tr><tr><td><strong>disable_notification</strong></td><td>Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>ID do tópico (disponível para supergrupos com a funcionalidade de fórum ativada)</td></tr><tr><td><strong>entities</strong></td><td>Isso permite copiar texto pré-formatado junto com todos os seus estilos e simplesmente especificar o intervalo de caracteres onde uma determinada fonte deve ser aplicada. Um exemplo pode ser encontrado no tg_request no campo correspondente. O parâmetro deve ser um dicionário.</td></tr><tr><td><strong>business_connection_id</strong></td><td>O <strong>ID comercial</strong> o valor é usado ao conectar o bot e é exibido nos canais. Ele deve ser fornecido se um token de bot estiver incluído nos parâmetros e a mensagem precisar ser enviada por meio de uma conta de usuário vinculada ao bot.</td></tr></tbody></table>

<details>

<summary>Exemplo</summary>

Exemplo de passagem do parâmetro:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"`<mark style="color:vermelho;">**`https://mavibot.ai"},`**</mark>`{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`

O exemplo mostra apenas o dicionário, enquanto o próprio texto da mensagem é atribuído a uma variável separada.

</details>

## Como editar texto em uma mensagem do Telegram

{% hint style="warning" %}
Por favor, observe!&#x20;

A função de edição de mensagens está disponível apenas para mensagens novas e recentemente enviadas. <br>

A janela de tempo durante a qual a edição de mensagens é permitida é determinada pelo próprio mensageiro e depende da carga/atividade do seu bot; ela pode ser reduzida para edição. <br>

De acordo com o suporte técnico do mensageiro, o prazo ideal para editar uma mensagem é de 48 horas.
{% endhint %}

tg\_edit\_message\_text(platform\_id, message\_id, text, reply\_markup, parse\_mode, disable\_web\_page\_preview, entities)

<table><thead><tr><th width="270.03125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong></td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem.</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> text</strong></td><td>Texto da mensagem</td></tr><tr><td><strong>reply_markup</strong></td><td>Configurações do botão  <a href="/pages/fdb053fc4b968795b8d024d332212c914df8f1c9#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>Formatação de texto em negrito e itálico na descrição <a href="/pages/611f37ccc1d1a48c54b1ff7429d7ba76b66ab4e2"><strong>***</strong></a><strong>.</strong> Pode ter valores como html, markdown, markdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong> </td><td>Exibir prévia do link. Para desativá-la, passe 1; caso contrário, passe 0 ou deixe vazio "".</td></tr><tr><td><strong>entities</strong></td><td>Isso permite copiar texto pré-formatado junto com todos os seus estilos e simplesmente especificar o intervalo de caracteres onde uma determinada fonte deve ser aplicada. Um exemplo pode ser encontrado no tg_request no campo correspondente. O parâmetro deve ser um dicionário.</td></tr></tbody></table>

## Como enviar uma reação a uma mensagem

tg\_set\_reaction(platform\_id, message\_id, reaction)

<table><thead><tr><th width="305.015625">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> platform_id</td><td>ID do chat do Telegram</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> message_id</td><td>ID da mensagem</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> reação</td><td>A reação desejada é passada como uma string.</td></tr></tbody></table>

<details>

<summary>Exemplo</summary>

Exemplo de código para copiar:

react = tg\_set\_reaction(platform\_id, 1556, '👌')

Exemplo na calculadora:

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

</details>

## Como editar a descrição de um anexo

**tg\_edit\_message\_caption(platform\_id, message\_id, caption, reply\_markup, parse\_mode, entities, show\_caption\_above\_media)**

<table><thead><tr><th width="305.015625">Parâmetro </th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> platform_id</td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> message_id</td><td>ID da mensagem a ser editada</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> caption</strong></td><td>Texto da descrição</td></tr><tr><td><strong>reply_markup</strong></td><td>Configurações do botão <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>Formatação de texto em negrito e itálico na descrição<a href="/pages/611f37ccc1d1a48c54b1ff7429d7ba76b66ab4e2"> <strong>***</strong></a><strong>.</strong>  Pode ter valores como html, markdown, markdownV2.</td></tr><tr><td><strong>entities</strong> </td><td><p>Isso permite copiar texto pré-formatado junto com todos os seus estilos e simplesmente especificar o intervalo de caracteres onde uma determinada fonte deve ser aplicada. Um exemplo pode ser encontrado no tg_request no campo correspondente. O parâmetro deve ser um dicionário.<br><br>Exemplo de passagem do parâmetro:<br><code>entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"</code><mark style="color:vermelho;"><strong><code>https://,mavibot.ai"}</code></strong></mark><code>,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]</code></p><p></p><p>O exemplo mostra apenas o dicionário, enquanto o próprio texto da mensagem é atribuído a uma variável separada.</p></td></tr><tr><td><strong>show_caption_above_media</strong></td><td>Recebe o valor True; se este parâmetro for especificado, o texto da mensagem será exibido acima do anexo.</td></tr></tbody></table>

## Como editar anexos de mídia em uma mensagem

<table><thead><tr><th width="270.03125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong></td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem. </td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> mídia</strong></td><td><p>Um dicionário descrevendo o arquivo de mídia:<br><em>Exemplo de um dicionário JSON para substituir uma foto enviada anteriormente:</em><br><code>media = '{"type": "photo", "media": "&#x3C;file_to_send>"}'</code></p><p></p><p>onde &#x3C;file_to_send> é recomendado ser o file_id obtido via o webhook completo do <a href="/pages/26b5a07fd5628311324140c913ea8d7bae20781a">webhook do Telegram</a>. </p><p></p><p>Para mais detalhes, os parâmetros do dicionário são descritos na <a href="/pages/b4a5d1019d160b3194cfe8046188fefccd42bf2d">documentação oficial do Telegram</a>. </p></td></tr><tr><td><strong>reply_markup</strong></td><td>Configurações do botão <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr></tbody></table>

## **Como editar um teclado inline em uma mensagem**

<table><thead><tr><th width="270.03125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong></td><td>ID de usuário do Telegram para o qual a mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem. </td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> reply_markup</strong></td><td>Configurações do botão <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr></tbody></table>

{% hint style="warning" %}
Você pode editar apenas um teclado inline.
{% endhint %}

<details>

<summary><strong>Exemplo: edição de mensagem com a API do Telegram</strong></summary>

Você pode encontrar abaixo um exemplo detalhado de uso das funções da API do Telegram para editar mensagens.&#x20;

</details>

## Como copiar uma mensagem

**tg\_copy\_message(platform\_id, from\_chat\_id, message\_id, reply\_to\_message\_id, reply\_markup, parse\_mode, protect\_content, disable\_notification, caption, message\_thread\_id, entities, show\_caption\_above\_media)**

<table><thead><tr><th width="270.03125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td> <mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>ID de usuário do Telegram PARA o qual uma mensagem deve ser copiada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> from_chat_id</strong> </td><td>ID de usuário do Telegram DE onde uma mensagem deve ser copiada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem a ser copiada</td></tr><tr><td><strong>reply_to_message_id</strong> </td><td>ID da mensagem original se a mensagem copiada for um comentário</td></tr><tr><td><strong>reply_markup</strong> </td><td>Configurações do botão <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td><p>Formatação de texto em negrito e itálico na descrição <a href="/pages/611f37ccc1d1a48c54b1ff7429d7ba76b66ab4e2"><strong>***</strong></a><strong>.</strong></p><p>Pode ter valores como html, markdown, markdownV2.</p></td></tr><tr><td><strong>protect_content</strong></td><td>Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.</td></tr><tr><td><strong>disable_notification</strong> </td><td>Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.                          </td></tr><tr><td><strong>caption</strong> - </td><td>Descrição de até 1024 caracteres.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>ID do tópico (disponível para supergrupos com a funcionalidade de fórum ativada)</td></tr><tr><td><strong>entities</strong> </td><td>Isso permite copiar texto pré-formatado junto com todos os seus estilos e simplesmente especificar o intervalo de caracteres onde uma determinada fonte deve ser aplicada. Um exemplo pode ser encontrado no tg_request no campo correspondente. O parâmetro deve ser um dicionário.<br><br>Exemplo de passagem do parâmetro: <br><code>entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":</code><mark style="color:vermelho;"><strong><code>"https://mavibot.ai"}</code></strong></mark><code>,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]</code>  <br><br>O exemplo mostra apenas o dicionário, enquanto o próprio texto da mensagem é atribuído a uma variável separada.</td></tr><tr><td><strong>show_caption_above_media</strong> </td><td>Recebe o valor True; se este parâmetro for especificado, o texto da mensagem será exibido acima do anexo.</td></tr></tbody></table>

## Como encaminhar uma mensagem

**tg\_forward\_message(platform\_id, from\_chat\_id, message\_id, protect\_content, disable\_notification,** **message\_thread\_id)**&#x20;

<table><thead><tr><th width="312.0703125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>ID de usuário do Telegram PARA o qual uma mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> from_chat_id</strong></td><td>ID de usuário do Telegram DE onde uma mensagem deve ser enviada <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem encaminhada</td></tr><tr><td><strong>protect_content</strong></td><td>Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.</td></tr><tr><td><strong>disable_notification</strong></td><td>Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>ID do tópico (disponível para supergrupos com a funcionalidade de fórum ativada)</td></tr></tbody></table>

## Como excluir uma mensagem

**tg\_delete\_message(platform\_id, message\_id)**&#x20;

<mark style="color:vermelho;">**!**</mark> Use este método para excluir uma mensagem, incluindo mensagens de serviço, com as seguintes restrições:

* Uma mensagem só pode ser excluída se tiver sido enviada há menos de 48 horas.
* Mensagens com dados em um chat privado só podem ser excluídas se tiverem sido enviadas há mais de 24 horas.
* Bots podem excluir mensagens enviadas por eles em chats privados, grupos e supergrupos.
* Bots podem excluir mensagens recebidas em chats privados.
* Bots com a permissão **can\_post\_messages** podem excluir mensagens enviadas por eles em canais.
* Se um bot for administrador de um grupo, ele pode excluir qualquer mensagem lá.
* Se um bot tiver a permissão **can\_delete\_messages** em um supergrupo ou canal, ele pode excluir qualquer mensagem lá.&#x20;

<table><thead><tr><th width="294.3203125">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>ID de usuário do Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a> </td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark><strong> message_id</strong></td><td>ID da mensagem a ser excluída</td></tr></tbody></table>

## **Como excluir várias mensagens**

tg\_delete\_messages(platform\_id, message\_ids)

<mark style="color:vermelho;">**!**</mark> Use este método para excluir uma mensagem, incluindo mensagens de serviço, com as seguintes restrições:

* Uma mensagem só pode ser excluída se tiver sido enviada há menos de 48 horas.
* Mensagens com dados em um chat privado só podem ser excluídas se tiverem sido enviadas há mais de 24 horas.
* Bots podem excluir mensagens enviadas por eles em chats privados, grupos e supergrupos.
* Bots podem excluir mensagens recebidas em chats privados.
* Bots com a permissão **can\_post\_messages** podem excluir mensagens enviadas por eles em canais.
* Se um bot for administrador de um grupo, ele pode excluir qualquer mensagem lá.
* Se um bot tiver a permissão **can\_delete\_messages** em um supergrupo ou canal, ele pode excluir qualquer mensagem lá.&#x20;

<table><thead><tr><th width="288.06640625">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> platform_id</td><td>ID de usuário do Telegram </td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> message_ids</td><td>Uma matriz de IDs de mensagens a serem excluídas. Máximo de 100 itens.</td></tr></tbody></table>

## **Exemplo: envio de mensagem com a API do Telegram**

<details>

<summary>Exemplo de código para copiar</summary>

Exemplo 1

```
/*É conveniente definir o texto previamente em uma variável*/
text='Writing-writing-witing text'
/*Função de envio de mensagem*/
soob=tg_send_message(platform_id, text)
/*Salvar o ID da mensagem enviada*/
soob_id=soob['result']['message_id']

```

Exemplo 2

```
id_group=-1001847103100
text='Testing message sending via API method. For example, *bold text*'
opts = {"inline_keyboard": [[{"text": "👍","callback_data":1}, {"text": "👎","callback_data":2}]]}
disable_web_page_preview=1
protect_content=''
disable_notification=1
parse_mode='markdown'
soob=tg_send_message(id_group, text,client_message_id, opts, parse_mode, disable_web_page_preview, protect_content, disable_notification) 


```

</details>

## **Exemplo: edição de mensagem com a API do Telegram**

<details>

<summary>Exemplo de configuração</summary>

Então, vamos enviar uma mensagem para nós mesmos com um teclado inline:

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

Em seguida, edite o texto da mensagem:

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

E edite os botões:

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

Vamos tentar editar uma mensagem com uma imagem. Para isso, envie uma mensagem com uma imagem e salve o ID da mensagem enviada. Leia as instruções detalhadas sobre como obter a URL da imagem [aqui](/doc/pt/chatbot/mensageiros/telegram/api/messages.md):&#x20;

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

Agora, vamos editar a imagem e sua descrição:

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

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
/*É conveniente definir os parâmetros previamente em uma variável.*/
text='Qual pacote você gostaria de escolher?'
opts = {"inline_keyboard": [[{"text": "Pacote 1","callback_data":1}, {"text": "Pacote 2","callback_data":2}]]}
/*Função de envio de mensagem*/
soob=tg_send_message(platform_id, text, None, opts)
/*Salvar o ID da mensagem enviada*/
soob_id=soob['result']['message_id']

/*Editar a mensagem*/
text='Qual pacote você tem interesse?'
tg_edit_message_text(platform_id, soob_id, text, opts)  

/*Editar o teclado inline*/
opts = {"inline_keyboard": [[{"text": "Standard","callback_data":1}, {"text": "Premium","callback_data":2}]]}
tg_edit_message_reply_markup(platform_id, soob_id, opts)


/*Enviar imagem com a descrição*/
soob=tg_send_photo(platform_id, "AgACAgIAAxkBAAIPpWO4T7jhOgYHq6uR8rjnq9rIvBs-AAJlwDEb5fHASaGdhzgWjyn7AQADAgADeAADLQQ", "Esta é uma imagem")
/*Salvar o ID da mensagem enviada*/
soob_id=soob['result']['message_id']

/*Editar a imagem*/
media='{"type": "photo", "media": "AgACAgIAAxkBAAIPrmO4UiH7Tazqn-3IbFVzPKNsVEZmAAJ1wDEb5fHASWcNXKah-egvAQADAgADeQADLQQ"}'
tg_edit_message_media(platform_id, soob_id, media)
/*Editar a descrição da imagem*/
tg_edit_message_caption(platform_id, soob_id, 'Esta sou EU!')
```

</details>

## **Exemplo: cópia de mensagem com a API do Telegram**

<details>

<summary>Exemplo</summary>

Vamos enviar uma mensagem e salvar seu ID.

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

E copiar a mensagem enviada anteriormente.

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

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
/*É conveniente definir os parâmetros previamente em uma variável.*/
text='Qual pacote você gostaria de escolher?'
opts = {"inline_keyboard": [[{"text": "Pacote 1","callback_data":1}, {"text": "Pacote 2","callback_data":2}]]}
/*Função de envio de mensagem*/
soob=tg_send_message(platform_id, text, None, opts)
/*Salvar o ID da mensagem enviada*/
soob_id=soob['result']['message_id']


/*Copiar a mensagem enviada*/
tg_copy_message('5081438490', '1840834360', soob_id, None, opts, None, None, 1)
```

</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/pt/chatbot/mensageiros/telegram/api/messages.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.
