User:KingAragorn Bot/Scripts
From Tolkien Gateway
Note: This code may need to be updated/amended before it can be used on different Wikis.
Tolkien Gateway
Re-linking
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site site = new Site("http://tolkiengateway.net", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(site); p.FillFromCustomSpecialPage("Whatlinkshere/Of Beleriand and Its Realms", 500); p.Load(); foreach (Page i in p) i.text = i.text.Replace("Of Beleriand and Its Realms|", "Of Beleriand and its Realms|"); foreach (Page j in p) j.text = j.text.Replace("[[Of Beleriand and Its Realms]]", "[[Of Beleriand and its Realms]]"); p.SaveSmoothly(3, "changing link to [[Of Beleriand and its Realms]]", true); } }
Task history:
- Peter Jackson's The Lord of the Rings to The Lord of the Rings: The Motion Picture Trilogy (2 July 2010)
- J.R.R. Tolkien's War in Middle-Earth (1988 video game) to J.R.R. Tolkien's War in Middle Earth (2 July 2010)
- Greek Tolkien Society to Ellinikós Sýllogos Philon Tólkin (2 July 2010)
- Birthday Party to Bilbo's Farewell Party (3 July 2010)
Of Beleriand and its Realms to Of Beleriand and Its Realms (3 July 2010)- Of Beleriand and Its Realms to Of Beleriand and its Realms (20 January 2011)
Changing Categories
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site site = new Site("http://tolkiengateway.net", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(site); p.FillAllFromCategory("Images of The Lord of the Rings: The White Council"); p.Load(); p.RemoveFromCategory("Images of The Lord of the Rings: The White Council"); p.AddToCategory("Images from The Lord of the Rings: The White Council"); p.SaveSmoothly(5, "Bot Comment: Changing Categories", true); } }
One Wiki to Rule them All
Add Category to Recently Uploaded Images
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site site = new Site("http://tolkiengateway.net", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(site); p.FillFromCustomSpecialPage("Log/Upload", 29); p.Load(); p.AddToCategory("Images of Tengwar"); p.SaveSmoothly(3, "Bot Comment: adding category", true); } }
Removal of Spoiler Template from every page which has it
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site site = new Site("http://lotr.wikia.com", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(site); p.FillFromCustomSpecialPage("Whatlinkshere/Template:Spoiler", 500); p.Load(); p.RemoveTemplate("Spoiler"); p.SaveSmoothly(3, "Bot Comment: removing spoiler template", true); } }
Reverting a Vandal Accounts Contributions (not tested + needs rollback rights)
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site enLOTR = new Site("http://lotr.wikia.com/wiki/", "KingAragorn Bot", "PASSWORD") p.FillFromUserContributions ("VANDAL USERNAME" "500",); p.Load(); p.Revert("Bot Comment: Automatic Reverting of a vandal accounts contributions", false); } }
Adding the Stub template to all pages in Special:Shortpages
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site enLOTR = new Site("http://lotr.wikia.com/wiki/", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(enLOTR); p.FillFromCustomSpecialPage("Shortpages", 1000); p.Load(); p.RemoveTemplate("stub"); p.AddTemplate("{{stub}}"); p.SaveSmoothly(5, "Bot Comment: Adding stub template - article is listed under [[Special:Shortpages]]", true); } }
Changing Categories
using System; using DotNetWikiBot; class MyBot : Bot { public static void Main() { Site enLOTR = new Site("http://lotr.wikia.com/wiki/", "KingAragorn Bot", "PASSWORD"); PageList p = new PageList(enLOTR); p.FillAllFromCategory("Mountains of Middle-earth"); p.load(); p.RemoveFromCategory("Mountains of Middle-earth ") p.AddToCategory("Mountains") p.SaveSmoothly(5, "Bot Comment: Changing Categories", true) } }