DotNetWikiBot Framework

Framework classes documentation is now available online.
And a very comprehensive DotNetWikiBot usage examples can now be found in unit testing script.

Purpose

DotNetWikiBot Framework is designed to help with many complicated and routine tasks of wiki site development and maintenance. DotNetWikiBot Framework is a full-featured client API, that allows you to build programs and web robots easily to manage information on MediaWiki-powered sites. DotNetWikiBot Framework is also good for learning C# and .NET.

Some facts about DotNetWikiBot Framework

Short tutorial

There are only 3 types of objects in DotNetWikiBot Framework: Site, Page and PageList. They are used as follows.

using DotNetWikiBot;	// Reference DotNetWikiBot namespace for easy access

class MyBot : Bot	// Derive your bot class from framework's Bot class
{
    public static void Main()
    {
        // Firstly make Site object, specifying site's URL and your bot account
        Site enWiki = new Site("http://en.wikipedia.org", "myBotLogin", "myPassword");
        // Then make Page object, specifying site and page title in constructor
        Page p = new Page(enWiki, "Art");
        // Load actual page text from live wiki
        p.Load();
        // Add "Visual arts" category link to "Art" page's text
        p.AddToCategory("Visual arts");
        // Save "Art" article's text back to live wiki with specified comment
        p.Save("comment: category link added", true);

        // Make empty PageList object, representing collection of pages
        PageList pl = new PageList(enWiki);
        // Fill it with 100 pages, where "nuclear disintegration" is mentioned
        pl.FillFromGoogleSearchResults("nuclear disintegration", 100);
        // Load texts and metadata of all found pages from live wiki
        pl.LoadWithMetadata();
        // Now suppose, that we must correct some typical mistake in all our pages
        foreach (Page i in pl)
            // In each page we will replace one phrase with another
            i.text = i.text.Replace("fusion products", "fission products");
        // Finally we'll save all changed pages to wiki with 5 seconds interval			
        pl.SaveSmoothly(5, "comment: mistake autocorrection", true);
		
        // Now clear our PageList so we could re-use it
        pl.Clear();
        // Fill it with all articles in "Astronomy" category and it's subcategories
        pl.FillFromCategoryTree("Astronomy");
        // Download and save all PageList's articles to specified local XML file
        pl.SaveXmlDumpToFile("Dumps\\ArticlesAboutAstronomy.xml");		
    }
}

Get DotNetWikiBot Framework at SourceForge.net. Fast, secure and Free Open Source software downloads