Il y a quelques années, nous avons migré de vBulletin vers Discourse. Dans le cadre de cette migration, de nombreux utilisateurs bannis ont également été importés. Ce n’est pas le problème. Les publications qu’ils ont créées se sont retrouvées visibles dans Discourse. Presque tous ces utilisateurs bannis ont publié un ou deux messages avant d’être découverts et bannis, mais le paramètre qui masquait leurs publications dans vBulletin a fini par les faire afficher dans Discourse. C’est la visibilité de ces publications qui pose problème.
Existe-t-il un moyen de trouver tous les messages provenant d’utilisateurs bannis ayant publié moins de trois messages et de les supprimer en masse ?
Vous pouvez trouver tous les utilisateurs bannis avec moins de 3 messages en utilisant la requête suivante pour Data Explorer :
SELECT p.user_id, COUNT(p.id) AS qtt_posts
FROM posts p
INNER JOIN users u ON u.id = p.user_id
WHERE suspended_till NOTNULL
GROUP BY user_id
HAVING COUNT(p.id) < 3
Pour supprimer les utilisateurs, vous pouvez utiliser l’API : /admin/users/{id}.json. Vous pouvez consulter la documentation ici.