At work, we use Discourse-powered forums and we have been using them for quite a long time. So, this suggestion is coming from my experience of interacting on Discourse-based forums both at work as well as other open-source communities.
Generally, when a new person signs up, you have the authority to restrict them from certain activities, for example – posting a new topic, commenting, and so on. This is usually done to encourage the new member to explore the forum for at least some time (which can be set by the forum admins). When this criterion is met the restrictions are lifted. At work, we follow this and it has not only helped us to prevent spam to a great extent but also to improve the general interactions on our forum.