Supprimer les pings utilisateur dans les publications importées

Nous importons un tas de publications, et le contenu contient souvent du texte comme @global ou similaire (le sujet de notre instance de discourse est lié à la programmation, et @ est un symbole dans cette langue).

Existe-t-il un moyen agréable et propre de supprimer les pings des utilisateurs ? Cela ne me dérange pas de prétraiter les publications avant de les importer.

Comme solution de contournement un peu sale, j’ai trouvé qu’insérer une balise bbcode vide après le @ fonctionne (comme @[b][/b]global). Cela ne semble pas être une très bonne solution et nécessiterait que j’analyse/tokenise le markdown, car le bbcode ne doit pas être inséré si la chaîne se trouve dans un bloc de code. Ce n’est donc pas une bonne solution. Un espace insécable n’est pas non plus une solution car cela entraînerait des erreurs étranges lorsque les utilisateurs copient l’extrait de code dans leur propre code source.

Si c’est dans un bloc de code, ce n’est pas un problème. Si vous pouvez vous assurer que c’est toujours dans un bloc de code, vous êtes en bonne voie. Il faut cependant exécuter un vrai analyseur pour savoir quand on est dans un bloc de code.

Oh, ou désactivez le paramètre Autoriser les utilisateurs à mentionner d'autres utilisateurs pendant que vous importez les données.

1 « J'aime »

Bien sûr, si le @name est dans un bloc de code, ce n’est pas un problème. Le problème est de détecter quand il l’est et quand il ne l’est pas, afin que je puisse empêcher le ping en dehors des blocs de code en insérant la balise invisible [b][/b] entre @ et le name. Cela nécessiterait en effet un analyseur/analyseur lexical complet de markdown.

Hmm, est-ce que cela s’applique toujours lorsque le message est ultérieurement ré-cuit ou cela entraînerait-il des pings aléatoires dans ce cas ?

Je suis à peu près sûr que lorsqu’ils sont ré-cuits, c’est avec un interrupteur pour éviter les interruptions et les mentions, mais je n’ai jamais vérifié le code ni essayé.

Je ne vois rien qui empêche les pings, les changements sont directement publiés sur les clients pour autant que je sache (mais je suis loin d’être un expert en Ruby ou avec Discourse, alors corrigez-moi si je me trompe) :

Je pense que ceci

Je pense que le contournement des “bumps” empêche également que les mentors se reproduisent, mais un trigger post process a

`new_post: false,`

Donc je pense que vous êtes en sécurité.

2 « J'aime »

Ah, bonne remarque, j’avais raté cette partie ! Parfait, je vais faire ça alors :sparkles:

1 « J'aime »

Et il se peut que les scripts d’importation l’aient déjà défini. Je ne pense pas qu’une importation déclenche des tonnes de notifications.

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.