Wikipedia:Bots
![]() | This is an information page. It is not one of Wikipedia's policies or guidelines; rather, its purpose is to explain certain aspects of Wikipedia's norms, customs, technicalities, or practices. It may reflect differing levels of consensus and vetting. |
![]() | This page in a nutshell: On Wikipedia, bots are computer-controlled user accounts performing various tasks in order to maintain the encyclopedia. Bots are used for many purposes, for instance, removing obvious vandalism and archiving talk pages. All bots must be approved by a special group before they are put into use. |
![A man is shaking hands with a small humanoid robot](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Enon_robot.jpg/170px-Enon_robot.jpg)
A bot (a common nickname for software robot) is an automated tool that carries out repetitive and mundane tasks to maintain the 61,329,136 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,708 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 298 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
- 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]]
- 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'.
- Remember to bypass your browser's cache.
- 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
- 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;}
- Remember to bypass your browser's cache.
- 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
- 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;
- 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:
- 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.
See also
Articles
Categories
Meta
Barnstar
{{The Bot Creator Barnstar|put your message here. ~~~~}}
– Awarded to an editor for creating a bot.{{Bot operator's barnstar|put your message here. ~~~~}}
– Bot operator's barnstar, Coders need love too.
Userbox and top icon
- {{User bot owner}} – a userbox template to indicate you own and run a bot.
- {{Bot topicon}} – a top icon template to indicate you have own and run a bot – adds a category to page automatically.