The options that I can think of, from least to most drastic are:
- update a user’s email preferences by setting ‘Send me an email when someone messages me’ and ‘Send me an email when someone quotes me, replies to my post, mentions my @username, or invites me to a topic’ to “Never”
- suspend the user
- anonymize the user
Any of these options could be performed through the Discourse API.
Suspending users might be the closest to what you are looking for. A suspended user’s usercard will look something like this, the message that is displayed is supplied by you when you suspend the user:
Site staff can still message suspended users, but suspended users cannot log into the site, and will not receive email notifications unless the notification is sent to them from a staff member.
