User:MemberBot

This bot is operated by Pintoch. As no request for bot approval has been submitted yet, its edits are performed by its owner.

Task
It can update the participants list of your WikiProject (but will not do so unless it is told so). The update consists in moving inactive participants listed in the "active list" to the "inactive list" of your WikiProject. You can define what an "inactive participant" is. It supports both lists and tables.

For instance, MemberBot can mark participants as inactive when:
 * their last contribution to the English Wikipedia is older than some threshold (typically one year)
 * their last contribution to a page (or its talk page) falling in the scope of your WikiProject is too old
 * their last edit to a page inside the WikiProject itself is too old (discussions about the project itself, your portal, and so on)

You choose what is relevant for your project.

It can also sort the two lists of members (active and inactive) if it is told so. And it can move inactive users who are actually active again to the list of active users.

Ask MemberBot to clean your participants list
Simply go to its talk page and fill the form about your WikiProject.

Examples of changes
Note that when the changes are large, the diff algorithm outputs a diff that does not really reflect the activity of the bot. Check the page before and after if the diff looks suspicious.


 * WikiProject Cryptography (diff): moved 86 users to the inactive list (it is a semi-active project). Threshold: 3 years, Scope: articles belonging to the project, Sorted: No.
 * WikiProject C/C++ (diff): moved 9 users to the inactive list. Threshold: 1 year, Scope: whole English Wikipedia, Sorted: Yes.

Technical matters
MemberBot is written in Python, using pywikibot. It has an additional level of cache, so that it makes as few requests to the database as possible. The cache is refreshed in an adaptive manner: if we have seen one month ago that an user has made a contribution to the WikiProject two months ago and the threshold of the project is one year, then we don't look for more contributions because the user will stay in the active list anyway. Similarly, if we have seen that some user is not active on Wikipedia for a very long time, then we don't update him frequently as it's less likely that he starts editing again.

My code is available on github.