Attivando l'opzione parse_mode
Telegram Bot Exception: can't parse entities Character '_' is reserved
I Bot di Telegram supportano la formattazione dei messaggi. É infatti possibile utilizzare testo in grassetto, corsivo, sottolineato, barrato e spoiler, nonché collegamenti in linea e codice preformattato nei messaggi dei tuoi bot.
La formattazione è prevista in stile markdown o HTML. In entrambi i casi è necessaria un'accortezza per evitare di imbattersi in un errore del tipo:
Exception: La richiesta non riuscita per https://api.telegram.org ha restituito il codice 400. Risposta del server troncata: {"ok":false,"error_code":400,"description":"Bad Request: can't parse entities: Character '_' is reserved and must be escaped with the preceding '[\]'"} (usa l'opzione muteHttpExceptions per esaminare la risposta completa)
Questo perché attivando l'opzione parse_mode ci sono alcuni simboli che hanno bisogno di essere anticipati dal carattere di escape. Ad esempio, con il valore MarkdownV2 deve essere inserito un carattere di escape prima di ogni simbolo della lista presente nel link appena indicato.
Un esempio di codice che permette di sostituire questi simboli in modo automatico è il seguente, applicato al simbolo dell'underscore:
message.replaceAll('_', '\_');
Al seguente link trovi la documentazione ufficiale di Telegram Bot API.
Di seguito alcuni link ai miei video su come generare un Bot di Telegram in pochissimi minuti con Google Apps Script:
CREA UN BOT PER TELEGRAM IN 5 MINUTI
BOT PER TELEGRAM CHE SCRIVE IN UN GOOGLE SHEETS
BOT DI TELEGRAM CHE SCEGLIE I MESSAGGI DA UN FOGLIO GOOGLE
TELEGRAM BOT CHE INVIA IMMAGINI DA GOOGLE DRIVE
TELEGRAM BOT CON INLINE KEYBOARD IN GOOGLE SHEETS
INVIA MESSAGGI NELLA CHAT DI TELEGRAM ALLA MODIFICA DEL FOGLIO GOOGLE
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento