User:HagermanBot

From Wikipedia, the free encyclopedia

This user account is a bot operated by Hagerman.

It is not a sock puppet, but rather an automated or semi-automated account for making repetitive edits that would be extremely tedious to do manually.
Administrators: if this bot is malfunctioning or causing harm, please block it.

Little is it known that the HagermanBot signed the United States Declaration of Independence in lieu of John Hancock who left early and forgot to sign.
Enlarge
Little is it known that the HagermanBot signed the United States Declaration of Independence in lieu of John Hancock who left early and forgot to sign.

Contents

[edit] Tasks

  1. Place the {{unsigned}} template on a talk page and requested pages when a user adds a comment and forgets to sign.
  2. Approved for trial. Place the {{tilde}} template on the user's talk page when the user leaves two unsigned comments in a rolling 24-hour period.

[edit] General Information

[edit] Sandbox

If you'd like to test the behavior of the bot, you may use the HagermanBot sandbox.

[edit] Problems

If the bot leaves an unsigned template on an edit you made when it shouldn't have done so, please notify Hagerman making sure to include the page. Feel free to remove the unsigned template, it won't put it back in the same spot twice.

[edit] Turning it On

The bot is enabled by default for all pages under the talk namespaces. If you want the bot to monitor a talk page, you don't need to do anything. However, if you want it to monitor a non-talk page, place the page in the appropriate category and the bot will begin marking unsigned comments. It may take up to 5 minutes for the bot to begin signing comments after the category is applied.

[edit] Turning it Off

If you want to turn it off, this bot supports three functions for disabling the engine:

  • One-Time: If you think an edit you are making to a talk page might be interpreted as a comment when it shouldn't be, putting !NOSIGN! somewhere in your edit summary will cause the bot to ignore your edit.
  • Article Permanent: If you do not wish to have the bot monitor a specific talk page, putting <!--Disable HagermanBot--> somewhere on the page will cause the bot to stop watching the page until the flag is removed. Note that it must be placed directly on your talk page and not on a template that is transcluded.
  • User Permanent: If you do not wish to have the bot mark unsigned comments left by you, you may follow the instructions at opting out.

[edit] Technical Information

[edit] Architecture

  • Interface: Windows Service
  • Programming Language: Visual C# .NET
  • Libraries Used: WikiFunctions.dll from the AWB project.

[edit] Conditions

In order for the bot to classify an edit as a new unsigned comment, the following conditions must be met:

  • The edit must fall under the Talk or User Talk namespace or an article with a special category.
  • The edit must only contain the addition of new lines and those lines must all be adjacent.
  • The edit must not already contain a signature in the added lines. A signature is determined by either the presence of a link to the User namespace, a link to the User talk namespace, or the string "(UTC)".
  • The edit must either create a new heading or exist as an indent under an existing heading.
  • The edit must not contain a template unless it is to the Wikipedia namespace or the template is {{t1}}.

[edit] Monitoring

All recent changes to watched pages are immediately placed in a queue for the signing engine. When the page reaches the end of the queue, the signing engine retrieves the page diff from Wikipedia and analyzes the changes to determine whether it needs to mark it as an unsigned comment. During most times of the day, there are only one or two pages in front of it, and an unsigned template is marked a few seconds seconds after the page is initially saved. However, during extremely busy time periods, the queue can have several hundred pages in front of it, and as a result, it might take up to 10 minutes for a comment to get signed. The queue operates on the FIFO principle, no prioritization is applied.