User:MadmanBot

Tasks
 Tasks approved by the Bot Approvals Group  tasks &bull; contribs &bull; count &bull; [/wiki/Special:Log?user= logs ] &bull; [/wiki/Special:Log/move?user= page moves ] &bull; block user &bull; [/wiki/Special:Log/block?page=User: block log ] &bull; [/w/index.php?title=Special%3ALog&type=makebot&user=&page=User: flag log] &bull; flag bot

Operator: Madman bum and angel

Automatic or Manually Assisted: Automatic.

Programming Language(s): PHP.

Function Summary: Publishes report of WikiProject banner compliance with WikiProjectBannerShell.

Edit period(s) (e.g. Continuous, daily, one time run): Daily (4 AM UTC).

Edit rate requested: 1 edit per day.

Function Details: See source code here.

. --ST47 Talk 01:49, 19 June 2007 (UTC)  tasks &bull; contribs &bull; count &bull; [/wiki/Special:Log?user= logs ] &bull; [/wiki/Special:Log/move?user= page moves ] &bull; block user &bull; [/wiki/Special:Log/block?page=User: block log ] &bull; [/w/index.php?title=Special%3ALog&type=makebot&user=&page=User: flag log] &bull; flag bot

Operator: Madman bum and angel

Automatic or Manually Assisted: Automatic (edits reviewed).

Programming Language(s): PHP.

Function Summary: Consolidates multiple (four or more) WikiProject banners on talk pages into a WikiProjectBannerShell.

Edit period(s) (e.g. Continuous, daily, one time run): Daily, or less often, depending on the backlog.

Edit rate requested: Bot will use the maxlag parameter at its recommended value (currently: 5) to ensure that there is no unnecessary load on the server and that human editors are given priority.

Function Details:

I've always held the strong opinion that adding WikiProjectBannerShell to talk pages automatically is undesirable, as a bot can't handle some of the more complicated situations that crop up on talk pages (WikiProject banners ending up in a "Templates" section, blank space in between banners, banners that break the encapsulation such as Film, parameters that break the encapsulation such as |needs-photo=yes and |needs-infobox=yes, and |auto=yes on WPBiography, etc.)

However, seeing the backlog of talk pages needing banner consolidation, a backlog that MadmanBot and SatyrBot have only seen get bigger, it becomes clear that such an automated solution is necessary at this time, and I've developed a MadmanBot module over the course of a week that should help out.

The module:
 * 1) Consolidates all identified WikiProject banners on the talk page, regardless of their location. (The location of the first WikiProject banner is identified, and all subsequent WikiProject banners are moved beneath it.)
 * 2) Adds the |nested=yes parameter to each WikiProject banner's transclusion (every template in Category:WikiProject banners, which the bot uses to detect WikiProject banners, supports this parameter.)
 * 3) Surrounds the WikiProject banners with a WikiProjectBannerShell transclusion.
 * |blp=yes is added if there is a WPBiography transclusion with |living=yes.
 * |activepol=yes</tt> is added if there is a WPBiography transclusion with |activepol=yes</tt>.
 * Reqphoto is added after the WikiProjectBannerShell if there is a WPBiography transclusion with |needs-photo=yes</tt>. The |needs-photo=yes</tt> parameter is then removed to prevent disruption of the WikiProjectBannerShell.
 * Category:Articles needing an infobox is added and the page is logged if there is a template with |needs-infobox=yes</tt>. The |needs-infobox=yes</tt> parameter is then removed to prevent disruption of the WikiProjectBannerShell.
 * The page is logged if there is a template with |auto=yes</tt>. The |auto=yes</tt> parameter is then removed to prevent disruption of the WikiProjectBannerShell.

I have run the bot in its test mode and reviewed more than three hundred diffs and previews, and I'm convinced that this code does the best possible job it can in doing its task and minimizing interference with the talk page. It logs and skips any page it detects that has four or more WikiProject banner transclusions, but for which it cannot find the transclusions in the article's raw text. It logs any removal of a WikiProject banner's parameter. The final report also includes a link to a diff of every edit it made, all of which I can and will easily review after each bot run.

Matt/TheFearow (Talk) (Contribs) (Bot) 00:43, 29 July 2007 (UTC)