First, let me say that I am no developer, I only sponsored this work and full build credits go to the dev, @mbcahyono. I will not be able to support this in any way, but I will work with any potential contributors. I am just posting this plugin here to give back to the community.
This plugin may sound a tad controversial so let me explain why was this developed. Our discourse forum is a community marketplace. We facilitate sales of virtual items. This business model is plagued with scammers and conmen, who try to take advantage of our buyers/sellers. We try to stop them before they act, and they usually start working their victims via PMs. This is where we try to monitor malicious activity and stop them in their tracks, and this is why a PM scanner comes in handy.
The PM scanner scans all PMs sent on your Discourse instance and checks the body of text against a set of keywords you can enter in the settings. If a keyword is found, it sends a notification to all admins.
This is a great plugin for keeping users in check who think that going private means that they can break your rules (scamming/spamming/being offensive/harassing). It could also be used for marketing purposes if your forum is e-commerce related.
Nothing much to write about. It adds an extra setting where you can enter the keywords in your admin panel, and that’s it. The rest is automatic, every time a word is triggered you will get a notification to the PM link (see image below). The plugin also ignores admin messages (basically, admins PM’s aren’t scanned). Also, the plugin only scans while a PM is being sent. There is no way to scan previous, unscanned messages.
Currently, it also scans usernames. So, if a user has a word that is entered in your scanner settings, it will trigger the notification every time he/she posts a PM. Not a big issue, but its there.
This is my second contribution to the community! A big thanks to the Discourse team and all the developers on this site.