Como excluir milhares de Mensagens Pessoais?

Bem, acho que isso fará o que você pediu. Ele excluirá qualquer mensagem privada que não tenha sido criada por um usuário do sistema ou pelo discobot. Ainda assim, excluirá quaisquer outras mensagens privadas, inclusive aquelas de administradores.

Não foi testado. Não estou dizendo que é uma boa ideia. Não prometo que não fará algo ruim.

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

Se nada ruim acontecer, você pode omitir as duas últimas etapas. Se algo ruim acontecer, você deverá copiar e colar o backup mais recente exibido pelo comando discourse restore para restaurar o backup.