Wookieepedia:Bots

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 Bot requests instead.

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 requests for permissions.

When getting approval on Wikipedia talk:Bots, please state the following:
 * 1) Whether the bot is manually assisted (run by a human) or automatic scheduled to run
 * 2) The period, if any, we should expect it to run
 * 3) What language or program it is running
 * 4) The purpose of your bot
 * 5) * Why do you need it?
 * 6) * Is it important enough for the Wikipedia to allow your bot?

Make certain to create a user page for your bot before getting approval on Wikipedia talk:Bots:
 * 1) Describe the bot's purpose, language it uses, what program(s) it uses (pywikipedia framework, etc)
 * 2) Describe whether it is manually assisted or automatically scheduled to run
 * 3) The period, if any, we should expect it to run
 * 4) Describe who the maintainer is
 * 5) 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.


 * 1) 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.
 * 2) New bots should run without a bot flag so people can check what it's doing.
 * 3) 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.
 * 4) 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.
 * 5) 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.
 * 6) Dynamic loading of Wikipedia pages may also be unacceptable. Please see Mirrors and forks.
 * 7) 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:
 * 1) The bot is harmless
 * 2) The bot is useful
 * 3) The bot is not a server hog
 * 4) 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 requests for permissions.

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.

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).

Maintenance reports which list possible misspellings are welcome. See 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:
 * Interlanguage links
 * Interwiki bot
 * Interwiki sorting order
 * Python wikipedia robot framework
 * 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&mdash;see Ram-Man's description of the data acquisition process&mdash;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.

These pros and cons apply to bot additions in the aggregate&mdash;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.


 * CanisRufus is a bot, run by RedWolf, mainly used for disambiguation and helping with CFD tasks by running the solve_disambiguation.py and category.py scripts under pywikipediabot.
 * CyeZBot is mostly running interwikis with multilogin (main login on nl:). Occasionally might run other tasks on request. CyeZ.
 * DcoetzeeBot: Occasionally used for disambiguation, redirect skipping, and category moving. Deco 17:44, 6 September 2005 (UTC)
 * D6 is using pywikipediabot for disambiguation, categories, etc. This bot is operated by Docu.
 * User:Gdrbot, fixing redirects, disambiguating, moving pages between categories, running User:Gdr/Yearbot and User:Gdr/Nomialbot. Gdr 16:21, 2005 May 18 (UTC)
 * Guanabot is Guanaco running the pywikipediabot, sometimes with modifications.
 * Grammarbot by r3m0t 11:43, Mar 4, 2005 (UTC)
 * User:JdforresterBot, moving pages and fixing the resultant redirects. James F. (talk) 22:48, 12 Apr 2005 (UTC)
 * 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.
 * LinkBot is a bot written by Nickj for suggesting possible wiki links. Please see user page for more details.
 * LupinBot - image uploader. Lupin 04:23, 7 May 2005 (UTC)
 * Margosbot - inserting pl interwiki. Margospl 15:23, 5 May 2005 (UTC)
 * MBot got bot status several months ago. Running automatically nightly.   &mdash;  &#12510;&#12452;&#12465;&#12523;   &#8362;  13:22, Apr 18, 2005 (UTC)
 * User:NekoDaemon - CFD Bot. -- AllyUnion (talk) 05:45, 18 Apr 2005 (UTC)
 * Nobot is a bot run under supervision by Egil, for maintaining municipality and county articles under WikiProject Norway.
 * NohatBot is various Perl scripts written by Nohat to do various things that he was too lazy to do by hand.
 * Pearle. See her user page for details, current status, and source code
 * 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.
 * Robbot, a bot written by Rob Hooft and others (in Python) is used by Andr&eacute; 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.
 * 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)
 * Sethbot, a bot for creating appropriate redirects for American place names. Designed by Andr&eacute; 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).
 * Topjabot is run by Gerritholl
 * UgenBot is ugen64's use of the pywikipediabot. It will probably be used sporadically.
 * User:Whobot running Pearle Wisebot code. WP:CFD bot for moving articles, throttle set at 10secs (variable depending on Wiki server response). Run by Who. &infin; Who? &iquest; ?  02:24, 13 October 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|&#9997; 18:01, 7 May 2005 (UTC) The throttle was increased to 30 seconds, so I've unblocked this bot. -Frazzydee|&#9997; 18:19, 7 May 2005 (UTC)

