Paying members get access to my Discourse forum, and lose access when they end their membership.
What’s the easiest way to ‘de-activate’ someone’s account, without - for example - generating an email that tells them “You have been kicked out of the forum”.
Anonymizing seems like a nuclear action. They won’t be able to rejoin and reconnect with their data. I would think that you might want their money again in the future.
Could you handle this with the internal Discourse trust system? Move them back down to TL0 and lock their level there until such time as they reinstate their subscription? I think there’s some CSS styling options available on the username information for people at TL0, or at least default group membership.
You would also obviously want to restrict your content categories to TL1+.
I’ve seen sites suspend accounts to handle expired memberships. That way, if the user restarts their membership, you just need to unsuspend them.
Another common approach is to just remove the user from a custom ‘members’ group when their membership expires. If you use membership in the ‘members’ group to control access to most of your site’s categories, then removing the user from this group will limit their access to the forum. Readd the user to the ‘members’ group when they restart their subscription.