Wikipedia:Bot policy: Difference between revisions
m →Various tasks: RussBot is very much active |
Added the approval group into the policy |
||
Line 12: | Line 12: | ||
== Current policy on running bots == |
== Current policy on running bots == |
||
Before running a bot, you must get approval on [[WP:BRFA|Requests for bot approval]]. State there precisely what the bot will do. |
Before running a bot, you must get approval on [[WP:BRFA|Requests for bot approval]] (more instructions are there). State there precisely what the bot will do. Observe discussion and await authorisation from someone in the [[Wikipedia:Bots/Approvals group|approvals group]]. Approval may take up to one week. After approval you may run the bot for a short period so it can be monitored. After the trial the bot will be evaluated from someone in the approvals group and you may ask that the user be marked as a bot at [[m:requests for bot status]]. |
||
Again, please '''DO NOT''' start running your bot without |
Again, please '''DO NOT''' start running your bot without |
||
Line 18: | Line 18: | ||
# Creating a talk page for the bot describing its functions |
# Creating a talk page for the bot describing its functions |
||
# Listing your bot on [[WP:BRFA|BRFA]] |
# Listing your bot on [[WP:BRFA|BRFA]] |
||
# Getting the go ahead from someone in the [[Wikipedia:Bots/Approvals group|approvals group]] |
|||
# Waiting a week for comments. |
|||
When getting approval on [[WP:BRFA|BRFA]], please state the following: |
When getting approval on [[WP:BRFA|BRFA]], please state the following: |
Revision as of 21:28, 26 March 2006
- WP:B redirects here. For Wikipedia Bureaucrats, see Wikipedia:Bureaucrats (WP:BCRAT).
This page in a nutshell: Programs that update pages automatically in a useful and harmless way may be welcome if their owners seek approval first and go to great lengths to stop them running amok or being a drain on resources. |
Bots are automatic processes interacting with Wikipedia over the World Wide Web. As Wikipedia policy discourages the use of bots, please read the guidelines below before designing and implementing any bot on Wikipedia.
We almost always prefer to rely on human input for editing, and only carefully designed bots are allowed. While bots are capable of doing a lot of work, they strain the system's ability to keep up, both technically and intellectually. Bots could be used to add to or generate articles, while others could be used to edit or even destroy articles: see types of bots and history of Wikipedia bots. Well-designed bots can provide concrete benefits to the Wikipedia project, but even good bots have some drawbacks.
This is not the page to request a bot.
This page contains information pertinent to running a bot yourself. To request that someone write a bot to do something, please see Wikipedia:Bot requests instead.
Current policy on running bots
Before running a bot, you must get approval on Requests for bot approval (more instructions are there). State there precisely what the bot will do. Observe discussion and await authorisation from someone in the approvals group. Approval may take up to one week. After approval you may run the bot for a short period so it can be monitored. After the trial the bot will be evaluated from someone in the approvals group and you may ask that the user be marked as a bot at m:requests for bot status.
Again, please DO NOT start running your bot without
- Creating a talk page for the bot describing its functions
- Listing your bot on BRFA
- Getting the go ahead from someone in the approvals group
When getting approval on BRFA, please state the following:
- Whether the bot is manually assisted (run by a human) or automatic scheduled to run
- The period, if any, we should expect it to run
- What language or program it is running
- The purpose of your bot
- Why do you need it?
- Is it important enough for Wikipedia to allow your bot?
Make certain to create a user page for your bot before getting approval on BRFA:
- Describe the bot's purpose, language it uses, what program(s) it uses (pywikipedia framework, etc)
- Describe whether it is manually assisted or automatically scheduled to run
- The period, if any, we should expect it to run
- Describe who the maintainer is
- Add the bot's user page to Category:Wikipedia bots
When naming your bot, please make sure that it does not look exactly like your username, and that a person can immediately determine that it is a bot.
- Sysops should block bots, without hesitation, if they are unapproved, doing something the operator didn't say they would do, messing up articles or editing too rapidly.
- New bots should run without a bot flag so people can check what it's doing.
- Until new bots are accepted as ok they should wait 30-60 seconds between edits. After being accepted and a steward has marked them as a bot, they should delay approximately 10 seconds between edits. It is recommended that bots run with larger delays during peak hours and peak days such as Monday. Ideally, bots should run on off-peak hours and on typically low traffic days such as Friday and Saturday to avoid strain on the database servers. Running during off-peak times may permit faster editing than suggested.
- The operator should be at, or logged into, the machine the bot is running on to terminate it if necessary during the debugging phase, or the bot is liable to be blocked without notice.
- If you are planning to use a "spider", recursive wget, or similar software to get a local copy of wikipedia, please download the database dumps instead.
- Dynamic loading of Wikipedia pages may also be unacceptable. Please see Wikipedia:Mirrors and forks.
- Operators should separate their edits from their bot. This means that you should not be logged in as your bot replying to people. Questions or concerns can be addressed at bot's talk page or the operator's talk page, but the one who is responsible for replying is the operator not the bot.
The burden of proof is on the bot-maker to demonstrate the following:
- The bot is harmless
- The bot is useful
- The bot is not a server hog
- The bot has been approved
Note that according to Wikipedia:Categorization of people certain types of person categories should not be filled/emptied using a bot. Before adding sensitive categories to articles by bot, the input should be manually checked article by article, rather than uploaded from an existing list in Wikipedia.
In the assistance to prove the bot is harmless and useful, a trial period may be asked to demonstrate the bot. Complaints made about the bot during the trial period requires the bot to be immediately stopped, and the issue should be resolved at Wikipedia talk:Bots. If the trial period passes with no problems, then a bot flag may be requested at m:requests for bot status.
If you plan to make any modifications to your bot, which expand the scope of its original purpose, please leave a note on the talk page regarding the nature of the change. This is to assert that no one has any problems with your bot, and such additions still make the bot harmless, useful, and not a server hog.
Under exceptional circumstances, one or more aspects of this policy may be set aside by a consensus of administrators.
Spell-checking bots
There should be no bots that attempt to fix spelling mistakes in an unattended fashion. It is not technically possible to create such a bot which would not make mistakes. Manually-assisted spell bots are perfectly acceptable, so long as they include international spellchecking and not US-only English spellchecking. Statistic generating spell-checking bots are also perfectly acceptable (bots that generate statistics on common misspellings).
Wikipedia:Maintenance reports which list possible misspellings are welcome. See Wikipedia:Typo for existing efforts and a list of existing interactive spell-checking tools.
Interwiki bots
If using the pywikipedia framework:
- Please run the latest version
- Update on a daily basis
Bot operators must be reasonably familiar with the languages that they are linking from and to, in order to confirm that the interwiki linking between the two encyclopedias are done correctly.
Exceptions to this are bot developers, those working very closely with bot developers, or users that have proven themselves as harmless and useful to the community.
Informational links:
- Wikipedia:Interlanguage links
- m:Interwiki bot
- m:Interwiki sorting order
- Python wikipedia robot framework
- m:Using the python wikipediabot
- Interwiki bot FAQ (How it works or why it does the things it does)
- Date and other various patterns used by the bot here (please help with this effort)
Benefits and drawbacks
Note that this section specifically discusses the type of bot that, like Rambot, adds large numbers of similarly-formatted articles based on some external data source.
Benefits bots can offer
- Provides a good template of pre-formatted data for contributors (see how the Newton, Massachusetts entry has been expanded; the Periodic table was used to start the 100+ articles for the elements)
- Potentially provides a unique resource not directly available elsewhere on the web (the small-town bot is a good example of a well-designed bot—see Ram-Man's description of the data acquisition process—uck!)
- Provides full coverage in cases where an a priori undeterminable subset of the data has a high likelihood of being (or becoming) interesting even though a randomly chosen entry has a low probability of being interesting / useful.
- Can perform chores that might become tedious for a human, such as uploading a large series of images. The Anomebot is the first bot with this capability.
Inherent drawbacks of using bots in current system
- Adds tens of thousands of entries to Wikipedia that are unlikely to see a human edit any time soon (in fact, we could probably extrapolate the nearly exact rate at which they will get edited by seeing how many have been edited so far).
- Artificially inflates the perceived activity of Wikipedia.
- Can be perceived as tilting (and possibly could tilt) the purpose of Wikipedia away from being an encyclopedia and towards being a gazetteer / Sports Trivia Reference / etc.
- Danger of abuse by "vandal-bots" (though the owner of a vandal bot would be unlikely to follow policy on whether bots were allowed anyway), or just "clueless-bots". A bot running out of control could potentially cause heavy server load or even a denial of service attack.
- Inability to detect vandalism in previous, recent edits, effectively concealing these edits from users' watchlists. (though this can also happen if a human edits the page and doesn't spot the vandalism)
These pros and cons apply to bot additions in the aggregate—individual bot entries raise issues similar to those of stub entries. In fact, they're often one and the same.
Any graceful solution would provide the automatic functionality of the pros without the negative consequences of the cons.
Bots and recent changes
There have been general complaints about interference with normal contributor operations, esp. Special:Recentchanges.
In response to popular demand, a feature has been added to hide edits by registered bots from display in Recentchanges; see the list below for active bots. To include bot edits in Recentchanges, manually add hidebots=0 to your query string, or click "show bot edits" at the top of Recentchanges.
Good form
Bot operators are encouraged, but not required to:
- Publish the source code of their bot (unless it's a clone)
- Program their bot to stop editing if someone leaves a message on its talk page. This can be checked by looking for the "You have new messages..." banner in the HTML for the edit form.
Currently running bots
This is a list of currently running bots. Some of these may be actual users who are running bot scripts under their own account, and are not planning to apply for a bot flag.
Bots with a flag
Bots that are in this list should also appear in List of users with a bot flag.
Bots running without a flag
These bots are run manually, under direct user control, without a bot flag so that they appear in Special:Recentchanges. Bots listed here should only be making edits 30-60 seconds apart until fully approved. Discussion related to these bots should be directed to the talk page at Wikipedia talk:Bots or to the owner of that bot.
Name | Purpose | Owner | Date added | Status |
---|---|---|---|---|
79 androids | Maintains templates related to WikiProject Baseball players. | Android79 | 2006-01-05 | Wikipedia:Bot policy/discontinued |
Adrian Buehlmann Bot | Human-assisted, exchanges template calls and updates lists of templates in articles (approved). | Adrian Buehlmann | 2006-01-27 | Wikipedia:Bot policy/active |
Afkbot | Interwikis | Korean alpha for knowledge | 2006-02-15 | Wikipedia:Bot policy/inactive |
Andrewbot | Runs pywikipedia redirect.py. | 24.226.62.205 | 2005-08-16 | Wikipedia:Bot policy/inactive |
AngBot | Deletes articles created by mass page-creation vandalism. | Angela | Wikipedia:Bot policy/unknown | Wikipedia:Bot policy/discontinued |
Atomobot | Various tasks. | Atomique | 2006-03-18 | Wikipedia:Bot policy/active |
AzaBot | Template subst, touching for mergin and/or deleting of templates, search and replace. | AzaToth | 2005-12-07 | Wikipedia:Bot policy/inactive |
Catapult | Various tasks. | Freakofnurture | 2006-02-13 | Wikipedia:Bot policy/active |
Crypticbot | Lists orphaned AFD pages and automated archival. | Cryptic | 2005-10-29 | Wikipedia:Bot policy/active |
Curpsbot-unicodify | Converts some HMTL and URL-encoded entities into Unicode characters. | Curps | 2005-08-22 | Wikipedia:Bot policy/inactive |
Diderobot | Fixes spelling and syntax, various other tasks. | Sam Hocevar | 2005-04-21 | Wikipedia:Bot policy/inactive |
Drito | Miscelanea substing and other grunt work | Drini | 2006-03-10 | Wikipedia:Bot policy/active |
Eubot | Updates statistics on Dutch municipalities. | Eugene van der Pijll | 2005-04-08 | Wikipedia:Bot policy/inactive |
Fetofsbot2 | Semi-automated disambiguation, double redirect, substing and other general fixes. | Fetofs | 2006-02-21 | Wikipedia:Bot policy/active |
G-Bot | Semi-automated typo correction, disambiguates links, various other tasks. | Gflores | 2006-01-12 | Wikipedia:Bot policy/active |
Gnome (Bot) | Stub sorting in support of WP:NOVEL Is waiting for permission for debug. Info on WT:BOT | Eagle (talk) (desk) | 2006-03-05 | Wikipedia:Bot policy/inactive |
Guanabot2 | RC patrol edits. | Guanaco | 2005-03-13 | Wikipedia:Bot policy/inactive |
IsraBot | Uploads stubs on Israeli cities. | AdamRaizen | Wikipedia:Bot policy/unknown | Wikipedia:Bot policy/discontinued |
Kakashi Bot | Responds to bot requests. | AllyUnion | 2005-02-25 | Wikipedia:Bot policy/inactive |
Kurando-san | Human-assisted archival. | AllyUnion | 2005-03-30 | Wikipedia:Bot policy/active |
LDBot | Automates WP:NA (testing in user space). | lightdarkness | 2006-02-24 | Wikipedia:Bot policy/active |
Maksim-bot | Read-only bot (no edits). | Maksim-e | 2006-12-17 | |
Matt Crypto (bot) | Maintains List of cryptography topics, various other tasks. | Matt Crypto | 2005-02-24 | Wikipedia:Bot policy/active |
Mgmbot | Semi-automates 'Did you know?' updates. | MacGyverMagic | 2005-06-26 | Wikipedia:Bot policy/inactive |
NetBot | unspecified. | Anthere | 2005-03-01 | Wikipedia:Bot policy/active |
NotificationBot | Semi-automates talk messages. | AllyUnion | 2005-09-15 | Wikipedia:Bot policy/inactive |
Pathosbot | Subst'ing, various tasks. | Pathoschild | 2006-03-13 | Wikipedia:Bot policy/active |
Pfft Bot | Solves disambiguations and moves images to commons. | Phroziac | 2005-12-28 | Wikipedia:Bot policy/active |
PhD-Econobot | Disambiguates links to Native Americans. | Nat Kraus | 2005-10-11 | Wikipedia:Bot policy/inactive |
Roomba | Copyright-related media tagging. | Gmaxwell | 2005-11-06 | Wikipedia:Bot policy/active |
SecuniBot | Updates security statistics on Comparison of operating systems. | K. Sperling | 2006-07-25 | Wikipedia:Bot policy/active |
SEWilcoBot | Various tasks. | SEWilco | 2005-06-19 | Wikipedia:Bot policy/discontinued |
StefanBot | Adds fishbase and ITIS references to fish articles. | Stefan | 2005-12-31 | Wikipedia:Bot policy/active |
SuggestBot | Recommends articles to edit based on articles people have edited previously. | ForteTuba | 2006-01-03 | Wikipedia:Bot policy/active |
Tawkerbot2 | Vandal fighting, discussed on IRC running w/o flag to allow for review | Tawker | 2006-03-05 | Wikipedia:Bot policy/active |
User:Tractor | Open-community IRC bot under development for WP:BC | Wikipedia:Bot policy/unknown | Wikipedia:Bot policy/unknown | Wikipedia:Bot policy/active |
WOPR | Adjusts WP:DEFCON based on RC output. | Cool Cat | 2005-10-10 | Wikipedia:Bot policy/inactive |
Wybot | unspecified. | WonYong | 2005-12-21 | Wikipedia:Bot policy/inactive |
none | Checks open proxies (details). | fvw | 2005-09-30 | Wikipedia:Bot policy/discontinued |
none | Semi-automates 'Did you know?' updates (details). | Gdr | 2005-05-29 | Wikipedia:Bot policy/inactive |
none | unspecified. | Alterego | 2005-06-26 | Wikipedia:Bot policy/discontinued |
none | Various tasks (details). | IByte | 2005-07-16 | Wikipedia:Bot policy/active |
none | Runs pywikipedia editarticle.py. | Shawn K. Quinn | 2005-07-19 | Wikipedia:Bot policy/inactive |
none | unspecified (m:pywikipedia). | Bmicomp | 2005-07-20 | Wikipedia:Bot policy/inactive |
none | Semi-automates AFDs. | ceejayoz | 2005-10-25 | Wikipedia:Bot policy/inactive |
none | None (I'm just testing pywikipedia capabilities in sandbox) | Misza13 | 2006-03-19 | Wikipedia:Bot policy/inactive |
Ganeshbot | Currently just testing pywikipedia capabilities in sandbox. Intend to upload stubs on Indian cities similar to User:Rambot) | Ganeshk | 2006-03-24 | Wikipedia:Bot policy/active |
Interwiki bots
- After a rough start related to its character set configuration the Jumbuck seems to be doing fine updating interwiki links. -- Ævar Arnfjörð Bjarmason 11:44, 2004 Oct 14 (UTC)
- User:Roboto_de_Ajvol, apiece inserting ru interwiki. ajvol 15:42, 18 May 2005 (UTC)
- NTBot - to place backlinks from the portuguese wikipedia Nuno Tavares 3 July 2005 20:32 (UTC)
- E2mb0t - backlinks from the Portuguese wikipedia and general stuff. --E2mb0t 03:52, 13 July 2005 (UTC)
- Dake - interwiki links from .fr version, restricted to articles about cryptography, I will check all edits Dake 16:27, 15 July 2005 (UTC)
- NongBot - backlinks from Thai Wikipedia.
- YurikBot does interwikis - Yurik 11:48, 18 July 2005 (UTC)
- User:MoriBot occasionally used for interwiki links Moribunt 17:43, 29 July 2005 (UTC)
- User:N-Bot is fixing links to redirects to lists. ~~ N (t/c) 09:53, 6 August 2005 (UTC)
- User:Lt-wiki-bot is running interwiki across en.wiki & lt.wiki. Knutux 06:58, 8 August 2005 (UTC)
- User:MTSbot LT interwiki Bot. 17:15, 7 February 2006 (UTC)
- Note, this entry was added by 24.30.99.132 (talk · contribs), not MTS or MTSbot. — FREAK OF NURxTURE (TALK) 06:33, Feb. 8, 2006
- GrinBot updating en→hu interlang links, test running for a week, waiting for complaints :) --grin ✎ 10:40, 2005 September 1 (UTC)
- User:KnightRider is doing interwiki links from es wikipedia to en. --KnightRider 18:45, 15 September 2005 (UTC)
- User:Eskimbot does interwikis, from the French Wikipedia. Eskimo ☼ 11:00, 5 October 2005 (UTC)
- User:SundarBot adds interwikis from the Tamil Wikipedia. -- Sundar \talk \contribs 07:08, 7 December 2005 (UTC)
- RefBot processes references and citations in various ways. Functionality split from the more general SEWilcoBot. (SEWilco 19:53, 23 December 2005 (UTC))
- User:Vina-iwbot is doing interwikilinks with multilogin function, from Chinese wikipedia (zh).--Vina 22:06, 3 January 2006 (UTC) Not running currently due to login irregularities, see talk page for details --Vina 06:07, 6 January 2006 (UTC)
- User:Bota47 does interwikis, from the Czech Wikipedia --Li-sung 16:48, 9 March 2006 (UTC)
Other registered bots
- User:The Anomebot has been created for automated submissions by User:The Anome. The initial intent is to upload approximately 5000 map diagrams created by User:Wapcaplet. This has now been done, and new uses are now being thought of for the Anomebot...
Software which may be useful for making bots
- Python Wikipedia Robot Framework
- WikiGateway (perhaps sometime in the future; it doesn't support MediaWiki yet)
- Anura -- Perl interface to MediaWiki using libwww-perl. Not recommended, as the current version does not check for edit conflicts.
- WWW::Mediawiki::Client -- perl module / command line client
- WWW::Wikipedia -- perl module for interfacing wikipedia
- WikiLink`, a Mathematica package -- actually just a thin wrapper around a java class supporting logging in, getting and setting pages.
Wiki integration bots
Below is a list of bots on other systems/solutions that extend system-specific funcionallity with Wiki integrations.