Disambiguation Bots
Bots listed below are used solely for disambiguation.
 * User:ABot is fixing links to disambiguation pages. – ABCD✉ 18:05, 6 August 2005 (UTC)
 * User:RussBot, maintained by User:RussBlau, fixing links to disambiguation pages. Russ Blau (talk) 10:05, Jun 6, 2005 (UTC)
 * User:Commander Keane bot, maintained by User:Commander Keane, fixing links to disambiguation pages. --Commander Keane 10:30, 15 October 2005 (UTC)

Interwiki Bots
Bots listed below are used solely for interwiki linking.


 * User:Chobot, fixing interwiki links from the korean wikipedia. [[User:ChongDae|ChongDae 16:11, 20 Jun 2005 (UTC)
 * Jumbuck is run by &AElig;var Arnfj&ouml;r&eth; Bjarmason, doing interwiki links currently.
 * User:M7bot is running interwiki across en.wiki & it.wiki. It can also do substitutions using a Java module. M7 --M7it 22:30, 7 August 2005 (UTC)
 * ZwoBot - adds and corrects interwiki links using pywikipediabot, operated by Head. (Bot flag not yet set.)
 * FlaBot - Interwiki-Link-Checker
 * RobotE - adds and corrects interwiki links using interwiki.py, operated by Ellywa.

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.''


 * An open proxy checker 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/POPBot/scan. 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* 12:42, 30 September 2005 (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: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 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)
 * 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)
 * 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:Pfft Bot is running solve_disambiguation --Phroziac (talk) 03:04, 14 August 2005 (UTC)
 * User:Andrewbot is running redirect.py. 24.226.62.205 18:37, 16 August 2005 (UTC)
 * User:Curps is running Curpsbot-unicodify to convert some (not all) character entities of the form &#NNNN; and &#xNNNN; and &abcdef; into literal Unicode characters. Note: it is not a problem to have Unicode characters embedded in articles, see Village pump (technical) discussion on this and note that under Mediawiki 1.5 all non-ASCII characters in new edits are created as literal Unicode already. See User:Curpsbot-unicodify for more details. -- Curps 21:54, 22 August 2005 (UTC)
 * Also some URL-encoded endities (%NN style). -- Beland 00:56, 18 September 2005 (UTC)
 * DisambigBot is running a disambiguation solving script. Rob Church Talk 16:44, 27 August 2005 (UTC)
 * AFD Bot taking over VFD Bot's job due to name change. --AllyUnion (talk) 07:36, 1 September 2005 (UTC)
 * NotificationBot - A bot that leaves messages on User's talk pages. Can also leave messages on Wikipedia talk pages as well. --AllyUnion (talk) 11:05, 15 September 2005 (UTC)
 * User:WOPR adjusts WP:DEFCON based on processing the RC output. --Cool Cat Talk 18:02, 10 October 2005 (UTC)
 * User:PhD-Econobot runs a disambiguation solving script on pages related to Native American &mdash;Nat Krause 11:48, 11 October 2005 (UTC)
 * User:Ceejayoz is testing pywikipedia for use in making AfDs faster for personal use. — ceejayoz talk .com [[Image:Australia flag large.png|24px]] 02:11, 25 October 2005 (UTC)

Interwiki bots

 * After a rough start related to its character set configuration the Jumbuck seems to be doing fine updating interwiki links. -- &AElig;var Arnfj&ouml;r&eth; [ 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)
 * 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)
 * GrinBot updating en&rarr;hu interlang links, test running for a week, waiting for complaints :) --grin &#9998; 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:RobotJcb is doing interwikilinks with a multilogon bot. At the moment mostly just a few pages in a time. Jcbos 22:43, 16 October 2005 (UTC)

Inactive bots
These are a list of bots, for whatever reason, are now currently inactive.

Bots without a flag

 * AngBot is a bot designed by Andr&eacute; 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.

Bots with a flag

 * Janna is run by User:Anthony DiPierro.
 * 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)
 * Inactive, replaced by AFD Bot --AllyUnion (talk) 07:15, 6 September 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
 * WikiLink`, a Mathematica package -- actually just a thin wrapper around a java class supporting logging in, getting and setting pages.