Como enviar mensagens usando uma conta Telegram Business

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)

Parâmetros:

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** text Texto da mensagem
client_message_id ID da mensagem a ser citada
reply_markup Configurações dos botões **
parse_mode Formatação de texto em negrito e itálico na descrição ***. Pode ter valores como html, markdown, markdownV2.
disable_web_page_preview Mostrar pré-visualização do link. Para desativar, passe 1; caso contrário, passe 0 ou deixe vazio "".
protect_content Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.
disable_notification Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.
message_thread_id ID do tópico (disponível para supergrupos com funcionalidade de fórum ativada)
entities 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. Consulte a aba de exemplo para referência.
**Exemplo detalhado**

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

O platform_id especifica o identificador de um cliente específico.

Veja o mesmo exemplo, mas usando variáveis:

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

Se você salvar o message_id da resposta recebida, isso permitirá que você trabalhe posteriormente com esta mensagem (editar, excluir, encaminhar, comentar).

Muitas vezes surgem dificuldades ao usar todos os parâmetros. Vamos considerar o seguinte exemplo:

  • Primeiro, declare todos os parâmetros usados na função. Lembre-se, os parâmetros podem ser passados não apenas como valores, mas também como variáveis, o que geralmente é mais conveniente e claro. Variáveis como platform_id e client_message_id podem ser obtidas no cartão de perfil do cliente.
    platform_id — ID do cliente do Telegram para o qual a mensagem deve ser enviada *\ >Responderemos no mesmo chat onde o cliente escreve

    text - texto da mensagem. \ >Usamos formatação de texto - por exemplo, destaque em negrito.

    client_message_id - ID da mensagem a ser citada\ >Em chats, esta variável recebe seu valor automaticamente.
    reply_markup — configurações dos botões **. \ >Vamos atribuí-la à variável opts.
    parse_mode — Formatação de texto em negrito e itálico na descrição ***. Pode ter valores como html, markdown, markdownV2. Os caracteres usados para formatar o texto da mensagem estão descritos aqui. \ >Vamos usar markdown.
    disable_web_page_preview - Mostrar pré-visualização do link. Para desativar, passe 1; caso contrário, passe 0 ou deixe vazio "".\ >Podemos passar qualquer valor, pois o texto da mensagem não contém um link.
    protect_content — Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.\ >Não precisamos de proteção de conteúdo, então passaremos uma string vazia ''.
    disable_notification — Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.\ >Uma notificação é uma janela pop-up que exibe o texto da mensagem. Vamos ativá-la.

  • Em seguida, montamos a função. Lembre-se de atribuir a função a uma variável — isso permitirá que você acompanhe o status do envio da mensagem.

Aqui está o que obtivemos:

Depois que o cliente nos enviar a palavra-chave test, respondemos citando a mensagem dele.

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

Exemplo com o parâmetro entities

Você pode armazenar a string original em uma variável, conforme 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":"`` https://mavibot.ai"},{"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ê usa. O parâmetro pode ser passado tanto para a função tg_send_message quanto para tg_send_message_1:

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

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"

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

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)

Parâmetro Descrição
**!** token Token do bot do Telegram obtido do BotFather
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** text Texto da mensagem
client_message_id ID da mensagem a ser citada
reply_markup Configurações dos botões **
parse_mode Formatação de texto em negrito e itálico na descrição ***. Pode ter valores como html, markdown, markdownV2.
disable_web_page_preview Mostrar pré-visualização do link. Para desativar, passe 1; caso contrário, passe 0 ou deixe vazio "".
protect_content Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.
disable_notification Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.
message_thread_id ID do tópico (disponível para supergrupos com funcionalidade de fórum ativada)
entities 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.
business_connection_id O valor Business ID é usado ao conectar o bot e exibido em canais. Deve ser fornecido se um token de bot estiver incluído nos parâmetros e a mensagem precisar ser enviada através de uma conta de usuário vinculada ao bot.
Exemplo

Exemplo de passagem do parâmetro:
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://mavibot.ai"},{"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 texto da mensagem em si é atribuído a uma variável separada.

Como editar texto em uma mensagem do Telegram

Por favor, observe!

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

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

De acordo com o suporte técnico do mensageiro, o período ideal para editar uma mensagem é de 48 horas.

tg_edit_message_text(platform_id, message_id, text, reply_markup, parse_mode, disable_web_page_preview, entities)

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** message_id ID da mensagem a ser editada. Este ID deve ser salvo previamente ao enviar a mensagem.
**!** text Texto da mensagem
reply_markup Configurações dos botões **
parse_mode Formatação de texto em negrito e itálico na descrição ***. Pode ter valores como html, markdown, markdownV2.
disable_web_page_preview Mostrar pré-visualização do link. Para desativar, passe 1; caso contrário, passe 0 ou deixe vazio "".
entities 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.

Como enviar uma reação a uma mensagem

tg_set_reaction(platform_id, message_id, reaction)

Parâmetro Descrição
**!** platform_id ID do chat do Telegram
**!** message_id ID da mensagem
**!** reaction A reação necessária é passada como uma string.
Exemplo

Exemplo de código para copiar:

react = tg_set_reaction(platform_id, 1556, '👌')

Exemplo na calculadora:

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)

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** message_id ID da mensagem a ser editada
**!** caption Texto da descrição
reply_markup Configurações dos botões **
parse_mode Formatação de texto em negrito e itálico na descrição ***. Pode ter valores como html, markdown, markdownV2.
entities

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.

