Wikipedia:Bots

A bot (a common nickname for software robot) is an automated tool that carries out repetitive and mundane tasks to maintain the Special:Statistics 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 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 exclusion-compliant bots, which are listed in this category. There are Special:ListUsers/bot 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 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.

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 Optional steps
 * 1) Go to your Special:MyPage/common.js page (or your Special:MyPage/skin.js), and add the following line (diff):
 * 2) Go to Special:Preferences, 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.
 * 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.
 * 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):
 * 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.
 * 1) 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 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).
 * 1) Go to your Special:MyPage/common.js page (or your Special:MyPage/skin.js), and add the following two lines (diff):
 * 2) Bypass your browser's cache.
 * 1) Bypass your browser's cache.

Notes:
 * If you leave out, 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  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:
 * User:AAlertBot – delivering article alerts to WikiProjects about ongoing discussions.
 * User:AnomieBOT – large variety of tasks, most well known for adding dates to amboxes.
 * User:ClueBot NG – reverts possible vandalism.
 * User:Citation bot – Adds PMIDs, ISBNs, etc. to pages.
 * User:CommonsDelinker – removes links to files deleted at Wikimedia Commons due to policy infractions.
 * User:DatBot – patrols the edit filters and resizes non-free images.
 * User:DumbBOT – often removes protection templates from recently unprotected pages.
 * User:InternetArchiveBot – retrieves archived copies of dead links.
 * User:ListeriaBot – Experimental bot by Magnus Manske. It generates and updates lists on Wikipedia.
 * User:Lowercase sigmabot III – archives talk pages.
 * User:ST47ProxyBot – automatically blocks proxies due to the local policy against open proxies.
 * User:SineBot – signs comments left on talk pages.
 * User:WP 1.0 bot – works with the Version 1.0 Editorial Team.