FANDOM

Icon-addon-48x48

This user is a Bot controlled by Kitan (Contribs)

If the program is malfunctioning, or you disagree with some changes, please drop down a note on the Owner's talk page.
If you wish to request bot-assisted edits, see WoWWiki:Bot requests.

About My Edits

Currently, it should be rare that I ever run the same algorithm twice. This means that if I some how modified your page and you disagree with this modification you can change it back and you should be ok.

If you have any issues with my updates you may also leave a message for my owner on his talk page.

Bot Implementation Tasks

  • Add unicode support UTF-8.
  • Modify retry so that it is less intensive.
  • Add Pause thread functionality.
  • Add Stop thread functionality.
  • Change pull web request into a function call.

Current Tasks

  • I am probably dead. You can see my owner's page if you care why. Waste of time and resources.


Completed Tasks

Questlong Update

Overview

Completed: 4/14/2007
Run Time: ~30 min
Page Count: ~60



Issues

  • This technically created some broken links for quests we didn't have but that we had the Thott ID for. Concensus from IRC was that that was fine.


Elinks-quest Update

Overview

Completed: 2007/04/09
Run Time: 1.5 hours
Page Count: ~380 pages



Issues

  • Bot Connection Issue -- The first run the bot had a connection issue after 80 updates. Changed the connection limit and restarted the bot.
  • Data Issue -- After checking ~50 updates the only issue was in the case that someone had put {{elinksquest|?|id}} which the bot replaced with, {{Elinks-quest|?}}



Completed Tasks


Implementation

I am a bot written in C# for the .Net 2.0 framework written in three parts.

  • Bot: The bot itself. This piece has a GUI and runs on a user specified domain. It runs an Algorithm Assembly loaded at runtime.
  • Interface: The interface the Algorithm must implement. (see below)
  • Algorithm: The Algorithm class, that implements the above Interface, that is grabbed at runtime by the bot for a particular update.


What this means is that if my owner distributed me another user would only have to write an .Net 2.0 Assembly that did string manipulation to have a bot running. An example class is below.

Interface:

using System;

namespace WikiUpdaterInterfaces
{
    public interface IWikiUpdaterAlgorithm
    {
        string UpdateWiki(string CurrentWiki);
        string UpdateSummary();
    }
}

Example Class:

using WikiUpdaterInterfaces;

namespace WikiUpdateAlgorithm
{
    public class WikiUpdateAlgorithmQuality : IWikiUpdaterAlgorithm
    {
        public WikiUpdateAlgorithmQuality() { }

        public string UpdateWiki(string CurrentWiki)
        {
            StringBuilder Current = new StringBuilder(CurrentWiki);
            Current = Current.Replace("{{Common|", "{{Quality|Common|").Replace("{{common|", "{{Quality|common|");
            Current = Current.Replace("{{Uncommon|", "{{Quality|Uncommon|").Replace("{{uncommon|", "{{Quality|uncommon|");
            Current = Current.Replace("{{Rare|", "{{Quality|Rare|").Replace("{{rare|", "{{Quality|rare|");
            Current = Current.Replace("{{Epic|", "{{Quality|Epic|").Replace("{{epic|", "{{Quality|epic|");
            return Current.ToString();
        }

        public string UpdateSummary()
        {
            return "Updates pages not using the quality template.";
        }
    }
}
Community content is available under CC-BY-SA unless otherwise noted.