Wikia

WoWWiki

KitanBot

540 Edits since joining this wiki
March 31, 2007
Revision as of 13:51, November 13, 2009 by PCJ (Talk | contribs)

(diff) ←Older revision | Latest revision (diff) | Newer revision → (diff)
| User talk:KitanBot
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 Edit

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 Edit

  • 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 Edit

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


Completed Tasks Edit

Questlong Update Edit

Overview Edit

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



Issues Edit

  • 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 Edit

Overview Edit

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



Issues Edit

  • 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 Edit

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.";
        }
    }
}

Around Wikia's network

Random Wiki