Wikipedia:Bots

From Wikipedia, the free encyclopedia.

Jump to: navigation, search
Shortcut:
WP:B
WP:BOT
WP: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 Wikipedia:Bot requests instead.

Contents

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 bot status.

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
    • Why do you need it?
    • 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 Wikipedia: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 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.

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:

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.

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.

  • 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. マイケル 13:22, Apr 18, 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é 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.
  • RussBot, maintained by User:RussBlau, fixing double-redirects and links to disambiguation pages, and running a weekly script to update Wikipedia:Disambiguation pages maintenance. Russ Blau (talk) 02:18, 5 November 2005 (UTC)
  • 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).
  • 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. Who?¿? 02:24, 13 October 2005 (UTC)

Maintainance-related Bots

Bots listed here are used in the assistance of page maintainance.

  • AFD Bot taking over VFD Bot's job due to name change. --AllyUnion (talk) 07:36, 1 September 2005 (UTC)
  • User:NekoDaemon - CFD Bot. -- AllyUnion (talk) 05:45, 18 Apr 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)

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)
  • DisambigBot is running a disambiguation solving script. (run by Rob Church Talk | Desk)
  • 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)

Interwiki Bots

Bots listed below are used solely for interwiki linking.

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.


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)
  • 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→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)

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é 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

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

See also

Personal tools