User:PhotoCatBot

Summary
PhotoCatBot examines articles in Category:Wikipedia requested photographs and its subcategories, and updates photo request templates with more precise classifications. It also reviews reqphoto templates to see if they may no longer be needed, and flags them for human attention if so.

Description
The bot's tasks include:
 * PhotoCat: classifying image requests so they show up in more specific categories
 * StaleReqphotoBot: maintaining a list of articles which may no longer need images

PhotoCat
PhotoCat examines each article in Category:Wikipedia requested photographs. Upon finding an article bearing a reqphoto, photoreq, imagerequest, photo or similar template with no parameters, it will try to figure out what kind of picture is desired from examining other templates on the page, and will update the talk page templates appropriately.

A full list of the rules the bot uses can be found in the source code at User:PhotoCatBot/Src/photocat.py. Here is a summary:


 * Geographic WikiProjects such as WikiProject Alabama or WikiProject Poland cause the bot to add an "in=" parameter to the reqphoto template, e.g. in&#61;Alabama or in&#61;Poland. Those in turn cause the article to be filed in, etc.


 * Topical WikiProjects cause the bot to add a relevant subject category to the reqphoto template, e.g. WPSchools results in schools, which in turn adds the article to.


 * Some WikiProject templates support their own image request parameters; for example, WPAVIATION includes an "Imageneeded" parameter, which adds an article to . Where possible, the bot adds the appropriate parameter to those templates.

StaleReqphotoBot
As of April 2009, the PhotoCat runs a secondary task, StaleReqphotoBot. StaleReqphotoBot identifies uses of reqphoto that appear to be "stale" -- where the article page has one or more active images -- and adds them to a list of articles which may need to have reqphoto removed.

Specifically, StaleReqphotoBot walks through all articles in Category:Wikipedia requested photographs, and:
 * Check that the template (if any) does not include an "of=" parameter
 * Look for image links on the main article page

Articles satisfying both conditions are added to Category:Articles which may no longer need images.

The bot will not revisit any single article more often than once every six months. An article can be pre-emptively excluded from the bot by adding an "of=" parameter to the template to describe what sort of image is required. The bot will assume that the photo request is valid and will not modify the article.

Limitations
The bot does not attempt to determine whether the article already has a photo that fulfills the request. I have thought about this but do not believe that it could be done safely in an automated way -- perhaps a semiautomatic bot could do it. As a result, the bot may sometimes add parameters to a reqphoto template on a talk page, even if that article now has an image. When that happens, please feel free to remove the unnecessary template.

Source code may be found at https://github.com/qwrrty/photocatbot and User:PhotoCatBot/Src/StaleReqphotoBot. Please feel free to suggest enhancements or bug fixes!