DotNetWikiBot Framework

Purpose

DotNetWikiBot Framework is intended to help with many complicated and routine tasks of wiki site development and maintenance. DotNetWikiBot Framework is a clean 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.LoadEx();
        // 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");		
    }
}

More examples are available in sample bot script in DotNetWikiBot package.

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