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:
! 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.
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 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.

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)
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)
! 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.
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 próprio texto da mensagem é 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 mensagens está disponível apenas para mensagens novas e recentemente enviadas.
A janela de tempo durante a qual a edição de mensagens é permitida é determinada pelo próprio mensageiro e depende da carga/atividade do seu bot; ela pode ser reduzida para edição.
De acordo com o suporte técnico do mensageiro, o prazo 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)
! 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)
! platform_id
ID do chat do Telegram
! message_id
ID da mensagem
! reação
A reação desejada é 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)
! 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
! 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
Você pode editar apenas um teclado inline.
Exemplo: edição de mensagem com a API do Telegram
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)
! 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)
! 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á.
! 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á.
! 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
Exemplo: edição de mensagem com a API do Telegram
Exemplo de configuração
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:

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

