# Funções para enviar anexos em mensagens

## Como enviar documentos

<details>

<summary>Enviar documento tg_send_document() </summary>

<mark style="color:vermelho;">**!**</mark> Essas funções permitem enviar arquivos de qualquer tipo. Formatos recomendados: **GIF, PDF, ZIP** até **2GB**.

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_document(platform\_id, document, caption, reply\_markup, parse\_mode,reply\_to\_message\_id, protect\_content, disable\_notification**, **message\_thread\_id, entities)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;platform\_id** — identificador do cliente no Telegram para o qual a mensagem deve ser enviada [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii) &#x20;

<mark style="color:vermelho;">**!**</mark>**&#x20;document** - link para o documento no servidor do Telegram. Obter o link via tg\_request é explicado [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md).&#x20;

**caption** - descrição, até 1024 caracteres

**reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)&#x20;

**parse\_mode** — formatação de texto na legenda (negrito ou itálico)  [ **\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)**.** Valores possíveis: html, markdown, markdownV2. ссылка

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''.

**disable\_notification** — sinalizador para controlar notificações sonoras (padrão: 0).\
1 - enviar sem notificação, 0 - enviar com notificação

**message\_thread\_id** — identificador do tópico (disponível em supergrupos com funcionalidade de fórum)\
\
**entities** — permite reutilizar texto pré-formatado com estilos. Basta definir o deslocamento do caractere e o intervalo de formatação. Exemplo disponível em tg\_request no campo correspondente. Precisa ser um dicionário.\
\
Exemplo de passagem do parâmetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
Neste exemplo, apenas o dicionário é mostrado, enquanto o texto real da mensagem é definido em uma variável separada.

Para simplificar a descrição de um conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button).&#x20;

</details>

<details>

<summary>Enviar vários documentos ou outros arquivos tg_send_some_document()</summary>

<mark style="color:vermelho;">**!**</mark> Essas funções permitem enviar arquivos de qualquer tipo. Formatos recomendados: **GIF, PDF, ZIP** até **2GB**.

