A man is shaking hands with a small humanoid robot
A physical robot (right)

A bot (a common nickname for software robot) is an automated tool that carries out repetitive and mundane tasks to maintain the 61,866,932 pages of the English Wikipedia. Bots are able to make edits very rapidly, but can disrupt Wikipedia if they are incorrectly designed or operated. For these reasons, a bot policy has been developed.

There are currently 2,721 bot tasks approved for use on the English Wikipedia; however, not all approved tasks involve actively carrying out edits. Bots will leave messages on user talk pages if the action that the bot has carried out is of interest to that editor. Some bots can be excluded from leaving these messages by using the {{bots}} tags. There are 213 exclusion-compliant bots, which are listed in this category. There are 296 bots flagged with the "bot" flag right now (and over 400 former bots). There is also a range of tools that allow semi-automated editing of large numbers of articles.

History

Bots have been used in the past to create large numbers of articles that were uploaded to Wikipedia within a short timeframe. Some technical problems were experienced and this led to the formulation of a bot policy, as well as a restriction on the automated, large-scale, creation of articles.

Bot policy

Wikipedia policy requires that bots be harmless and useful, have approval, use separate user accounts, and be operated responsibly.

Bot Approvals Group

The Bot Approvals Group (BAG) supervises and approves all bot-related activity from a technical and quality-control perspective on behalf of the English Wikipedia community. On the English Wikipedia, the right to flag a bot is limited to bureaucrats.

Running an automated bot on a separate account requires approval, which may be requested at Wikipedia:Bots/Requests for approval.

How to create a bot

Some programming experience generally is needed to create a bot, and knowledge of regular expressions is useful for many editing tasks. However, some of the more user-friendly tools, such as AutoWikiBrowser or JavaScript Wiki Browser, can be used for some tasks.

The Chicken Scheme, Common Lisp, Haskell, Java, Microsoft .NET, Perl, PHP, Python, and Ruby programming languages all have libraries available for creating bots. Pywikibot is a commonly used Python package developed specifically for creating MediaWiki bots.

Dealing with bot issues

If you have noticed a problem with a bot, have a complaint, or have a suggestion to make, you should contact the bot operator directly via their user talk page (or via the bot account's talk page). Bot operators are expected to be responsive to the community's concerns and suggestions, but please assume good faith and don't panic. Bugs and mistakes happen, and we're all here to build an encyclopedia.

If the bot is causing a significant problem, or the bot operator has not responded and the bot is still causing issues, several mechanisms are available to prevent further disruption. Many bots provide a stop button or means to disable the problematic task on their bot user page. This should be tried first, followed by a discussion of the issue with the bot operator. If no such mechanism is available (or if urgent action is needed), leave a message at the administrators' noticeboard requesting a block for a malfunctioning bot. Per the noticeboard's guideline, you are required to notify the bot operator of the discussion taking place at the noticeboard.

If you are concerned that a bot is operating outside the established consensus for its task, discuss the issue with the bot operator first, or try other forms of dispute resolution (BAG members can act as neutral mediators on such matters). If you are concerned that a bot no longer has consensus for its task, you may formally appeal or ask for re-examination of a bot's approval.

How to hide a specific bot from your watchlist

While it is easy to hide all bots from your watchlist, there is no way of hiding specific bots through user preferences or default watchlist settings. However, it is possible with a user script by following these steps.

Main steps

  1. Go to your Special:MyPage/common.js page (or your Special:MyPage/skin.js), and add the following line (diff):
    importScript('User:UncleDouggie/smart_watchlist.js'); // Backlink: [[User:UncleDouggie/smart_watchlist]]
  2. Go to Special:Preferences#mw-prefsection-rc, check both the 'Group changes by page in recent changes and watchlist' and 'Use non-JavaScript interface' boxes, and click 'Save'.
  3. Remember to bypass your browser's cache.
  4. Go to your watchlist. There should be a box with several options. Tick the 'Enable hide user buttons' box. This will let you hide specific bots (and users) from your watchlist.
    Note: You might want to untick the 'Enable hide user buttons' box after you ignore a bot to ensure that you don't accidentally click 'hide user' when browsing your watchlist.

Optional steps

  1. If you find the 'Enable hide user buttons' box annoying, go to your Special:MyPage/common.css page (or Special:MyPage/skin.css) and add the following line (diff):
    #SmartWatchlistOptions {display:none !important;}
  2. Remember to bypass your browser's cache.
  3. If you want to show the box again, for example to reset your ignore list, go to your Special:MyPage/common.css page and remove the line you added in optional step #1 (remembering to again bypass your browser's cache). Redoing optional steps #1 and #2 will hide the box again.

While you are completely free to ignore any bots (or users) you want, it is a good idea to only ignore bots with well-defined tasks, which you trust to not make any mistakes.

How to hide AWB edits from your watchlist

There is no way of hiding AutoWikiBrowser (AWB) edits through user preferences or default watchlist settings. However, it is possible with a user script by following these steps:

Steps

  1. Go to your Special:MyPage/common.js page (or your Special:MyPage/skin.js), and add the following two lines (diff):
    importScript( 'User:Evad37/Watchlist-hideAWB.js' ); // Backlink: [[User:Evad37/Watchlist-hideAWB]]
    var awbHiddenByDefault = true;
    
  2. Bypass your browser's cache.

Any edit with "AWB" in its edit summary will now default to hidden for you. You may reveal them by clicking on the "show AWB" tab at the top of your watchlist (next to "Special page" for Monobook skin, or in the "More" dropdown for Vector skin).

Notes:

  • If you leave out var awbHiddenByDefault = true;, AWB edits will be shown by default, but you will have the option of hiding AWB edits by clicking on the "hide AWB" tab at the top of your watchlist.
  • While you are completely free to ignore AWB edits, remember that many of them will contain substantial changes from human editors, not just minor edits from bots or meatbots.
  • When hiding edits with a script, earlier edits can be forced to appear. Using the Expand watchlist to show all changes, not just the most recent preference option is necessary to see other non-hidden watchlist hits for a page.

How to stop specific bots from editing the article

It's rare that a mainspace article needs to not be edited by a specific bot. No article needs to stop all bots from editing, since antivandal bots such as ClueBot NG need to be able to edit all mainspace articles. The template {{bots}} can stop a bot from editing an article under the rare circumstance it's needed.

Examples

Some examples of bots are:

See also

Articles

Categories

Meta

Barnstar

Userbox and top icon