User:HostBot/Co-op

HostBot will perform several functions for the upcoming Co-op mentorship space. This page describes the bot's tasks.

Matching members with mentors
Contingent upon BAG approval, HostBot will be operating on subpages of Wikipedia talk:Co-op to facilitate the interactions of a dozen or so mentors and new editors.

Bot workflow
HostBot is hosted on Labs. Every five minutes, it will query the Wikipedia API for new pages in Co-op-specific categories. These pages will either be new Co-op member profiles (example: Wikipedia:Co-op/AMemberUserName) or existing member profiles where a user has recently added a new Co-op specific category (indicating a change in learning interests). It will also query the API for a list of Co-op mentors with profile pages (Wikipedia:Co-op/AMentorUserName) in the corresponding mentor category who have not opted out of receiving new matches. In both cases, Hostbot/Co-op checks that the category members are in fact subpages of Wikipedia:Co-op.

For each newly-categorized Co-op member, the bot chooses a random mentor from the list of corresponding mentors. If none are available for the given interest, it chooses a random mentor from the fallback category "General editing skills". Once the match is found, HostBot leaves a post on the talk page corresponding to the Co-op member's profile page (example: Wikipedia_talk:Co-op/AMemberUserName). If this page does not already exist, the bot uses the Flow API's  submodule to post its welcome message as a new topic, thus creating the talk page as a Flow board; otherwise, the bot edits the talk page normally. The message mentions the mentor and posts on the Flow-enabled talk page of a page that the member created, and so generates an Echo notification for both of them. The member and the mentor are then free to follow up with each other, and the bot's involvement is finished.

Constraints on HostBot/Co-op
Although the bot's queries retrieve all members or new members of a given category, its posting activity is limited to subpages of Wikipedia_talk:Co-op. If a user adds a relevant category to their user page instead of their Co-op profile page, HostBot will ignore it and that user will not receive a match.

HostBot will not—and cannot—convert existing talk pages to Flow boards. If a Co-op profile talk page exists at the time of matching, HostBot will simply edit that page and post its welcome message in a new section.

HostBot can only create a new Flow board if it has the  right. Some administrator will need to add HostBot to the flow-bot group which has this right.

Example edits
from test.wikipedia.org
 * Talk page created as Flow board: https://test.wikipedia.org/wiki/Wikipedia_talk:Co-op/Flowtest3
 * Talk page created as wiki page: https://test.wikipedia.org/wiki/Wikipedia_talk:Co-op/Fhocutt

Source code for HostBot/Co-op
HostBot/Co-op is currently under development (temporary name: MatchBot). The development branch can be found here:

Surfacing recent activity
to do - J-Mo

Inviting new editors
to do - J-Mo