Permitir solo a ciertos no administradores enviar mensajes privados

Sí, de hecho tendrías que bloquear el nivel de confianza.

Debido a la forma en que está diseñado Discourse, toda la funcionalidad está disponible a través de la API.