User:TheStoneWatcher



TheStoneWatcher is Zelda Wiki's resident multi-purpose bot. The bot acts as a front-end for the Pywikipedia bot framework, allowing for the use of pre-made or custom python scripts to assist with repetitive tasks. For any questions or problems, contact Adam or any of the other active staff.

Regular Tasks
TheStoneWatcher performs a number of common, basic maintenance tasks:

Welcoming Users
TheStoneWatcher welcomes all new users to the wiki using the NewUserMessage extension. TheStoneWatcher has welcomed approximately new users to the wiki since July 10th, 2009.

Fixing Redirects
Redirect.py is used to fix any double redirects. A cron job is scheduled to run the command "python ./public_html/extensions/pywikipedia/redirect.py double -always" every hour, on the hour. Broken redirects should be investigated before fixing, to ensure that problems are not being masked, but can also be fixed automatically by running the following command: python ./public_html/extensions/pywikipedia/redirect.py broken -always

Identifying Broken Links
Periodically, Weblinkchecker.py is used to create a list of pages containing broken external links. The list is available here, and is a starting point to allow users to manually fix these broken links.

Deletion of Unused Files
Periodically, Delete.py is used to clear a selected list of old files from Special:UnusedFiles. This is done to help keep the wiki tidy, and a snapshot of each deletion batch is kept (see left), in case any deleted images should need to be retrieved.

Game link correction
Replace.py is used to replace incorrectly used (ie not substituted) game link shortcut templates. The initial batch of replacements on 27 February 2010 corrected more than 233 incorrect usages. A cron job is scheduled to run the command "sh replace.sh" on a daily basis, which contains the following commands:

REP="./public_html/extensions/pywikipedia/replace.py" python ${REP} -transcludes:ALTTP "" "'A Link to the Past''" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:AOL "" "The Adventure of Link" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:AST "" "Ancient Stone Tablets" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:BSZ "" "BS Zelda" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:FPTRR "" "Freshly-Picked Tingle's Rosy Rupeeland" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:FS "" "Four Swords" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:FSA "" "Four Swords Adventures" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:LA "" "Link's Awakening" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:LCT "" "Link's Crossbow Training" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:LOZ "" "The Legend of Zelda" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:MM "" "Majora's Mask" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:OOA "" "Oracle of Ages" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:OOS "" "Oracle of Seasons" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:OOT "" "Ocarina of Time" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:PH "" "Phantom Hourglass" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:ST "" "Spirit Tracks" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TBF "" "Tingle's Balloon Fight" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TLBT "" "Color Changing Tingle's Love Balloon Trip" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TMC "" "The Minish Cap" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TP "" "Twilight Princess" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TRR "" "Freshly-Picked Tingle's Rosy Rupeeland" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always python ${REP} -transcludes:TWW "" "The Wind Waker" -nocase -summary:"Bot: Forcing substitution of game shortcut template" -always
 * 1) !/bin/bash

Special Tasks
Occasionally, TheStoneWatcher is used to carry out more specific, one-off tasks. Past examples include:

Changeover of Image Templates
(completed 21st August 2009) Following an overhaul of the Image Templates, over 1000 pages remained containing the deprecated template (often together with other templates). Add_text.py was used to selectively add the new template, allowing the deprecated template to be blanked and avoiding duplication.

The following command was used: python ./public_html/extensions/pywikipedia/add_text.py -cat:C-nintendo -text:"" -up -except:"[Ff]ound[Ii]mage" -always

Migration of Community Content
(completed 14th November 2009) Following the creation of the new Community namespace, Movepages.py was used to move all community-related Main and Talk pages to the new namespace.

The following command was used: python ./public_html/extensions/pywikipedia/movepages.py -catr:community -namespace:0,1 -prefix:Community: -summary:"Robot: Moving all community content to new namespace" -always

Adding interwiki links to Zeldapendium
(8th January 2010) Template:De requires the addition of either   or   to pages added to the template's list. Add_text.py and pagefromfile.py to add the required templates to 240 articles.

The following commands were used: python ./public_html/extensions/pywikipedia/add_text.py -file:./public_html/extensions/pywikipedia/de_normal.txt -except:"[Dd][Ee]:" -except:"{{[Dd][Ee]" -text:"" -summary:"Adding interwiki link to German article at Zeldapendium" -always -log:Template_De.log python ./public_html/extensions/pywikipedia/pagefromfile.py -file:./public_html/extensions/pywikipedia/de_special.txt -notitle -appendbottom -summary:"Adding interwiki link to German article at Zeldapendium" -log:Template_De.log

Adding Names template
(completed 9th January 2010) Following the creation of a matrix of translations, the data was converted into the correct format to be used in the Names template. Pagefromfile.py was used to insert the template code into 322 articles. python ./public_html/extensions/pywikipedia/pagefromfile.py -file:./public_html/extensions/pywikipedia/names.txt -notitle -appendbottom -summary:"Automated addition of Names template" -log:Template_Names.log