Bonjour,
J’ai importé un forum vieux de 20 ans dans Discourse.
Il contient de nombreux comptes inutilisés ou spammeurs ainsi que des messages indésirables.
Je souhaite effectuer un nettoyage.
J’ai défini le niveau de confiance de tous mes utilisateurs à 0.
J’ai essayé de déterminer combien d’utilisateurs n’ont jamais publié de message avec cette requête Data Explorer :
SELECT COUNT (DISTINCT user_id) from posts
Elle indique 28 530.
J’ai ensuite cherché à connaître le nombre total d’utilisateurs :
SELECT COUNT (DISTINCT id) FROM users
Elle indique 180 000 (les statistiques vBulletin confirmaient bien que nous avions 180 000 comptes).
J’ai déclenché le job Sidekiq CleanUpInactiveUsers.
Seulement quelques centaines d’utilisateurs ont été supprimés. J’ai examiné l’un de ces profils inutilisés et n’ai trouvé aucune activité : aucun post, aucun sujet… Cependant, Discobot leur avait envoyé un message après l’importation de tous les utilisateurs depuis vBulletin. Cela remonte à 5 jours.
Dans les paramètres de Discourse, j’ai donc défini Nettoyer les utilisateurs inactifs après (jours) à 1.
J’ai à nouveau déclenché le job Sidekiq CleanUpInactiveUsers.
J’ai perdu environ 1 000 utilisateurs.
Il me reste encore 178 000 utilisateurs et je sais que la plupart sont des profils vides et inutilisés, sans aucun message.
Avez-vous une idée de pourquoi ils ne sont pas supprimés par CleanUpInactiveUsers ?
De plus, comme il existe de nombreux comptes et messages spam, est-il possible de déclencher la détection de spam sur les utilisateurs et les messages existants, et de nettoyer tout cela également ?
Honnêtement, je ne sais pas. Je ne connais pas les outils que Discourse utilise pour détecter et prévenir le spam.
De plus, je pense qu’un bon nombre de mes spammeurs ont publié des messages sur les profils d’utilisateurs publics, une fonctionnalité qui n’existe pas sur Discourse.
Ces messages ont été importés sur Discourse sous forme de sujets « classiques », sans catégorie ni titre, ce qui les rend faciles à identifier :
Je ne souhaite pas supprimer tous ces messages sans titre, la plupart étant inoffensifs et pouvant contenir des informations que certains utilisateurs aimeraient récupérer.
Ce que je voudrais faire, c’est supprimer les utilisateurs qui ont publié uniquement des sujets sans titre et effacer également leurs sujets.
Une telle opération pourrait-elle être réalisée assez facilement avec des commandes Rails ?