Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aggiornare markdown #41

Open
dag7dev opened this issue Dec 4, 2022 · 3 comments
Open

Aggiornare markdown #41

dag7dev opened this issue Dec 4, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@dag7dev
Copy link
Member

dag7dev commented Dec 4, 2022

Con Lorenzo ci siamo resi conto che non siamo riusciti a formattare per bene i testi in markdown nelle stringhe json del bot.

Attualmente il bot scrive del testo all'utente senza formattazione, questo perché abbiamo utilizzato come ParseMode, Markdown e non Markdown_V2
Bisogna cambiare quel "Markdown" in MarkdownV2, ma quest'ultimo ha regole di escape particolari.

Idealmente dovremmo avere le stringhe nel json solamente in Markdown (normale), mentre nella fase di processing, durante la funzione _reply, le stringhe dovrebbero essere opportunamente modificate in modo da renderle compatibile con MarkdownV2.

Per capire di cosa sto parlando e bisognerebbe modificare:

def _reply(update: Update, text: str, reply_markup: InlineKeyboardMarkup, parse_mode='MARKDOWN'):

@dag7dev dag7dev added the enhancement New feature or request label Dec 4, 2022
@Mte90
Copy link
Member

Mte90 commented Dec 5, 2022

Maggiori informazioni perchè non mi era chiaro:

Prendendo da https://github.com/MozillaItalia/MozItaReBot/blob/master/json/frasi.json#L38 abbiamo una stringa come:

Puoi scrivere quando vuoi un parere sui servizi offerti da Mozilla Italia entrando nel gruppo '__Home__' e discutendone con noi.\nNon preoccuparti, nessuno ti giudicherà o aggredirà, troverai persone pronte a comprendere i tuoi problemi e ad accogliere i tuoi suggerimenti segnalandoli - __quando possibile__ - a Mozilla.

Non mi è chiaro ad esempio cosa va cambiato qui o quali sono le differenze tra i due markdown.
Immagino che cambiare il metodo predefinito nella funzione in markdownv2 non sia sufficiente ma non so dove altro bisogna intervenire e come.

@dag7dev
Copy link
Member Author

dag7dev commented Dec 6, 2022

Per le differenze tra i due markdown, rimando alla documentazione: https://core.telegram.org/bots/api#markdownv2-style , se scrolli giù c'è anche la legacy.

La stringa non va cambiata, va cambiata la funzione in Python, e in particolar modo "parse_mode" deve diventare MarkdownV2.

Se lo fai, ti accorgerai che Telegram si arrabbia perché "stai usando dei caratteri riservati che devi escapizzare" (come illustrato nel MarkdownV2 sulla doc ufficiale).

@Mte90
Copy link
Member

Mte90 commented Dec 6, 2022

Quindi dobbiamo modificare il codice per generare un markdownv2 e poi va pulito per quelli che non supporta telegram.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants