Bueno, creo que esto hará lo que pediste. Eliminará cualquier mensaje privado que no haya sido creado por un usuario del sistema o discobot. Sin embargo, seguirá eliminando cualquier otro mensaje privado, incluidos los de los administradores.
No está probado. No digo que sea una buena idea. No prometo que no hará algo malo.
cd /var/discourse
discourse backup
./launcher enter app
rails s
Topic.where(archetype: 'private_message').where("user_id > 0").destroy_all
exit
discourse enable_restore
discourse restore
Si no ocurre nada malo, puedes omitir los últimos dos pasos. Si ocurre algo malo, querrás copiar y pegar la copia de seguridad más reciente mostrada por el comando discourse restore para restaurar la copia de seguridad.