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)

Parâmetros:

Parâmetro
Descrição

! platform_id

ID de 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 do botão **

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

Exibir prévia do link. Para desativá-la, 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 a 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. Veja a aba de exemplo como referência.

chevron-rightExemplo detalhadohashtag

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 de uma mensagem.

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. platform_id — ID do cliente do Telegram para o qual a mensagem deve ser enviada * >Responderemos no mesmo chat em que 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 >Nos chats, essa 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 a formatação do texto da mensagem são descritos aqui. >Vamos usar markdown. disable_web_page_preview - Exibir prévia do link. Para desativá-la, 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 vamos passar 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á acompanhar o status do envio da mensagem.

O campo "Calculadora"

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":" 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ê 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)

circle-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"

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)

Parâmetro
Descrição

! token

Token do bot do Telegram obtido no BotFather

! platform_id

ID de 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 do botão **

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

Exibir prévia do link. Para desativá-la, 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 a 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 ID comercial 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.

chevron-rightExemplohashtag

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 próprio texto da mensagem é atribuído a uma variável separada.

Como editar texto em uma mensagem do Telegram

circle-exclamation

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 de usuário do Telegram para o qual a mensagem deve ser enviada *

! message_id

ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem.

! text

Texto da mensagem

reply_markup

Configurações do botão **

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

Exibir prévia do link. Para desativá-la, 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

! reação

A reação desejada é passada como uma string.

chevron-rightExemplohashtag

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 de 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 do botão **

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 próprio texto da mensagem é atribuído a uma variável separada.

show_caption_above_media

Recebe 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 de usuário do Telegram para o qual a mensagem deve ser enviada *

! message_id

ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem.

! mídia

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 via o webhook completo do webhook do Telegram.

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

reply_markup

Configurações do botão **

Como editar um teclado inline em uma mensagem

Parâmetro
Descrição

! platform_id

ID de usuário do Telegram para o qual a mensagem deve ser enviada *

! message_id

ID da mensagem a ser editada. Esse ID deve ser salvo previamente ao enviar a mensagem.

! reply_markup

Configurações do botão **

circle-exclamation
chevron-rightExemplo: edição de mensagem com a API do Telegramhashtag

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

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 de usuário do Telegram PARA o qual uma mensagem deve ser copiada *

! from_chat_id

ID de usuário do Telegram DE onde uma 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 do botão **

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 a 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 próprio texto da mensagem é atribuído a uma variável separada.

show_caption_above_media

Recebe 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 de usuário do Telegram PARA o qual uma mensagem deve ser enviada *

! from_chat_id

ID de usuário do Telegram DE onde uma mensagem deve ser enviada *

! message_id

ID da mensagem 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 a 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 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á.

Parâmetro
Descrição

! platform_id

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

Parâmetro
Descrição

! platform_id

ID de usuário do Telegram

! message_ids

Uma matriz de IDs de mensagens a serem excluídas. Máximo de 100 itens.

Exemplo: envio de mensagem com a API do Telegram

chevron-rightExemplo de código para copiarhashtag

Exemplo 1

Exemplo 2

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

chevron-rightExemplo de configuraçãohashtag

Então, vamos enviar uma mensagem para nós mesmos 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 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:

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

chevron-rightExemplo de código para copiarhashtag

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

chevron-rightExemplohashtag

Vamos enviar uma mensagem e salvar seu ID.

E copiar a mensagem enviada anteriormente.

chevron-rightExemplo de código para copiarhashtag

Atualizado