From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

What I'm lazy ? I'm not working ? Ask my master for help.

This user account is a bot operated by Daniel78 (talk). It is not a sock puppet, but rather an automated or semi-automated account for making repetitive edits that would be extremely tedious to do manually.
Administrators: if this bot is malfunctioning or causing harm, please block it.

taskscontribscountlogspage moves block user block logflag logglobal contribsflag bot

Emergency bot shutoff button

Stop bot

Administrators: Use this button if the bot is malfunctioning.
Non-administrators can report misbehaving bots to Commons:Administrators' noticeboard.

My house (Wikimedia Cluster in the EQIAD deployment), 2011

Hi, I’m Featured picture candidates bot and I'm 10 (I made my first proper run August 15 2009). I’ve been working in the FPC for about 10 years now and my job includes counting of votes, closing nomination, notifying the nominator if the nomination gets featured and marking the featured image with featured image tag. I work in 3 shifts a day (5:00, 13:00, 21:00 UTC). I live in the servers of Toollabs (Eqiad cluster), Virginia, Ashburn, United States of America.

Required bot information[edit]

  • Creator and contact person: Daniel78
  • Miscellaneous contact person: KTC
  • Tasks: Close and park FPC nominations
  • Operation: Automatic
  • When: Currently doing 3 runs a day (5:00, 13:00, 21:00 UTC)
  • Maximum edit rate: Default pywikipedia setting
  • This bot is written in python, uses Pywikibot and its source can be found at github. Note that anyone can (and are encouraged) to to send fixes and patches as pull requests to the repository. (The original bot creator is no longer fixing issues / only approving them).

Purpose and goal[edit]

For more information see the current discussion which lists some points this bot could work on, but the sole purpose for creating this bot is to automate the FPC closure process as it takes a lot of time to do manually.


The bot performs the Closing and the Parking step while a user performs the Review step.


In this step the bot counts the votes on a candidate when the voting period is over and adds the unconfirmed count to the candidate. The following is a simplified overview of the implementation:

  1. If withdrawn, FPDed or FPXed, and more than 24 hours since last activity (last edit) close as non successful else continue
  2. Check if any of the rules of the fifth day can be applied
  3. If any of the rules of the fifth day can not be applied and the voting period is not over: stop
  4. Count the votes and add {{FPC-results-ready-for-review}}: stop The vote count does ignore struck-out votes and handles all known internationalized versions of the vote templates. But votes are not counted if there is more than one image for the candidate, i.e. if it contains modified versions or alternatives.


This step is performed by a user that confirms that the bot counts are correct or corrects them if they are not. Incorrect counts can occur for example if a voter has used a template that is not recognized by the bot or stated something ambiguous as comment such as "I oppose if this and support if that" ( no way that the bot can figure that out ). And the bot does not currently check for anonymous, late or double votes so that also needs to be checked by a user. Fortunately all these cases are quite rare. The confirm step involves changing the {{FPC-results-ready-for-review}} to {{FPC-results-reviewed}}. There are more information on the mentioned template pages.


This step looks at confirmed counts and performs the appropriate steps for a featured or delisted candidate alternatively for a candidate that failed to be delisted or featured.

  1. Check if the candidate contains exactly 1 confirmed result count, if not stop
  2. Ignore if withdrawn or FPXed ( this would be an error of a user that has confirmed an invalid candidate )
  3. Ignore the candidate image page can not be found ( can happen if the image is deleted from commons for some reason in between the confirmation and the parking run )
  4. If the confimed results is passing the criteria:
    1. If the candidate is a FP candidate
      1. Validate the supplied category
      2. Add to the list of recently featured images ( Commons:Featured pictures, list )
      3. Add to the specified sub category page of featured images
      4. Add the {{Assessments}} template to the candidate or add the commons parameter if it is already there
      5. Add to the page of featured images this month ( Commons:Featured pictures/chronological/current_month )
      6. Notify the nominator on his/her user talk page
      7. Add to the log and remove from the list of active candidates ( Commons:Featured pictures candidates/candidate list )
    2. If the candidate is a delist candidate
      1. Add to the log and remove from the list of active candidates ( Commons:Featured picture candidates/removal )
      2. Remove the candidate from the categorized list pages of candiates
      3. Remove any assessment template on the image page
  5. If the confimed results is failing the criteria:
    1. Add to the log and remove from the list of active candidates ( Move from Commons:Featured picture candidates/removal or Commons:Featured pictures candidates/candidate list to Commons:Featured picture candidates/Log/November 2020 )


The bot currently runs as a cronjob on WMF Labs that looks like this:

0 5,13,21 * * * jsub -once python3 -park -close -auto
± This user is in fact a bot.


A barnstar for you![edit]

Tireless Contributor Barnstar Hires.gif The Tireless Contributor Barnstar
For your tireless contribution, FPC closure would be a challenging task without you. Happy 10 years of editing. Eatcha (talk) 09:12, 11 October 2019 (UTC)