Wikipedia:Bot policy
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.
Current policy on running bots
Before running a bot, you must get approval on Wikipedia talk:Bots. State there precisely what the bot will do. Get a rough consensus on the talk page that it is a good idea. Wait a week to see if there are any objections, and if there aren't, go ahead and run it for a short period so it can be monitored. After this period, you should ask that the user be marked as a bot at m:requests for permissions.
- 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.
- There should be no (unattended) spelling fixing bots; it is quite simply not technically possible to create such a bot that will not make incorrect changes.
- 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.
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 made 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.
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", or just "clueless-bots". A bot running out of control could potentially cause heavy server load or even a denial of service attack.
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.
Currently running bots
- AngBot is a bot designed by André Engels and operated by Angela to delete articles in situations of mass page-creation vandalism. It was designed in response to the sustained vandal attacks on the Chinese Wikipedia.
- IsraBot is a bot created by AdamRaizen (in Python) for uploading stubs on Israeli cities.
- Robbot, a bot written by Rob Hooft and others (in Python) is used by André Engels to do Disambiguation. The robot does not run independently, but requires a human to actually choose the disambiguation; it nevertheless can run a lot faster than pure human disambiguation. Edits show up as minor edits with the link being disambiguated in the commentary. It may also be used for adding or correcting interwiki-links.
- Sethbot, a bot for creating appropriate redirects for American place names. Designed by André Engels, this bot is operated by Seth Illys.
- snobot used by snoyes to upload pictures (if there are a lot to upload) and to avoid redirects (see: snoyes/fredirect for more information).
- UgenBot is ugen64's use of the pywikipediabot. It will probably be used sporadically.
- D6 is using pywikipediabot for disambiguation, categories, etc. This bot is operated by Docu.
- Guanabot is Guanaco running the pywikipediabot, sometimes with modifications.
- KevinBot is a custom bot written and run by Kevin Rector. It can do lots of different things. Its primary use thus far is to change the race and ethnicity links in pages entered by Rambot.
- NohatBot is various Perl scripts written by Nohat to do various things that he was too lazy to do by hand.
- CanisRufus is a bot, run by RedWolf, mainly used for disambiguation by running the solve_disambiguation.py script under pywikipediabot.
- Janna is run by User:Anthony DiPierro.
- Jumbuck is run by Ævar Arnfjörð Bjarmason, doing interwiki links currently.
- Topjabot is run by Gerritholl
- Pearle. See her user page for details and current status.
- rambot: Scans and modifies all existing county and city articles to implement miscellaneous changes and updates. As time permits, the bot also functions as a generic SpellBot with human interaction.
- LinkBot is a bot written by Nickj for suggesting possible wiki links. Please see user page for more details.
- Nobot is a bot run under supervision by Egil, for maintaining municipality and county articles under WikiProject Norway.
- VFD Bot is a bot that uses the pywikipedia framework so it can perform various "Votes for deletion" tasks. Maintained by AllyUnion (talk). --AllyUnion (talk) 14:01, 5 Mar 2005 (UTC)
- Sandbot is a bot that uses the pywikipedia framework so it can clean up the main sandbox and main sandbox talk page every 6 hours; Also cleans all tutorial sandboxes and tutorial sandbox talk pages every Monday. Work for additional sandboxes may be requested with the Bot owner. Maintained by AllyUnion (talk). -- AllyUnion (talk) 14:01, 5 Mar 2005 (UTC)
- Grammarbot by r3m0t 11:43, Mar 4, 2005 (UTC)
- MBot got bot status several months ago. Running automatically nightly. — マイケル ₪ 13:22, Apr 18, 2005 (UTC)
- User:JdforresterBot, moving pages and fixing the resultant redirects. James F. (talk) 22:48, 12 Apr 2005 (UTC)
- WouterBot is a bot operated by User:WouterVH to do disambiguation work. -- WouterVH 14:21, 4 May 2005 (UTC)
Please wait one week to ensure there are no objections. It might just be me, but the bot also seems to be running a bit fast. -Frazzydee|✍ 18:01, 7 May 2005 (UTC)The throttle was increased to 30 seconds, so I've unblocked this bot. -Frazzydee|✍ 18:19, 7 May 2005 (UTC) - Margosbot - inserting pl interwiki. Margospl 15:23, 5 May 2005 (UTC)
- LupinBot - image uploader. Lupin 04:23, 7 May 2005 (UTC)
- User:NekoDaemon - CFD Bot. -- AllyUnion (talk) 05:45, 18 Apr 2005 (UTC)
- User:Gdrbot, fixing redirects, disambiguating, moving pages between categories, running User:Gdr/Yearbot and User:Gdr/Nomialbot. Gdr 16:21, 2005 May 18 (UTC)
- User:RussBlau running User:RussBot, fixing links to disambiguation pages. Russ Blau (talk) 10:05, Jun 6, 2005 (UTC)
- User:Chobot, fixing interwiki links from the [[:ko:|korean wikipedia. ChongDae 16:11, 20 Jun 2005 (UTC)
- ZwoBot - adds and corrects interwiki links using pywikipediabot, operated by Head. (Bot flag not yet set.)
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.
- 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)
- An open proxy checker (that doesn't have a cute name yet) is running at the moment. Edits made are anonymous and different for each proxy, so will not have the bot flag, but all edits will be to User:Fvw/proxytest. Blocking of the proxies that the bot has successfully edited through will be done from the User:Fvw account (which also isn't a bot account). --fvw* 23:33, 2005 Feb 1 (UTC)
- User:Matt Crypto (bot) is cycling Template:WikiReaderCryptographyAOTD-Verbose every UTC midnight. Probably automatic, but who cares? r3m0t 17:21, Feb 24, 2005 (UTC)
- User:Kakashi Bot - Purpose is to perform any one 'single' time bot request job. -- AllyUnion (talk) 17:24, 25 Feb 2005 (UTC)
- User:NetBot Anthere 18:11, 1 Mar 2005 (UTC)
- User:Guanabot2 - Like Guanabot above, except without the bot flag. Mainly used for RC patrol edits now. Guanaco 17:13, 13 Mar 2005 (UTC)
- User:Kurando-san - archival bot. Performs various archiving tasks that I, AllyUnion, assign it. -- AllyUnion (talk) 10:29, 30 Mar 2005 (UTC)
- User:Eubot is updating statistics on Dutch municipalities -- Eugene van der Pijll 19:16, 8 Apr 2005 (UTC)
- User:Diderobot, fixing spelling, syntax, and doing other random tasks. Sam Hocevar 07:33, 21 Apr 2005 (UTC)
- User:Roboto_de_Ajvol, apiece inserting ru interwiki. ajvol 15:42, 18 May 2005 (UTC)
- User:Gdr running User:Gdr/DYKbot Gdr 21:54, 2005 May 29 (UTC)
- User:RussBlau running User:RussBot, fixing links to disambiguation pages. Russ Blau (talk) 10:05, Jun 6, 2005 (UTC)
- User:SEWilco running User:SEWilcoBot, initially used for Wikipedia:WikiProject Flag Template, but see its User page for current tasks. (SEWilco 08:31, 19 July 2005 (UTC))
- Alterego is just fiddling with pywikipedia bot. --Alterego 03:10, Jun 26, 2005 (UTC)
- MacGyverMagic has registered Mgmbot to run bot-aided "Did you know" updates in the absence of Gdr and his Gdrbot. Keep a close eye the bot's edits. May occasionally try other modules to get aquainted with bots. - Mgm|(talk) 15:21, Jun 26, 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 stuf (if approved). --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)
- IByte runs a bot for manual edits to single pages, such as adding stub tags. See my bot page fur further information. --IByte 20:56, 16 July 2005 (UTC)
- YurikBot does interwikis - Andre Engels 11:48, 18 July 2005 (UTC)
- Shawn K. Quinn is using the editarticle script from pywikipedia. --Shawn K. Quinn 13:02, 19 July 2005 (UTC)
- User:Bmicomp is testing pywikipediabot. -- BMIComp (talk) 18:00, 20 July 2005 (UTC)
- User:SecuniBot updates security statistics on Comparison of operating systems. --K. Sperling 00:21, July 25, 2005 (UTC)
- User:MoriBot occasionally used for interwiki links Moribunt 17:43, 29 July 2005 (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
- WWW::Mediawiki::Client -- perl module / command line client