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:

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)

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)

Como enviar uma reação a uma mensagem

tg_set_reaction(platform_id, message_id, reaction)

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)

Como editar anexos de mídia em uma mensagem

Como editar um teclado inline em uma mensagem

Você pode editar apenas um teclado inline.

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)

Como encaminhar uma mensagem

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

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á.

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á.

Exemplo: envio de mensagens com a API do Telegram

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

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:

/*É 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

Vamos enviar uma mensagem e salvar seu ID.

E copiar a mensagem enviada anteriormente.

/*É 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)