Modifica e sostituzione

È possibile modificare un messaggio a piacimento aggiungendo/regolando il titolo (intestazione), il corpo, il piè di pagina e un link al messaggio originale.

Modifica del titolo

Dove si trova
Menu → Impostazioni di inoltro → Scegliere l'origine e la destinazione → Intestazione

È possibile modificare il modo in cui l’header (il titolo di un canale) viene visualizzato nelle sottoscrizioni e negli inoltri.

⏵Commands
/impostazione dell'intestazione + una delle seguenti opzioni:

nessuno - nessun titolo
Ex.  /setting header none
Ex.  /settingchannel source_channel_reference header none

semplice - aggiungere il titolo del canale originale all'inizio
Ex.  /setting header semplice
Ex.  /settingchannel source_channel_reference header simple

grassetto - aggiunge il titolo del canale originale all'inizio, rendendolo in grassetto
Ex.  /setting header bold
Ex.  /settingchannel source_channel_reference header bold

from_only - non mostra il titolo della fonte diretta, ma mostra il titolo della fonte originale (se c'è)
Ex.  /setting header from_only
Ex.  /settingchannel source_channel_reference header from_only

id - aggiunge all'inizio l'ID del messaggio originale
Ex.  /setting header id
Ex.  /settingchannel source_channel_reference header id

qualsiasi altro testo - aggiungere questo testo come titolo di un canale all'inizio
Ex.  /setting header Il mio canale Telegram
Ex.  /settingchannel source_channel_reference header My Telegram Channel

È possibile regolare questa impostazione nel menu, ma anche utilizzare i comandi. Se si utilizzano i comandi, per applicare questa impostazione a un solo canale, sostituire il comando /setting con /settingchannel source_channel_reference (per saperne di più).

Modifica di un link nel piè di pagina

Dove si trova
Menu → Impostazioni di inoltro → Scegliere l'origine e la destinazione → Collegamento al messaggio originale

Per impostazione predefinita sull’account standard, il bot aggiunge un piè di pagina con il link al messaggio originale. Questo link sembra un simbolo @. È possibile regolare l’aspetto di questo piè di pagina o disabilitarlo del tutto.

Si noti che questa impostazione modifica solo il link aggiunto da @junction_bot alla fine del messaggio. Questa impostazione non influisce sugli altri collegamenti presenti nel messaggio. Per modificare altri link, vedere qui.

⏵Commands
/collegamento di impostazione + una delle seguenti opzioni:

nessuno - non includere il link
Ex.  /setting link none

completo - includere il link così com'è
Ex.  /setting link full

qualsiasi altra stringa - nascondere il link dietro questo testo
Ex.  /setting link Channel about kitties

È possibile regolare questa impostazione nel menu, ma anche utilizzare i comandi. Se si utilizzano i comandi, per applicare questa impostazione a un solo canale, sostituire il comando /setting con /settingchannel source_channel_reference (per saperne di più).

Cambiare il corpo con il Prima e Dopo

Dove si trova
Menu → Impostazioni di inoltro → Scegliere la sorgente e la destinazione → Aggiungere all'inizio/alla fine

Con queste impostazioni è possibile aggiungere un testo personalizzato all’inizio o alla fine del messaggio.

Per aggiungere un testo contenente più righe separatele con un tag <br>.

⏵Commands
/impostazione prima - aggiunge del testo all'inizio del messaggio.
Formato:  /setting before my text
Ex.  /setting before So I have heard:<br>
Si noti che il corpo del messaggio andrà subito dopo questo testo sulla stessa riga. Se si desidera iniziare il corpo del messaggio da una nuova riga, aggiungere <br> alla fine del testo.

/setting before none - rimuove il testo prima del messaggio.

/impostazione dopo - aggiunge del testo alla fine del messaggio.
Formato:  /setting after my text
Ex.  /setting after <br>In case of any questions please contact [email protected]
Si noti che questo testo andrà subito dopo il corpo del messaggio, sulla stessa riga. Aggiungere <br> all'inizio del testo se si desidera iniziare da una nuova riga.

/setting after none - rimuove il testo alla fine del messaggio.

È possibile regolare questa impostazione nel menu, ma anche utilizzare i comandi. Se si utilizzano i comandi, per applicare questa impostazione a un solo canale, sostituire il comando /setting con /settingchannel source_channel_reference (per saperne di più).

Modifica del corpo e dei pulsanti con Replace

Dove si trova
Menu → Impostazioni di inoltro → Scegliere l'origine e la destinazione → Sostituzioni

È possibile impostare una regola di sostituzione automatica che sostituisca un testo A nei messaggi in arrivo con un testo B (o con una stringa vuota, rimuovendo semplicemente il testo B).

È importante apportare le seguenti modifiche ai caratteri:

  • Al posto di < utilizzare &lt;
  • Al posto di > utilizzare &gt;

Questo può essere fatto utilizzando la funzione Trova e sostituisci di qualsiasi editor di testo.

⏵Commands

Comandi

/replace - sostituisce il testo A con il testo B OPPURE rimuove questa regola se ripetuta una seconda volta. 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! - sostituirà tutte le occorrenze di "Essere o non essere" provenienti dal canale sorgente con "Svegliati!". Ex. /replace source_channel_reference My&nbsp;advertisement - rimuoverà tutte le occorrenze di "La mia pubblicità" provenienti dal canale_fonte (letteralmente le sostituirà con niente) /replacerx - crea una regola di sostituzione usando le espressioni regolari. Il formato è lo stesso di /replace. /replace source_channel_reference - vede tutte le regole di sostituzione nel canale source_channel /replacerx source_channel_reference - vede tutte le regole di sostituzione RegEx in source_channel Quando si utilizzano questi comandi è necessario apportare le seguenti modifiche: - Al posto degli spazi bianchi tra una parola e l'altra si mette il (sta per NBSP - non-breaking space). Si noti che viene utilizzato solo con il comando /replace. Non è necessario quando si lavora con i filtri. - Al posto delle nuove linee si mette <br> Per rimuovere la regola di sostituzione, utilizzare lo stesso comando con gli stessi argomenti per la seconda volta.

Si noti che queste regole di sostituzione funzionano solo con il corpo del messaggio e con i pulsanti, non modificando l’intestazione (con il nome del canale) e il link al messaggio originale.

Se si dispone di più regole di inoltro dalla stessa origine a destinazioni diverse, è possibile impostare impostazioni, filtri e sostituzioni diversi per le varie destinazioni. Maggiori dettagli qui.

Per ulteriori esempi, vedere qui.

Sostituire con espressioni regolari

Inoltre, è possibile utilizzare le espressioni regolari per effettuare le sostituzioni. A tale scopo, utilizzare la casella di controllo RE nel pannello delle regole di sostituzione o il comando /replacerx. Ha lo stesso formato.

Esiste uno strumento molto comodo per testare le espressioni regolari: https://regex101.com. Impostare il Flavor a “golang” e impostare i flag “Singola riga: Il punto corrisponde alla nuova riga” e “Globale: Non tornare dopo la prima corrispondenza”. Questo lo farà funzionare allo stesso modo del matcher di @junction_bot.

Aiuto con le espressioni regolari

Le espressioni regolari sono un argomento molto vasto. L’aiuto in questo settore esula dalla portata dell’amministrazione del bot. Non scrivete agli amministratori in privato chiedendo loro di farvi una regola sostitutiva o un filtro. Inoltre, l’amministrazione del bot non fornisce questo tipo di aiuto nel gruppo di supporto.

Il modo più semplice per creare un’espressione regolare per le vostre esigenze è chiedere a ChatGPT, che è abbastanza bravo in questo.

Inoltre, è possibile cercare aiuto nei forum appropriati. Ad esempio StackOverflow o CodeProject.

Regole di sostituzione utili

Quando si esegue il debug di un’espressione regolare

Sì, lo sappiamo, le espressioni regolari sono difficili. Di seguito sono riportate le espressioni pronte per alcuni compiti popolari che si possono svolgere con le regole di sostituzione. Alcuni di essi possono essere risolti senza RegEx, ma la maggior parte ne ha bisogno.

Se si usa il menu principale per creare le sostituzioni, specificare il secondo argomento del comando /sostituzione nel campo Da e il terzo nel campo A. Ad esempio, nell’esempio #4, il campo Da conterrà <a[^<]+</a>, mentre il campo A sarà vuoto. Inoltre, poiché viene utilizzato il comando /replacerx, la casella di controllo RE deve essere selezionata.

1. Un’intestazione con il nome del canale originale può essere rimossa con
/setting header none
2. Un link al post originale può essere rimosso con
/setting link none
3. Qualsiasi testo concreto nel corpo di un messaggio può essere rimosso con il 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>
Questo sostituirà questi collegamenti specifici con una stringa vuota
3.2. /replace source_channel_reference @username
Questo rimuoverà tutte le occorrenze di @username
4. Eventuali collegamenti formattati nel corpo del messaggio possono essere rimossi con
/replacerx source_channel_reference <a[^<]+</a>
5. I collegamenti non elaborati possono essere rimossi con
/replacerx source_channel_reference (http:\/\/|https:\/\/)([a-zA-Z0-9.\/\?=&_]+)
6. Per rimuovere solo i link contenenti t.me, utilizzare
/replacerx source_channel_reference (t.me)([a-zA-Z0-9.\/\?=&_]+)
Questo sostituirà tutti i caratteri con una stringa vuota
7. Per rimuovere tutti i link-username come @username
/replacerx source_channel_reference @([a-zA-Z0-9=&_\-]+)
8. Per rimuovere tutta la parte del messaggio che inizia con la parola “Postscriptum”.
/replacerx source_channel_reference Postscriptum.*
9. Rimuovere tutti i numeri nel formato #12345
/replacerx source_channel_reference #([0-9]+)
10. Rimuovere tutte le righe contenenti un keyword
/replacerx source_channel_reference .*\bkeyword\b.*
11. Rimuovere tutte le righe contenenti un keyword, seguito da cifre (come “keyword123”).
/replacerx source_channel_reference ^keyword[0-9]*$
12. Rendere audace un keyword
/replace source_channel_reference keyword <b>keyword</b>
13. Rimuovere le linee vuote
/replace source_channel_reference <br><br> <br>
14. Tutti i numeri devono essere in grassetto. Si noti che nell’ultimo argomento si inserisce il testo, abbinato a una RegEx, utilizzando il riferimento $1. Per saperne di più su questa potente funzione, ad esempio, potete leggere qui.
/replacerx source_channel_reference ([0-9]+) <b>$1</b>
15. Rimuovere tutti i testi. Rimarranno solo le immagini di tipo mediatico.
/replacerx source_channel_reference .*

Sostituzione dei link

I collegamenti in un messaggio possono essere di diversi tipi, quindi non esiste un comando unico per tutti. Per prima cosa, dobbiamo determinare il tipo di collegamento e solo allora potremo creare la giusta regola di sostituzione. Per determinare il tipo di collegamento, è necessario attivare il rapporto di spiegazione in Menu → Impostazioni di inoltro → Scegli origine e destinazione → Rapporto di spiegazione oppure con il comando

/settingchannel source_channel_reference explain on

Ora, per ogni nuovo messaggio in questa fonte, il bot invierà un rapporto che include il testo grezzo e non formattato del messaggio. Questo è il modo in cui il bot vede il messaggio quando applica le regole di sostituzione. Dopo aver abilitato il report, occorre attendere un nuovo messaggio nell’origine contenente il collegamento che si desidera modificare.

Opzione 1. Nel report in arrivo, vediamo che il link viene fornito utilizzando il tag <a>. Ad esempio:
Great news!
We won the "Fastest Telegram bot!" award.
<a href="https://junctionbot.io">Welcome to our website!<a>

Poi, nella regola di sostituzione, dobbiamo utilizzare l’intera costruzione, ricordandoci di sostituire tutti gli spazi con &nbsp;

Il comando seguente rimuove il collegamento dal messaggio:
/replace source_channel_reference <a&nbsp;href="https://junctionbot.io">Welcome&nbsp;to&nbsp;our&nbsp;website!</a>

Questo comando sostituirà tale collegamento con 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>

Attenzione, ci sono solo 3 spazi nell’ultimo comando, tra gli argomenti: sorgente, cosa cambiare e cosa cambiare.

Opzione 2. Nel report in arrivo vediamo che il link è specificato senza formattazione, solo come testo. Allora non c’è <un tag> intorno al link.
Ad esempio:
Great news!
We won the "Fastest Telegram bot!" award.
Welcome to our website!

https://junctionbot.io

Quindi, senza alcuna astuzia, nella regola di sostituzione specifichiamo semplicemente un collegamento. Per rimuoverlo, si utilizza il comando:
/replace source_channel_reference https://junctionbot.io

Per sostituirlo con un altro link:
/replace source_channel_reference https://junctionbot.io https://lectumbot.com

Altre opzioni

Se un link al post originale viene aggiunto dal bot stesso, può essere rimosso con il comando
/setting link none

Esempio avanzato

Supponiamo di gestire un canale che accumula segnali di trading gratuiti da altri canali e di voler portare tutti i segnali nello stesso formato. Un esempio di messaggio nel canale sorgente:

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

Vogliamo che tutti i messaggi abbiano il seguente formato:

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

Supponiamo di aver già impostato un reindirizzamento con il comando /new. Supponiamo inoltre di utilizzare la connessione diretta e che il numero del canale sorgente sia &1234567890#1122334455. È possibile trovare questo numero con il comando /forwards. Se avete un account Standard, usate un link al canale invece di &1234567890#1122334455 in tutti gli esempi, ad esempio https://t.me/joinchat/AFjgGGiosdgJGgSDG.

Vogliamo sostituire Buy con uno spazio con BUY, nuova riga e #:
/replace &1234567890#1122334455 Buy&nbsp; BUY<br>#
Il primo argomento è il nostro sorgente &1234567890#1122334455.
Il secondo è quello che vogliamo sostituire. Si noti che per i comandi /replace e /replacerx è necessario utilizzare &nbsp; al posto degli spazi.
Il terzo argomento è un testo che vogliamo inserire. Una nuova linea è <br>.

Successivamente, abbiamo una regola di sostituzione simile: Stop-Loss at viene sostituito con SL:
/replace &1234567890#1122334455 Stop-Loss&nbsp;at SL:

Il prossimo comando sarà più complicato. Vogliamo rimuovere due righe Take-Profit 1 e Take-Profit 2, e al loro posto aggiungerepointsa una precedente SL. Utilizziamo il comando /replacerx, che ci permette di usare le espressioni regolari.
/replacerx &1234567890#1122334455 \nTake-Profit&nbsp;1.*\n points<br>
Nelle espressioni regolari, \n corrisponde a una nuova riga, .* a una qualsiasi combinazione di simboli. In questo modo \nTake-Profit&nbsp;1.*\n corrisponde a Take-Profit 1 insieme a una nuova riga prima di esso, un prezzo dopo di esso (qualunque sia il prezzo) e una nuova riga dopo il prezzo. Qui stiamo sostituendo due nuove righe, quindi dobbiamo compensare aggiungendo <br> alla parola points.

Quindi, sostituiamo Take-Profit 2 più un prezzo e più Take-Profit 3con TP:
/replacerx &1234567890#1122334455 Take-Profit&nbsp;2.*Take-Profit&nbsp;3 TP:

Infine, aggiungiamo una parola points e una riga Trade at your own risk! Per questo usiamo l’impostazione after, che può aggiungere un testo alla fine di ogni messaggio.
/settingchannel &1234567890#1122334455 after points<br>Trade at your own risk!

Sostituzione delle emoji premium

Un’emoji premium è rappresentata da un tag <strong>, ad esempio:

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

È possibile ottenere il codice esatto attivando il rapporto di spiegazione ( Menu → Impostazioni di inoltro → Scegli sorgente e destinazione → Rapporto di spiegazione ) e inviando un’emoji al canale di origine.

Conoscendo il codice esatto dell’emoji, è possibile sostituirlo o aggiungerlo al messaggio con prima/dopo. Ricordate che per pubblicare emoji premium, la vostra regola di sostituzione deve soddisfare determinate condizioni.

Editing e traduzione assistiti dall’intelligenza artificiale

È possibile descrivere in forma libera le modifiche che si desidera apportare al testo dei messaggi e lasciare che l’intelligenza artificiale faccia il resto del lavoro. In questo modo, è possibile modificare alcuni elementi del testo o numeri, oppure riscrivere il testo completamente da capo (ad esempio, in una lingua diversa, in uno stile diverso, riassumendolo, analizzandolo e deducendolo, ecc.)

Per sapere come configurarlo, vedere qui.

Modifica manuale, sostituzione di foto, video, ecc.

Se si desidera modificare manualmente i messaggi prima di pubblicarli su una destinazione, utilizzare la modalità di revisione.

Scoprire cosa non funziona

Se avete difficoltà a capire perché le regole di sostituzione non funzionano, potete provare a seguire la seguente procedura.

Controllare quali sono le regole di sostituzione attuali e che siano corrette:

/replace source_channel_reference
/replacerx source_channel_reference

Abilitare la modalità di spiegazione per la sorgente:

Dove si trova
Menu → Impostazioni di inoltro → Scegliere l'origine e la destinazione → Rapporto di spiegazione

Oppure con il comando

/settingchannel source_channel_reference explain on

Se è abilitato, si riceverà un rapporto per ogni nuovo messaggio proveniente da questo canale @source_channel. Il rapporto conterrà il corpo grezzo del messaggio senza formattazione. Questo è il modo in cui il bot vede il messaggio prima di applicare le regole di sostituzione. Di solito, questo chiarisce perché la regola non viene applicata.

Se avete ancora difficoltà, non esitate a chiedere aiuto nella chat di supporto. La richiesta deve contenere:
1. Un messaggio inoltrato dalla fonte
2. Un rapporto di spiegazione per questo messaggio
3. Un link a un progetto regex101.com contenente il corpo del messaggio e la regex che si sta cercando di correggere.
4. Un messaggio inoltrato dalla destinazione
5. Risposta di un bot a un comando /replacerx source_channel_reference

In regex101.com impostare il Flavor su “golang” e impostare i flag “Singola riga: Il punto corrisponde alla nuova riga” e “Globale: Non tornare dopo la prima corrispondenza”. Questo lo farà funzionare allo stesso modo del matcher di @junction_bot.

Le domande sui sostituti RegEx che non funzionano non troveranno risposta nell’assistenza senza queste informazioni.