Modificação e substituição

Você pode alterar uma mensagem como quiser, adicionando/ajustando o título (cabeçalho), o corpo, o rodapé e um link para a mensagem original.

Alteração do título

Onde está
Menu → Forwarding settings → Choose source and destination → Header

A forma como o cabeçalho (o título de um canal) está sendo exibido em suas assinaturas e seus encaminhamentos pode ser modificada.

⏵Commands
/setting header + uma das seguintes opções:

nenhum - sem título
Ex.  /setting header none
Ex.  /settingchannel source_channel_reference header none

simples - adicione o título do canal original no início
Ex.  /setting header simples
Ex.  /settingchannel source_channel_reference header simple

negrito - adicione o título do canal original no início, deixe-o em negrito
Ex.  /setting header bold
Ex.  /settingchannel source_channel_reference header bold

from_only - não mostra o título da fonte direta, mas mostra o título da fonte original (se houver)
Ex.  /setting header from_only
Ex.  /settingchannel source_channel_reference header from_only

id - adiciona o ID da mensagem original no início
Ex.  /setting header id
Ex.  /settingchannel source_channel_reference header id

qualquer outro texto - adicione esse texto como título de um canal no início
Ex.  /setting header Meu canal do Telegram
Ex.  /settingchannel source_channel_reference header My Telegram Channel

Você pode ajustar essa configuração no menu, mas também pode usar os comandos. Se estiver usando os comandos, para aplicar essa configuração a apenas um canal, substitua o comando /setting por /settingchannel source_channel_reference (leia mais).

Alteração de um link no rodapé

Onde está
Menu → Forwarding settings → Choose source and destination → Link to the original message

Por padrão, na conta padrão, o bot adiciona um rodapé com o link para a mensagem original. Esse link se parece com um símbolo @. Você pode ajustar a aparência desse rodapé ou desativá-lo.

Observe que essa configuração altera apenas o link adicionado pelo @junction_bot no final da mensagem. Essa configuração não afeta nenhum outro link na mensagem. Para saber como modificar outros links, consulte aqui.

⏵Commands
/setting link + uma das seguintes opções:

nenhum - não inclua o link
Ex.  /setting link none

completo - incluir o link como está
Ex.  /setting link full

qualquer outra string - oculte o link atrás desse texto
Ex.  /setting link Channel about kitties

Você pode ajustar essa configuração no menu, mas também pode usar os comandos. Se estiver usando os comandos, para aplicar essa configuração a apenas um canal, substitua o comando /setting por /settingchannel source_channel_reference (leia mais).

Mudança de corpo com o Before & After

Onde está
Menu → Forwarding settings → Choose source and destination → Add in the beginning/end

Com essas configurações, você pode adicionar texto personalizado no início ou no final da mensagem.

Para adicionar um texto com várias linhas, separe-as com uma tag <br>.

⏵Commands
/setting before - adiciona texto no início da mensagem.
Formato:  /setting before my text
Ex.  /setting before So I have heard:<br>
Observe que o corpo da mensagem será colocado logo após esse texto na mesma linha. Se você quiser iniciar o corpo da mensagem em uma nova linha, adicione <br> ao final do texto.

/setting before none - remove seu texto antes da mensagem.

/setting after - adiciona texto no final da mensagem.
Formato:  /setting after my text
Ex.  /setting after <br>In case of any questions please contact [email protected]
Observe que esse texto será colocado logo após o corpo da mensagem, na mesma linha. Adicione <br> ao início de seu texto se quiser iniciá-lo em uma nova linha.

/setting after none - remove seu texto no final da mensagem.

Você pode ajustar essa configuração no menu, mas também pode usar os comandos. Se estiver usando os comandos, para aplicar essa configuração a apenas um canal, substitua o comando /setting por /settingchannel source_channel_reference (leia mais).

Alteração do corpo e dos botões com o Replace

Onde está
Menu → Configurações de encaminhamento → Escolher origem e destino → Substituições

Você pode definir uma regra de substituição automática que substituirá um texto A nas mensagens recebidas por um texto B (ou com uma string vazia, basta remover o texto B).

É importante fazer as seguintes alterações de caracteres:

  • Em vez de <, use &lt;
  • Em vez de >, use &gt;

Isso pode ser feito usando a função localizar e substituir em qualquer editor de texto.

⏵Commands

Comandos

