User:Mithbot/Scripts: Difference between revisions

From Tolkien Gateway
m (redlinks)
m (redlink)
Line 50: Line 50:
*''Beleg of Arthedain'' to [[Beleg (King of Arthedain)]] (15 June 2010);
*''Beleg of Arthedain'' to [[Beleg (King of Arthedain)]] (15 June 2010);
*''Faramir son of Ondoher'' to [[Faramir (son of Ondoher)]] (15 June 2010);
*''Faramir son of Ondoher'' to [[Faramir (son of Ondoher)]] (15 June 2010);
*''Beregond, Steward of Gondor'' to [[Beregond (Steward of Gondor)]] (15 June 2010);
*''Beregond, Steward of Gondor'' to {{redlink|[[Beregond (Steward of Gondor)]]}} (15 June 2010);
*''Boromir I'' and ''Boromir son of Denethor I'' to [[Boromir (Steward of Gondor)]] (15 June 2010);
*''Boromir I'' and ''Boromir son of Denethor I'' to [[Boromir (Steward of Gondor)]] (15 June 2010);
*''Dior of Gondor'' to [[Dior (Steward of Gondor)]] (15 June 2010);
*''Dior of Gondor'' to [[Dior (Steward of Gondor)]] (15 June 2010);

Revision as of 11:37, 16 July 2015

Changing Internal Links

using System;
using DotNetWikiBot;
class MyBot : Bot 
{ 
	public static void Main() 
	{ 
		Site site = new Site("http://tolkiengateway.net", "Mithbot", "PASSWORD"); 

		PageList p = new PageList(site);
 		p.FillFromLinksToPage("Bilbo");
		p.LoadEx();
		foreach (Page i in p)
			i.text = i.text.Replace("[[Bilbo]]", "[[Bilbo Baggins]]");
		p.SaveSmoothly(1, "Bot Message: changing link to [[Bilbo Baggins]]", true);
	} 

}

To avoid certain namespaces, add this before p.LoadEx();, User and Template in this example:-

		p.RemoveNamespaces(new int[] {2,10});

The above code is used to change links to a particular page in order to remove redirects. By changing "Bilbo" and "Bilbo Baggins" this script can be re-used again and again to edit internal links. So far, it has been used for changing:

Changing Categories

Category:Images from The Lord of the Rings: The Motion Picture Trilogy[former link] (17 November 2010)'