Home | Download | Documentation | Usage examples | Request a new feature | Report a bug | Ask for support |
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.
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"); } }