Exemplo de passagem do parâmetro:
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"**https://,mavibot.ai"}**,{"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 texto da mensagem em si é atribuído a uma variável separada.

show_caption_above_media Assume o valor True; se este parâmetro for especificado, o texto da mensagem será exibido acima do anexo.

Como editar anexos de mídia em uma mensagem

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** message_id ID da mensagem a ser editada. Este ID deve ser salvo previamente ao enviar a mensagem.
**!** media

Um dicionário descrevendo o arquivo de mídia:
Exemplo de um dicionário JSON para substituir uma foto enviada anteriormente:
media = '{"type": "photo", "media": "<file_to_send>"}'

onde <file_to_send> é recomendado ser o file_id obtido através do webhook completo do Telegram.

Para mais detalhes, os parâmetros do dicionário estão descritos na documentação oficial do Telegram.

reply_markup Configurações dos botões **

Como editar um teclado inline em uma mensagem

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram para o qual a mensagem deve ser enviada *
**!** message_id ID da mensagem a ser editada. Este ID deve ser salvo previamente ao enviar a mensagem.
**!** reply_markup Configurações dos botões **

Você pode editar apenas um teclado inline.

Exemplo: edição de mensagens com a API do Telegram

Você pode encontrar um exemplo detalhado de como trabalhar com funções da API do Telegram para editar mensagens abaixo.

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)

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram PARA o qual a mensagem deve ser copiada *
**!** from_chat_id ID do usuário do Telegram DE onde a mensagem deve ser copiada *
**!** message_id ID da mensagem a ser copiada
reply_to_message_id ID da mensagem original se a mensagem copiada for um comentário
reply_markup Configurações dos botões **
parse_mode

Formatação de texto em negrito e itálico na descrição ***.

Pode ter valores como html, markdown, markdownV2.

protect_content Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.
disable_notification Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.
caption - Descrição de até 1024 caracteres.
message_thread_id ID do tópico (disponível para supergrupos com funcionalidade de fórum ativada)
entities 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.

Exemplo de passagem do parâmetro:
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":**"https://mavibot.ai"}**,{"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 texto da mensagem em si é atribuído a uma variável separada.
show_caption_above_media Assume o valor True; se este parâmetro for especificado, o texto da mensagem será exibido acima do anexo.

Como encaminhar uma mensagem

tg_forward_message(platform_id, from_chat_id, message_id, protect_content, disable_notification, message_thread_id)

Parâmetro Descrição
**!** platform_id ID do usuário do Telegram PARA o qual a mensagem deve ser enviada *
**!** from_chat_id ID do usuário do Telegram DE onde a mensagem deve ser enviada *
**!** message_id ID da mensagem a ser encaminhada
protect_content Flag de proteção de conteúdo. Passe qualquer valor exceto 0, False ou '' para ativar.
disable_notification Flag de notificação sonora (padrão: 0). Passe 1 para desativar a notificação, 0 para ativá-la.
message_thread_id ID do tópico (disponível para supergrupos com funcionalidade de fórum ativada)

Como excluir uma mensagem

tg_delete_message(platform_id, message_id)

! 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 foi enviada há menos de 48 horas.
  • Mensagens com dados em um chat privado só podem ser excluídas se foram enviadas há mais de 24 horas.
  • Bots podem excluir mensagens enviadas 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 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á.
Parâmetro Descrição
**!** platform_id ID do usuário do Telegram *
**!** message_id ID da mensagem a ser excluída

Como excluir várias mensagens

tg_delete_messages(platform_id, message_ids)

! 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 foi enviada há menos de 48 horas.
  • Mensagens com dados em um chat privado só podem ser excluídas se foram enviadas há mais de 24 horas.
  • Bots podem excluir mensagens enviadas 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 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á.
Parâmetro Descrição
**!** platform_id ID do usuário do Telegram
**!** message_ids Um array de IDs de mensagens a serem excluídas. Máximo de 100 itens.

Exemplo: envio de mensagens com a API do Telegram

Exemplo de código para copiar

Exemplo 1

/*É conveniente definir o texto em uma variável previamente*/
text='Escrevendo-escrevendo-escrevendo texto'
/*Função de enviar 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='Testando envio de mensagem via método da API. Por exemplo, *texto em negrito*'
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) 


Exemplo: edição de mensagens com a API do Telegram

Exemplo de configuração

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

Em seguida, edite o texto da mensagem:

E edite os botões:

Vamos tentar editar uma mensagem com uma imagem. Para fazer isso, envie uma mensagem com uma imagem e salve o ID da mensagem enviada. Leia as instruções detalhadas sobre como obter o URL da imagem aqui:

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

Exemplo de código para copiar
/*É conveniente definir os parâmetros em uma variável previamente.*/
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 enviar 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 lhe interessa?'
tg_edit_message_text(platform_id, soob_id, text, opts)  

/*Editar o teclado inline*/
opts = {"inline_keyboard": [[{"text": "Padrão","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!')

Exemplo: cópia de mensagens com a API do Telegram

Exemplo

Vamos enviar uma mensagem e salvar seu ID.

E copiar a mensagem enviada anteriormente.

Exemplo de código para copiar
/*É conveniente definir os parâmetros em uma variável previamente.*/
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 enviar 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)