/replace - substitui o texto A pelo texto B OU remove essa regra se for repetida pela segunda vez. Formato: /replace source_channel_reference text&nbsp;to&nbsp;replace target&nbsp;text Ex. /replace source_channel_reference To&nbsp;be&nbsp;or&nbsp;not&nbsp;to&nbsp;be Wake&nbsp;up! - substituirá todas as ocorrências de "To be or not to be" provenientes do source_channel por "Wake up!". Ex. /replace source_channel_reference My&nbsp;advertisement - removerá todas as ocorrências de "My advertisement" provenientes do source_channel (literalmente as substituirá por nada) /replacerx - cria uma regra de substituição usando expressões regulares. O formato é o mesmo de /replace. /replace source_channel_reference - veja todas as regras de substituição no source_channel /replacerx source_channel_reference - veja todas as regras de substituição RegEx em source_channel Ao usar esses comandos, você deve fazer as seguintes alterações: - No lugar dos espaços em branco entre as palavras, você coloca o (significa NBSP - non-breaking space). Observe que ele é usado somente com o comando /replace. Você não precisa disso ao trabalhar com filtros. - No lugar de novas linhas, você coloca <br> Para remover a regra de substituição, use o mesmo comando com os mesmos argumentos pela segunda vez.

Observe que essas regras de substituição funcionam somente com o corpo de uma mensagem e com os botões, não alterando o cabeçalho (com o nome do canal) e o link para a postagem original.

Se você tiver várias regras de encaminhamento da mesma origem para destinos diferentes, poderá definir configurações, filtros e substituições diferentes para destinos diferentes. Veja mais detalhes aqui.

Veja mais exemplos aqui.

Substituir por expressões regulares

Além disso, você pode usar expressões regulares para fazer suas substituições. Para isso, use a caixa de seleção RE no painel de regras de substituição ou o comando /replacerx. Ele tem o mesmo formato.

Há um instrumento muito conveniente para testar expressões regulares: https://regex101.com. Defina o Flavor como “golang” e defina os sinalizadores “Linha única: O ponto corresponde à nova linha” e “Global: Não retornar após a primeira correspondência”. Isso fará com que ele funcione da mesma forma que um matcher do @junction_bot.

Ajuda com expressões regulares

As expressões regulares são um tópico vasto. A ajuda nessa área está além do escopo da administração do bot. Não escreva para os administradores em particular pedindo que eles criem uma regra de substituição ou um filtro para você. Além disso, a administração do bot não fornece esse tipo de ajuda no grupo de suporte.

A maneira mais fácil de criar uma expressão regular para suas necessidades é perguntar ao ChatGPT, pois ele é muito bom nisso.

Além disso, você pode procurar ajuda em fóruns apropriados. Por exemplo, StackOverflow ou CodeProject.

Regras de substituição úteis

Quando estiver depurando uma expressão regular

Sim, nós sabemos que as expressões regulares são difíceis. Aqui estão expressões prontas para algumas tarefas populares que você pode realizar com regras de substituição. Alguns deles podem ser resolvidos sem o RegEx, mas a maioria precisa dele.

Se você usar o menu principal para criar substituições, especifique o segundo argumento do comando /replace no campo From (De ) e o terceiro no campo To (Para ). Por exemplo, no exemplo nº 4, o campo From (De ) conterá <a[^<]+</a>, e o campo To (Para ) estará vazio. Além disso, como o comando /replacerx é usado, a caixa de seleção RE deve estar marcada.

1. Um cabeçalho com o nome do canal original pode ser removido com
/setting header none
2. Um link para a postagem original pode ser removido com
/setting link none
3. Qualquer texto concreto no corpo de uma mensagem pode ser removido com o comando /replace
3.1. /replace source_channel_reference <a&nbsp;href="https://concrete-link-here">text&nbsp;of&nbsp;the&nbsp;link&nbsp;here</a>
Isso substituirá esses links específicos por uma string vazia
3.2. /replace source_channel_reference @username
Isso removerá todas as ocorrências de @username
4. Todos os links formatados no corpo de uma mensagem podem ser removidos com
/replacerx source_channel_reference <a[^<]+</a>
5. Todos os links brutos podem ser removidos com
/replacerx source_channel_reference (http:\/\/|https:\/\/)([a-zA-Z0-9.\/\?=&_]+)
6. Para remover apenas os links que contêm t.me, use
/replacerx source_channel_reference (t.me)([a-zA-Z0-9.\/\?=&_]+)
Isso substituirá todos os caracteres por uma string vazia
7. Para remover todos os nomes de usuário de links como @username
/replacerx source_channel_reference @([a-zA-Z0-9=&_\-]+)
8. Para remover toda a parte da mensagem que começa com a palavra “Postscriptum”
/replacerx source_channel_reference Postscriptum.*
9. Remover todos os números no formato #12345
/replacerx source_channel_reference #([0-9]+)
10. Remova todas as linhas que contenham um keyword
/replacerx source_channel_reference .*\bkeyword\b.*
11. Remova todas as linhas que contenham keyword, seguidas de dígitos (como “keyword123”)
/replacerx source_channel_reference ^keyword[0-9]*$
12. Faça um keyword parecer ousado
/replace source_channel_reference keyword <b>keyword</b>
13. Remover linhas vazias
/replace source_channel_reference <br><br> <br>
14. Faça com que todos os números fiquem em negrito. Observe que, no último argumento, estamos inserindo o texto, correspondido por um RegEx, usando a referência $1. Você pode ler mais sobre esse poderoso recurso, por exemplo, aqui.
/replacerx source_channel_reference ([0-9]+) <b>$1</b>
15. Remova todos os textos. Somente imagens semelhantes à mídia permanecerão.
/replacerx source_channel_reference .*