**tg\_send\_some\_document(platform\_id, document\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;platform\_id** — identificador do cliente no Telegram para o qual a mensagem deve ser enviada  [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)&#x20;

<mark style="color:vermelho;">**!**</mark>**&#x20;document\_list** - um array de documentos. Um exemplo de como construir esse array é fornecido abaixo

**disable\_notification** — sinalizador para controlar notificações sonoras (padrão: 0).\
1 - enviar sem notificação, 0 - enviar com notificação

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''.

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**message\_thread\_id** — identificador do tópico (disponível em supergrupos com funcionalidade de fórum)

**Exemplo de construção de um array document\_list:**\
'\[\["Link do documento", "legenda", "parse\_mode"], \["Link do documento 2"], \["Link do documento 3", "legenda"]]'&#x20;

**Exemplo de formatação de dados para um único documento** \
\["Link do documento", "legenda", "parse\_mode"]&#x20;

<mark style="color:vermelho;">**A ordem dos parâmetros é importante!**</mark> Ao criar um array de documentos, as aspas " " podem ser omitidas.

**Descrição dos parâmetros para o array document\_list:**\ <mark style="color:vermelho;">**!**</mark>**&#x20;Link do documento** - link do documento do servidor do Telegram. Obter o link via tg\_request é explicado [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md)   \
**caption** — descrição de até 1024 caracteres\
**parse\_mode** — formatação da descrição, ou seja, destaque de texto em negrito ou itálico  [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Exemplo</summary>

Vamos passar por um exemplo de envio de um único documento, adicionando botões inline e uma descrição ao documento:

1. Primeiro, obtenha o link do seu documento. Uma explicação detalhada de como fazer isso pode [ser encontrada aqui.](/doc/pt/chatbot/mensageiros/telegram/webhook.md#how-to-get-a-media-link-using-a-variable)
2. Crie um bloco e defina as variáveis conforme mostrado na captura de tela:<br>

   <div data-with-frame="true"><figure><img src="/files/77305e7896eb01a9f52df8287a7f9f875e833bb6" alt="" width="563"><figcaption></figcaption></figure></div>
3. Envie o bloco para nós mesmos e veja o resultado do nosso trabalho:

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

Agora vamos ver o envio de vários documentos.

1. Aqui também, você precisa obter um link interno do Telegram para cada documento e formar um array.\
   lnkdoc='\[\["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Documento1"],\["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Documento2"]]'
2. Por fim, monte a função para enviar documentos:

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

3\. E confira o resultado do trabalho:

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

Exemplo de código para enviar um único documento:

```
lnkdoc= "BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ"
opts = {"inline_keyboard": [[{"text": "Excelente","callback_data":"Answer1"}, {"text": "Não aceito","callback_data":"Answer2"}]]}
soob=tg_send_document(platform_id, lnkdoc, "Envio de documento", opts) 
```

Exemplo de código para enviar vários documentos:

```
lnkdoc='[["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Documento1"],["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Documento2"]]'
soob=tg_send_some_document(platform_id, lnkdoc)
```

</details>

## Como enviar um áudio / mensagem de voz

<details>

<summary>Enviar mensagem de áudio <strong>tg_send_voice(</strong>)</summary>

<mark style="color:vermelho;">!</mark> Esta função permite enviar arquivos de voz do tipo .OGG codificados com OPUS, com tamanho de até 2 GB.

<mark style="color:padrão;background-color:green;">**! Funciona apenas com conta empresarial do Telegram**</mark>

**tg\_send\_voice(platform\_id, voice, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, disable\_notification, message\_thread\_id, entities)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;platform\_id** — identificador do cliente no Telegram para o qual a mensagem deve ser enviada [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:vermelho;">**!**</mark>**&#x20;voice** - link para a mensagem de voz no formato .OGG

**caption** - descrição de até 1024 caracteres

**reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formatação de texto na descrição em negrito ou itálico [ **\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)**.** Valores possíveis:  html, markdown, markdownV2.

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativá-lo, passe qualquer valor exceto 0, False ou aspas vazias ''.

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0)   1 - enviar sem notificação, 0 - enviar com notificação

**message\_thread\_id** — identificador do tópico (disponível em supergrupos se o recurso de fórum estiver ativado).\
\
**entities** — com este parâmetro, você pode simplesmente copiar texto formatado com todos os seus recursos e especificar de qual caractere até qual ele será exibido com um estilo específico. Você pode ver um exemplo em tg\_request no campo correspondente. O parâmetro deve ser um dicionário. \
\
Exemplo de passagem do parâmetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
O exemplo mostra apenas um dicionário, enquanto o texto da mensagem em si é definido em uma variável.

Para simplificar a descrição do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar várias mensagens de áudio <strong>tg_send_some_audio()</strong></summary>

<mark style="color:vermelho;">**!**</mark> Esta função permite enviar arquivos de áudio do tipo .MP3 ou .M4A com tamanho máximo de 2 GB.

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_some\_audio(platform\_id, audio\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;platform\_id** — identificador do cliente no Telegram para o qual a mensagem deve ser enviada [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:vermelho;">**!**</mark>**&#x20;audio\_list** - um array de arquivos de áudio (detalhes abaixo)

**disable\_notification** — sinalizador para enviar a mensagem com ou sem notificação sonora (padrão: 0).                                                                                                                   1 — enviar sem notificação, 0 — enviar com notificação

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor exceto 0, False ou aspas vazias ''.

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

**Exemplo de construção do array audio\_list:** \
'\[\["Link do áudio 1", "legenda", "parse\_mode"], \["Link do áudio 2"], \["Link do áudio 3", "legenda"]]'&#x20;

**Exemplo de um único áudio:** \
\["Link do áudio", "legenda", "parse\_mode"]&#x20;

<mark style="color:vermelho;">**A ordem dos parâmetros é importante!**</mark> Ao montar o array de arquivos de áudio, as aspas "" podem ser omitidas

**Descrição dos parâmetros:** \ <mark style="color:vermelho;">**!**</mark>**&#x20;Link do áudio** - link para um arquivo de áudio no formato .OGG\
**caption** — descrição (até 1024 caracteres) \
**parse\_mode** — formatação do texto na legenda em negrito ou itálico   [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Exemplo</summary>

Como foi dito acima, a função trabalha com arquivos .OGG. Portanto, a primeira tarefa é obter uma gravação de áudio nesse formato. \
Se você tiver um **.**&#x61;rquivo MP3, você pode convertê-lo para **.**&#x4F;GG usando o <https://t.me/mp3toolsbot> bot.&#x20;

Em seguida, envie o arquivo resultante para você mesmo no bot para obter o file\_id seguindo o algoritmo [descrito aqui. ](#documents-an-example-of-how-to-send-using-the-telegram-api)

Agora monte a função:

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

Ótimo! Muito bem!

</details>

<details>

<summary>Exemplo para copiar</summary>

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

```
tg_send_voice(platform_id, "CQACAgIAAxkBAAER70Bi8VkgNhegB-msqDWXm2qHi3n9-AAC-iAAAk6giUvIXkW-XzBN0ikE")
```

</details>

<details>

<summary>Erro ao enviar mensagens de voz</summary>

Se uma mensagem falhar ao ser enviada devido às configurações de privacidade, o seguinte erro será retornado:

<mark style="color:vermelho;">{"ok":false,"error\_code":400,"description":"Bad Request: user restricted receiving of voice messages"}</mark>

Causa do erro: as configurações de privacidade do usuário contêm a opção “Não receber mensagens de voz” (seja de todos, ou permitindo apenas de certos usuários):

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

Mesmo que o usuário desative essa restrição de privacidade, o erro continuará aparecendo.

Na prática, apenas remover completamente o cliente do banco de dados do Mavibot ajuda a contornar esse erro, mesmo que o usuário já tenha ativado as permissões.

<mark style="color:verde;">**Solução:**</mark>&#x20;

Depois que o usuário alterar suas configurações de privacidade, é necessário aguardar uma pausa de 30–60 segundos (até que os servidores do mensageiro processem as alterações) e só então enviar uma solicitação de API ao Telegram via bot:\ <mark style="color:verde;">**<https://api.telegram.org/bot\\><TOKEN>/getChat?chat\_id=#{platform\_id}**</mark>

Depois disso, os dados do usuário serão atualizados e as mensagens de voz serão enviadas corretamente.

</details>

## Como enviar animações

<details>

<summary>Enviar animação <strong>tg_send_animation()</strong></summary>

<mark style="color:vermelho;">**!**</mark> Esta função permite enviar GIF ou vídeo H.264/MPEG-4 AVC sem som, com tamanho máximo de 2 GB.

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>

**tg\_send\_animation(platform\_id, animation, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities, show\_caption\_above\_media)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;animation**- link para a animação. Como obter um link via tg\_request é explicado [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md)&#x20;

**caption** - descrição de até 1024 caracteres

**reply\_markup** — configuração dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formatação do texto na legenda em negrito ou itálico  [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)**.** Valores possíveis: html, markdown, markdownV2

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''.

**has\_spoiler** — ativa spoiler. Para ativar, defina True.

**disable\_notification** — sinalizador para enviar a mensagem com ou sem notificação sonora (padrão: 0).  1 — enviar sem notificação, 0 — enviar com notificação

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)\
\
**entities** — com este parâmetro, você pode simplesmente copiar texto formatado com todos os seus recursos e especificar de qual caractere até qual ele será exibido com um estilo específico. Você pode verificar um exemplo em tg\_request no campo correspondente. O parâmetro deve ser um dicionário.&#x20;

**show\_caption\_above\_media** - se definido como True, a legenda da mensagem será exibida acima da mídia\
\
Exemplo de passagem do parâmetro:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
Neste exemplo, apenas o dicionário é mostrado, enquanto o texto da mensagem em si é armazenado em uma variável

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Exemplo</summary>

Vamos tornar a tarefa mais complexa e enviar uma animação com proteção de cópia e spoiler.

Como sempre, o processo começa com a obtenção do link interno do Telegram para a animação selecionada (detalhes [aqui](/doc/pt/chatbot/mensageiros/telegram.md)).

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

Por fim, monte a função:

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

E confira o resultado do trabalho:

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

```
animation="CgACAgIAAxkBAAIQDWO9Dbb0QODBmI_CUMhKHoWch7MDAAJBIQACtjXoScUjA-n5kGCYLQQ"
caption = "Feliz Ano Novo!"
soob=tg_send_animation(platform_id, animation, caption, None, None, None, True,True)
```

</details>

## Como enviar vídeos

<details>

<summary>Enviar vídeo usando a API do Telegram <strong>tg_send_video()</strong></summary>

<mark style="color:vermelho;">**!**</mark> Esta função permite enviar arquivos MPEG4 com tamanho de até 2 GB. \
(Outros formatos podem ser enviados como arquivos usando tg\_send\_document())

<mark style="color:padrão;background-color:green;">**! Trabalhe com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_video(platform\_id, video, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities,** show\_caption\_above\_media, cover **)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;video** - link do vídeo. Como obter links via tg\_request veja [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md)&#x20;

**caption** - descrição de até 1024 caracteres

**reply\_markup** — configurações dos botões  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formatação de texto na legenda em negrito ou itálico  [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)**.** Valores possíveis: html, markdown, markdownV2.

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''.

**has\_spoiler** — ativa spoiler. Para ativar, defina True

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)\
\
**entities** — com este parâmetro, você pode simplesmente copiar texto formatado com todos os seus recursos e especificar de qual caractere até qual ele será exibido com um estilo específico. Você pode verificar um exemplo em tg\_request no campo correspondente. O parâmetro deve ser um dicionário.&#x20;

**show\_caption\_above\_media** - se definido como True, o texto da mensagem será exibido acima da mídia.

cover - imagem de capa do vídeo na mensagem. Obter a URL via tg\_request é [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md). \
\
Exemplo de passagem do parâmetro:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
Neste exemplo, apenas o dicionário é mostrado, enquanto o texto da mensagem em si é armazenado em uma variável

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte[ macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar vários vídeos usando a API do Telegram <strong>tg_send_some_video()</strong></summary>

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_some\_video(platform\_id, video\_list, disable\_notification, protect\_content, reply\_to\_message\_id, has\_spoiler, message\_thread\_id)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;video\_list** - um array de arquivos de vídeo (detalhes abaixo)&#x20;

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**has\_spoiler** — ativa a formatação de spoiler (opcional; defina como True para ativar)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

**Exemplo de construção de um array de vídeo video\_list:** \
'\[\["Link do vídeo1", "legenda", "parse\_mode"], \["Link do vídeo2"], \["Link do vídeo3", "legenda"]]'

**Exemplo de construção de um único áudio:** \
\["Link do vídeo", "legenda", "parse\_mode"]&#x20;

<mark style="color:vermelho;">**A ordem dos parâmetros é importante!**</mark> Ao construir o array de arquivos de vídeo, as aspas "" podem ser omitidas

**Descrição dos parâmetros:** \ <mark style="color:vermelho;">**!**</mark>**&#x20;Link do vídeo** — URL interna do vídeo no Telegram. Obter o link via tg\_request é descrito [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md#how-to-get-webhook).\
**caption** — legenda de texto de até 1024 caracteres\
**parse\_mode** — formatação de texto na legenda em negrito ou itálico  [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)**.** Valores possíveis:  html, markdown, markdownV2.

</details>

<details>

<summary>Exemplo</summary>

Então, comece obtendo o link do arquivo que queremos enviar e, em seguida, preencha os parâmetros necessários da função:

<div data-with-frame="true"><figure><img src="/files/9cd9d435177a42df7248a2b3b97738fa6c460e26" alt="" width="563"><figcaption><p>Obtendo link de vídeo via tg_request</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/aa367ae06031c5dfeeb49292a2f124fb6a85278d" alt="" width="563"><figcaption><p>Envio do parâmetro do vídeo</p></figcaption></figure></div>

Depois de conferir, obtemos o vídeo:

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

```
video="BAACAgIAAxkBAAIQFmO9Ycbt5JDIr9HKQh-XkhS9FqTxAALQIwACtjXoSXKlqfbH-I_gLQQ"
soob=tg_send_video(platform_id, video
```

</details>

## Como enviar um vídeo circular

<details>

<summary>Enviar vídeo circular <strong>tg_send_video_note()</strong></summary>

<mark style="color:vermelho;">**!**</mark> A partir da versão 4.0, o Telegram oferece suporte ao envio de vídeos MPEG4 circulares com duração de até um minuto.

<mark style="color:padrão;background-color:green;">**! Trabalhe com conta empresarial do Telegram**</mark>

**tg\_send\_video\_note(platform\_id, video\_note,  reply\_markup, protect\_content, reply\_to\_message\_id, disable\_notification,  message\_thread\_id)** &#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;video\_note** - link do vídeo. Como obter o link via tg\_request é descrito [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md) \
**reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete ](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)

</details>

<details>

<summary>Exemplo</summary>

Se você tiver um vídeo quadrado, pode convertê-lo em um circular usando o <https://t.me/roundNoteBot> bot:&#x20;

<figure><img src="/files/09206e9c965e256e8b70e902c18570f081c10c6a" alt=""><figcaption><p>Obtendo o bot de vídeo circular via @roundNoteBot (https://t.me/roundNoteBot)</p></figcaption></figure>

Depois de ter o vídeo circular, envie-o para si mesmo no bot para obter o link (detalhes [aqui](/doc/pt/chatbot/mensageiros/telegram/api/attachment.md)),  e então configure a função para enviar o vídeo circular:

<figure><img src="/files/f8ff86dccf193a9e2a170c3f38d5b1f0eb2ddd6f" alt="" width="563"><figcaption></figcaption></figure>

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

```
tg_send_video_note(platform_id, 'DQACAgIAAxkBAAER6cVi6OzIezJo9FWu6WyZPzDgQX8B3QACcxsAArR3SUtRizDeiHWLNikE','','1')

```

</details>

## Como enviar uma localização

<details>

<summary>Enviar geolocalização <strong>tg_send_venue()</strong></summary>

<mark style="color:padrão;background-color:green;">**! Trabalhe com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_venue(platform\_id, latitude, longitude, title, address, protect\_content, disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;latitude** —latitude

<mark style="color:vermelho;">**!**</mark>**&#x20;longitude** — longitude

<mark style="color:vermelho;">**!**</mark>**&#x20;title** — título

<mark style="color:vermelho;">**!**</mark>**&#x20;address** — endereço

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**reply\_markup** — configurações dos botões  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte[ macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Exemplo</summary>

Então, vamos começar determinando as coordenadas do local. Você pode obtê-las usando  [Google Maps ](https://www.google.com/maps)

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

Em seguida, converta as coordenadas obtidas de graus decimais para o formato geográfico usando qualquer [conversor de coordenadas](https://coordinates-converter.com/en/decimal/51.000000,10.000000?karte=OpenStreetMap\&zoom=8):

<figure><img src="/files/9519747f7c7889dcad7cbf89b58a41730f64409d" alt="" width="375"><figcaption></figcaption></figure>

Agora, vamos prosseguir preenchendo os parâmetros da função e obtendo o resultado desejado:

<div data-with-frame="true"><figure><img src="/files/28c1700ee5d06bef9ac2ca77426b783fd91a8aa2" alt="" width="375"><figcaption></figcaption></figure></div>

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

</details>

<details>

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

```
soob=tg_send_venue(platform_id, "48°52′", "2°4′", "Os sonhos se tornam realidade!", "Paris, Torre Eiffel") 
```

</details>

## Como enviar contatos

<details>

<summary>Enviar contato <strong>tg_send_contact()</strong></summary>

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>

O Telegram oferece uma maneira rápida de compartilhar contatos da sua agenda. O mensageiro oferece suporte ao envio de **vCard** — um cartão de visita eletrônico

A função tg\_send\_contact permite enviar um número de telefone com um primeiro nome (ou nome da organização), além de adicionar botões e ativar a proteção de conteúdo para a mensagem.

**tg\_send\_contact(platform\_id, phone, first\_name, last\_name, protect\_content, disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

<mark style="color:vermelho;">**! - parâmetro obrigatório da função**</mark>

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;phone** — número de telefone no formato internacional. Por exemplo, para a Rússia: +7XXXXXXXXXX

<mark style="color:vermelho;">**!**</mark>**&#x20;first\_name** e **last\_name** - nome e sobrenome&#x20;

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Exemplo</summary>

Preencha os parâmetros: número de telefone, nome e sobrenome.

<div data-with-frame="true"><figure><img src="/files/4f4dcbb60abc08c313717536e39091f41996441f" alt="" width="563"><figcaption><p>Exemplo de preenchimento dos parâmetros da função de envio de contato.</p></figcaption></figure></div>

Confira o resultado:

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

</details>

<details>

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

```
soob=tg_send_contact(platform_id, "+79999999999", "Ann", "Test", 1) 
```

</details>

## Como enviar um sticker

<details>

<summary>Enviar sticker <strong>tg_send_sticker()</strong></summary>

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>

**tg\_send\_sticker(platform\_id, sticker\_id, protect\_content,  disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

Parâmetros:&#x20;

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;sticker\_id** - ID do sticker. Como obter um link via tg\_request é explicado [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md)&#x20;

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**reply\_markup** — configurações dos botões [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Exemplo</summary>

Enviar um sticker não é diferente de enviar qualquer outro anexo:\
1\. Obtenha o link interno do Telegram (detalhes aqui) \
2\. Preencha os parâmetros da função\
3\. Envie o bloco para si mesmo e verifique o resultado

<div data-with-frame="true"><figure><img src="/files/4db913f48568fd02f1fc10a300646a832d8e4383" alt="" width="563"><figcaption><p>Enviando sticker</p></figcaption></figure></div>

Resultado:

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links</mark>

```
soob=tg_send_sticker(platform_id, 'CAACAgIAAxkBAAEawJ5jmNeyat8uPGBMP3JzubRNXGjH3wACrw4AAsYg4UqePobN94_jkywE')
```

</details>

## Como enviar uma foto

{% hint style="warning" %}

#### **Entendendo o `caption` parâmetro**

O **`caption`** parâmetro fornece texto descritivo para uma imagem (por exemplo, um breve resumo ou explicação). Ele funciona da seguinte forma:

* **Com uma única imagem:** se uma legenda for fornecida, a mensagem conterá tanto a imagem quanto o texto descritivo.
* **Com várias imagens:** cada imagem pode ter sua própria legenda individual. Nesse caso, cada imagem será enviada junto com sua descrição específica.

**Experiência do usuário:** o texto da legenda geralmente é exibido quando o usuário clica ou toca na imagem.

> **Para especificações técnicas detalhadas e comportamento da API, consulte a documentação oficial do Telegram.**

**Observação:** se você estiver seguindo um tutorial em vídeo, revise as etapas com atenção, pois as configurações e interfaces podem ser atualizadas ao longo do tempo.
{% endhint %}

<details>

<summary>Enviar foto <strong>tg_send_photo()</strong></summary>

<mark style="color:vermelho;">**!**</mark> A foto não deve ter mais de 10 MB. A largura e a altura totais não devem exceder 10.000 pixels. A proporção entre largura e altura não deve exceder 20.

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>

**tg\_send\_photo(platform\_id, photo, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities, show\_caption\_above\_media)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;foto** - link para a imagem. Como obter um link via tg\_request é explicado [aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md).&#x20;

**caption** - descrição de até 1024 caracteres

**reply\_markup** — configurações dos botões  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formatação de texto na legenda em negrito ou itálico  [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)

**reply\_to\_message\_id -** ID da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**has\_spoiler** — ativa a formatação de spoiler, defina como True para ativar

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)\
\
**entities** — com este parâmetro, você pode simplesmente copiar texto formatado com todos os seus recursos e especificar de qual caractere até qual ele será exibido com um estilo específico. Você pode verificar um exemplo em tg\_request no campo correspondente. O parâmetro deve ser um dicionário.

show\_caption\_above\_media - se definido como True, o texto da mensagem será exibido acima da mídia\
\
Exemplo de envio do parâmetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
Neste exemplo, apenas o dicionário é mostrado, enquanto o texto da mensagem em si é armazenado em uma variável

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar várias fotos <strong>tg_send_some_photo()</strong></summary>

<mark style="color:vermelho;">**!**</mark> A foto não deve ter mais de 10 MB. A largura e a altura totais não devem exceder 10.000 pixels. A proporção entre largura e altura não deve exceder 20.

<mark style="color:padrão;background-color:green;">**! Trabalhe com conta empresarial do Telegram**</mark>&#x20;

**tg\_send\_some\_photo(platform\_id, image\_list, disable\_notification=0**, **protect\_content=False, reply\_to\_message\_id=0, has\_spoiler=False,message\_thread\_id)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#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:vermelho;">**!**</mark>**&#x20;image\_list** - um array de arquivos de imagem (detalhes abaixo)&#x20;

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**protect\_content** — sinalizador para proteger o conteúdo contra cópia (parâmetro opcional, para ativar passe 1 como valor)

**reply\_to\_message\_id -**  ID da mensagem à qual responder (ou seja, citar)

**has\_spoiler** — ativa a formatação de spoiler (opcional; defina como True para ativar)

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)<br>

**Exemplo image\_list:**

`'[["Link da imagem 1", "legenda", "parse_mode"], ["Link da imagem 2"], ["Link da imagem 3", "legenda"]]'`

**Exemplo de dados para uma única imagem:** \
\["Link da imagem 1", "legenda", "parse\_mode"]&#x20;

<mark style="color:vermelho;">**A ordem dos parâmetros é importante!**</mark> Ao construir o array de arquivos de imagem, as aspas "" podem ser omitidas

**Descrição dos parâmetros:&#x20;**&#x20;

<mark style="color:vermelho;">**!**</mark>**&#x20;Link da imagem 1** - link da imagem. Como obter o link via tg\_request é explicado[ aqui](/doc/pt/chatbot/mensageiros/telegram/webhook.md) &#x20;

**caption** — legenda de até 1024 caracteres

**parse\_mode** — formatação de texto na legenda em negrito ou itálico [**\*\*\***](/doc/pt/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Exemplo</summary>

Vamos ver um exemplo de função para enviar várias imagens:

primeiro, crie um array de imagens

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

Em seguida, preencha os parâmetros da função

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

Envie o bloco para si mesmo e aproveite o resultado

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links para o vídeo</mark>

```
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
```

</details>

## Como enviar um dado

<details>

<summary>Enviar um emoji com seleção aleatória (Dice) <strong>tg_send_dice()</strong> </summary>

**tg\_send\_dice(platform\_id, emoji, reply\_markup, disable\_notification, reply\_to\_message\_id, protect\_content, message\_thread\_id)**

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;platform\_id** — ID do cliente do Telegram para o qual a mensagem deve ser enviada [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

**emoji** - o emoji a ser enviado. Se você deixou o parâmetro vazio, um dado será enviado por padrão. Você pode passar o próprio emoji como string ou a palavra-chave usada para representá-lo

**reply\_markup** — configuração dos botões  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**disable\_notification** — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

**reply\_to\_message\_id -**&#x49;D da mensagem à qual responder (ou seja, citar)

**protect\_content** — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

**message\_thread\_id** — ID do tópico (disponível em supergrupos com funcionalidade de fórum)

Para simplificar as descrições do conjunto de botões, você pode usar o seguinte [macete](/doc/pt/chatbot/mensageiros/telegram/buttons.md#telegram-web-application-button)&#x20;

&#x20;

**Lista possível de emojis:** \
1\) 'darts' ou '🎯', valores de 1 a 6 \
2\) 'dice' ou '🎲', valores de 1 a 6 \
3\) 'bowling' ou '🎳', valores de 1 a 6 \
4\) 'basketball' ou '🏀', valores de 1 a 5  \
5\) 'football' ou '⚽', valores de 1 a 5 \
6\) 'slots' ou '🎰', valores de 1 a 64&#x20;

\
Além disso, se um cliente enviar um desses emojis para o bot, você receberá um callback contendo informações sobre a pontuação e qual emoji foi usado.

</details>

<details>

<summary>Exemplo</summary>

A opção mais simples é chamar a função usando apenas um parâmetro obrigatório:

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

Nesse caso, o cliente receberá um dado:

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

Se o cliente jogar o dado (clicando no emoji recebido), o bot receberá um callback com o número de pontos obtidos:

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

Você pode experimentar esta função. Por exemplo, vamos criar uma máquina caça-níqueis e adicionar um **Pontos** botão. Quando o botão for pressionado, receberemos o total de pontos do cliente:

<div data-with-frame="true"><figure><img src="/files/01b5c2647bd4578e49bda176f8f799bf25ce4836" alt="" width="563"><figcaption><p><strong>Primeira mensagem:</strong> Ofereça para jogar</p></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/0f72075680984348ca3c00999f2924c988a2a2f1" alt="" width="563"><figcaption><p>Exemplo de bot</p></figcaption></figure></div>

</details>

<details>

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

Primeiro exemplo:

```
soob=tg_send_dice(platform_id)
```

Segundo exemplo:

<pre><code>/* Primeiro exemplo */
<strong>tg_send_message(platform_id,'Clique na máquina caça-níqueis para tentar a sorte!')
</strong>opts='{"inline_keyboard": [[{"text": " 👓 ","callback_data":"Play"}]]}'
soob=tg_send_dice(platform_id, 'slots', opts)

/* Segundo bloco - Mensagem de texto */
<strong> #{res[1]} pontos obtidos
</strong><strong>/* Segundo bloco - Calculadora */
</strong>res=splitter('#{question}', ' ')
balls=if(balls==None,0,balls) + int(res[1])

/* Terceiro bloco - Mensagem de texto */
Você tem um total de #{balls} pontos
</code></pre>

</details>

## Como enviar um grupo de mídia

<details>

<summary>Enviar grupo de mídia tg_send_media_group()</summary>

<mark style="color:padrão;background-color:green;">**! Funciona com conta empresarial do Telegram**</mark>

Um método para enviar um grupo de fotos, vídeos, documentos ou arquivos de áudio como um álbum. Em caso de sucesso, é retornado um array dos arquivos enviados.

<mark style="color:laranja;">**Observação: documentos e arquivos de áudio não podem ser agrupados com outros tipos de arquivo!**</mark>

tg\_send\_media\_group(platform\_id, media\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)

Parâmetros:

<mark style="color:vermelho;">!</mark> platform\_id — ID do cliente do Telegram para o qual a mensagem deve ser enviada

<mark style="color:vermelho;">!</mark> media\_list - um array contendo de 2 a 10 fotos, vídeos, documentos ou arquivos de áudio (detalhes abaixo);

disable\_notification — sinalizador para enviar a mensagem com notificação sonora (padrão: 0).   \
1 — enviar sem notificação, 0 — enviar com notificação

protect\_content — sinalizador para proteger o conteúdo contra cópia. Para ativar, passe qualquer valor diferente de 0, False ou aspas vazias ''

reply\_to\_message\_id - ID da mensagem à qual responder (ou seja, citar)

message\_thread\_id — ID do tópico (disponível em supergrupos com funcionalidade de fórum);

**Conteúdo dos elementos do array media\_list:**

<mark style="color:vermelho;">!</mark> type - tipo de arquivo, “photo”, “video”, “audio” ou ”document”

<mark style="color:vermelho;">!</mark> media - arquivo a ser enviado. Passe um file\_id para enviar um arquivo que já exista nos servidores do Telegram (recomendado), uma URL HTTP para o Telegram buscar o arquivo na Internet ou «attach://\<file\_attach\_name>», para enviar um novo arquivo usando multipart/form-data com o nome \<file\_attach\_name>.

Leia mais: <https://core.telegram.org/bots/api#sending-files>

caption — título do arquivo enviado, 0–1024 caracteres.

parse\_mode — formatação de texto na legenda em negrito ou itálico

Leia mais: <https://core.telegram.org/bots/api#sending-files>

Exemplo de array media\_list:

\[{"type": "photo", "media": "AgACAgIAAxkBAAIKa2W6HqQG151EaWOKnCyy8feBi8p\_AAIH1zEbicvYSfi2QYj-CMreAQADAgADeAADNAQ", "caption": "vídeo de fantasmas"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P\_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", "caption": "vídeo de lebre"}]

</details>

<details>

<summary>Exemplo</summary>

Vamos ver um exemplo de função para enviar várias imagens:

primeiro, crie um array de imagens

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

Em seguida, preencha os parâmetros da função

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

Envie o bloco para si mesmo e aproveite o resultado

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

</details>

<details>

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

<mark style="color:vermelho;">Lembre-se de que os links são únicos para cada bot, então certifique-se de gerar seus próprios links para o vídeo</mark>

```
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
```

</details>

## Como enviar anexos de arquivo grandes

<details>

<summary>Exemplo</summary>

No Telegram (tanto para contas empresariais quanto para contas comuns), você pode enviar anexos por meio de um link:

1. Você pode enviar anexos de qualquer tamanho, contornando os limites de tamanho de arquivo.
2. Você também pode enviar qualquer tipo de anexo de que precisar.

Como fazer:

Copie o link de um anexo que já esteja acessível publicamente:

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

Em seguida, cole o link copiado na função de anexo no seu bloco:

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

Pronto. Dessa forma, você pode enviar anexos de qualquer tipo e tamanho.

</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/attachment.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.
