Add-on Activity Based Group Membership (promotion/demotion)


Well-known member
Hi Guys...

I think that I've searched extensively, but haven't come up with the right answer.
Then again, I've been known to overlook the obvious answer that's usually right in front of my nose, haha.

What is needed, is an addon that extends XF's promotion system to also include demotion. (or, if there's a way to do this in the default XF, please let me know)

The basic criteria for the automated tool:

- Promote users to selected (secondary) user groups based on:
1) Last activity date (Variable: Number of days since last active, would be an AdminCP setting for the addon.)
2) *Number of posts in the last x number of days/weeks/months (AdminCP selection for days/weeks or just simply a days count.)
3) *Number of posts in a specific forum within a certain number days (Extends #2 to select activity in certain forums)

- Demote users (remove from secondary user group)
1) When activity falls out of range of setting from rule #1 above.
2) *When number of required posts are not met in compliance with rule #2 above.
3) *When number of required posts in a certain forum are not in compliance with #2 and/or #2 above.

*If feasible, it would be ideal to exclude posts below a certain character count top avoid junk posts from getting counted for the benefit of promotion.

- Exempted Users
1) Enable a user profile option to exempt users from the rules above. (i.e. a premium member, administrator, moderator or manually selected user for exemption.) --

The above is just a basic function logic based on immediate needs. There could be other uses too, but the general principle is to be able to grant membership to certain groups and have an automated cron job that demotes users once they fall below

Thanks for any input on this function.

The purpose of this tool, at least in our case, is to allow active members to have benefits such as showing no ads and access to private sections or other perks that we want to make exclusive to valuable, active members.