Substituição de links

Os links em uma mensagem podem ser de diferentes tipos, portanto, não há um comando que sirva para todos. Primeiro, precisamos determinar o tipo de link e só então poderemos criar a regra de substituição correta. Para determinar o tipo de um link, você deve ativar o relatório de explicação em Menu → Forwarding settings → Choose source and destination → Explanation report ou com o comando

/settingchannel source_channel_reference explain on

Agora, para cada nova mensagem nessa fonte, o bot enviará um relatório incluindo o texto bruto e não formatado da mensagem. É assim que o bot vê a mensagem quando aplica as regras de substituição. Depois de ativar o relatório, precisamos aguardar uma nova mensagem na fonte que contenha o link que queremos alterar.

Opção 1. No relatório de entrada, vemos que o link é fornecido usando a tag <a>. Por exemplo:
Great news!
We won the "Fastest Telegram bot!" award.
<a href="https://junctionbot.io">Welcome to our website!<a>

Então, na regra de substituição, precisamos usar toda essa construção, lembrando de substituir todos os espaços por &nbsp;

O comando a seguir removerá esse link da mensagem:
/replace source_channel_reference <a&nbsp;href="https://junctionbot.io">Welcome&nbsp;to&nbsp;our&nbsp;website!</a>

Esse comando substituirá esse link por https://lectumbot.com:
/replace source_channel_reference <a&nbsp;href="https://junctionbot.io">Welcome&nbsp;to&nbsp;our&nbsp;website!</a> <a&nbsp;href="https://lectumbot.com">Welcome&nbsp;to&nbsp;our&nbsp;website!</a>

Tome cuidado, pois há apenas três espaços no último comando, entre os argumentos: source, what to change e what to change to.

Opção 2. No relatório de entrada, vemos que o link é especificado sem formatação, apenas como texto. Então não há <uma tag> ao redor do link.
Por exemplo:
Great news!
We won the "Fastest Telegram bot!" award.
Welcome to our website!

https://junctionbot.io

Então, sem nenhuma astúcia, na regra de substituição, apenas especificamos um link. Para removê-lo, usamos o comando:
/replace source_channel_reference https://junctionbot.io

Para substituí-lo por outro link:
/replace source_channel_reference https://junctionbot.io https://lectumbot.com

Outras opções

Se um link para a postagem original for adicionado pelo próprio bot, ele poderá ser removido com o comando
/setting link none

Exemplo avançado

Suponha que estejamos administrando um canal que acumula sinais de negociação gratuitos de outros canais e que desejamos colocar todos os sinais no mesmo formato. Um exemplo de uma mensagem no canal de origem:

Buy BTC/USD
Stop-Loss at 11000
Take-Profit 1 at 11500
Take-Profit 2 at 11700
Take-Profit 3 at 12000

Queremos que todas as mensagens tenham o seguinte formato:

BUY
#BTC/USD
SL: 11000 points
TP: 12000 points
Trade at your own risk!

Vamos supor que já tenhamos configurado um redirecionamento com o comando /new. Vamos supor também que estejamos usando a conexão direta e que o número do canal de origem seja &1234567890#1122334455. Você pode encontrar esse número com o comando /forwards. Se você tiver uma conta Standard, use um link para o canal em vez de &1234567890#1122334455 em todos os exemplos, por exemplo, https://t.me/joinchat/AFjgGGiosdgJGgSDG.

Queremos substituir Buy por um espaço com BUY, nova linha e #:
/replace &1234567890#1122334455 Buy&nbsp; BUY<br>#
O primeiro argumento é nossa fonte &1234567890#1122334455.
O segundo é o que queremos substituir. Observe que, para os comandos /replace e /replacerx, você precisa usar &nbsp; em vez de espaços.
O terceiro argumento é um texto que queremos colocar no lugar. Uma nova linha é <br>.

Em seguida, temos uma regra de substituição semelhante: Stop-Loss at é substituído por SL:
/replace &1234567890#1122334455 Stop-Loss&nbsp;at SL:

O próximo comando será mais complicado. Queremos remover duas linhas Take-Profit 1 e Take-Profit 2 e, em vez delas, adicionarpointsa uma anterior SL. Vamos usar o comando /replacerx, que nos permite usar expressões regulares.
/replacerx &1234567890#1122334455 \nTake-Profit&nbsp;1.*\n points<br>
Em expressões regulares, \n corresponde a uma nova linha, .* corresponde a qualquer combinação de símbolos. Dessa forma, \nTake-Profit&nbsp;1.*\n corresponde a Take-Profit 1 juntamente com uma nova linha antes dele, um preço depois dele (qualquer que seja o preço) e uma nova linha depois do preço. Estamos substituindo duas novas linhas aqui, portanto, precisamos compensar isso adicionando <br> à palavra points.

Em seguida, substituímos Take-Profit 2 mais um preço e mais Take-Profit 3por TP:
/replacerx &1234567890#1122334455 Take-Profit&nbsp;2.*Take-Profit&nbsp;3 TP:

Por fim, adicionamos uma palavra points e uma linha Trade at your own risk!. Para isso, usamos a configuração after, que pode adicionar um texto no final de cada mensagem.
/settingchannel &1234567890#1122334455 after points<br>Trade at your own risk!

Substituição de emojis premium

Um emoji premium é representado por uma tag <strong>, por exemplo:

<strong documentid="123456789">😁</strong>

Você pode obter o código exato ativando o relatório de explicação ( Menu → Configurações de encaminhamento → Escolher origem e destino → Relatório de explicação ) e enviando um emoji para o canal de origem.

Sabendo o código exato do emoji, você pode substituir esse emoji ou adicioná-lo à sua mensagem com antes/depois. Lembre-se de que, para publicar emojis premium, sua regra de substituição deve atender a determinadas condições.

Edição e tradução assistidas por IA

Você pode descrever de forma livre as alterações que deseja fazer no texto de suas mensagens e deixar que a IA faça o resto do trabalho. Dessa forma, você pode alterar alguns elementos ou números do texto ou reescrevê-lo completamente de novo (por exemplo, em um idioma diferente, em um estilo diferente, resumindo-o, analisando e inferindo, etc.).

Para saber como configurá-lo, consulte aqui.

Edição manual, substituição de fotos, vídeos etc.

Se você quiser editar manualmente as postagens antes de publicá-las em um destino, use o modo de revisão.

Descobrir o que não está funcionando

Se tiver dificuldades para entender por que as regras de substituição não estão funcionando, tente o procedimento a seguir.

Verifique quais são as regras atuais de substituição e se elas estão corretas:

/replace source_channel_reference
/replacerx source_channel_reference

Ative o modo de explicação para sua fonte:

Onde está
Menu → Forwarding settings → Choose source and destination → Explanation report

Ou com o comando

/settingchannel source_channel_reference explain on

Se estiver ativado, você receberá um relatório de cada nova mensagem proveniente desse @source_channel. O relatório conterá o corpo bruto da mensagem sem formatação. Essa é a maneira como o bot vê essa mensagem antes de aplicar as regras de substituição. Normalmente, isso deixa claro por que sua regra não é aplicada.

Se ainda estiver com dificuldades, fique à vontade para pedir ajuda no bate-papo de suporte. Sua solicitação deve conter:
1. Uma mensagem encaminhada da fonte
2. Um relatório explicativo para essa mensagem
3. Um link para um projeto regex101.com que contenha o corpo da mensagem e a regex que você está tentando corrigir
4. Uma mensagem encaminhada do destino
5. A resposta de um bot a um comando /replacerx source_channel_reference

No regex101.com, defina o Flavor como “golang” e defina os sinalizadores “Single line: O ponto corresponde à nova linha” e “Global: Don’t return after first match” (Não retornar após a primeira correspondência). Isso fará com que ele funcione da mesma forma que um matcher do @junction_bot.

As perguntas sobre os substitutos do RegEx que não estão funcionando não serão respondidas pelo suporte sem essas informações.