Privacy Policy Cookie Policy Terms and Conditions Wikipedia:Bots - Wikipedia, the free encyclopedia

Wikipedia:Bots

From Wikipedia, the free encyclopedia

This page is an official policy on the English Wikipedia. It has wide acceptance among editors and is considered a standard that all users should follow. When editing this page, please ensure that your revision reflects consensus. When in doubt, discuss first on the talk page.
Shortcut:
WP:B
WP:BOT
Bot pages: Bot policy | Currently running bots | Requests for bot approval
Requests for work to be done by a bot | Bot owners' noticeboard
Wikipedia policy
Behavioral standards
Assume good faith
Bots
Civility
Editing policy
No legal threats
No personal attacks
Ownership of articles
Sock puppetry
Three-revert rule
Username
Vandalism

Robots or bots are automatic processes that interact with Wikipedia as though they were a human editor. Please read the guidelines below before designing and implementing any bot on Wikipedia.

Contents

[edit] Policy

Prior to use, bots must be approved at Wikipedia:Bots/Requests for approval. State there precisely what the bot will do, observe and participate in the discussion, and await authorization 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 by someone in the approvals group and you may ask that the user be marked as a bot by a bureaucrat.

Please do not start running your bot without:

  1. Creating a talk page for the bot, describing its functions
  2. Listing it on Requests for approvals
  3. Getting the go-ahead from someone in the approvals group

When seeking approval on Requests for approvals, please state the following:

  1. Whether the bot is manually assisted (run by a human) or automatically scheduled to run
  2. The period, if any, we should expect it to run
  3. What language or program it is running
  4. Its purpose

Create a user page for your bot before seeking approval on BRFA:

  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 its user page to Category:Wikipedia bots by adding {{Bot|Original Username}} to the top of the bots user page

Usernames for new bots should incorporate the word "bot" so that editors realize they are dealing with an automaton, despite historical counterexamples such as Pearle. The username for the bot should also incorporate the username of the bot operator or a recognizable fragment of it.

  1. Sysops should block bots, without hesitation, if they are unapproved, doing something the operator did not say they would do, messing up articles, editing too rapidly, or running anonymously. A bot operator is encouraged, but not required, to post their IP address on their bot's user page so that the owner of an anonymously running bot can be found.
  2. New bots should run without a bot flag so people can check what it's doing.
  3. Until new bots are accepted they should wait 30-60 seconds between edits. After being accepted and a bureaucrat 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, high-volume 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, otherwise the bot is liable to be blocked without notice.
  5. Bots that download substantial portions of the page database are prohibited. Instead, download the database dumps. See also Wikipedia:Mirrors and forks.
  6. Do not log in as your bot when replying to inquiries. Questions or concerns can be addressed at bot's talk page or the operator's talk page, but since bots can't reply, the one responsible for replying is its operator.

The burden of proof is on the bot-maker to demonstrate that the bot:

  1. is harmless
  2. is useful
  3. is not a server hog
  4. has been approved
  5. abides by all guidelines, policies and common practices

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.

To help prove that a bot is harmless and useful, a trial period may be asked to demonstrate the bot. Any complaints made about the bot during the trial period require that the bot be stopped immediately, and the issue should be resolved at Wikipedia talk:Bots. If the trial period passes with no problems, a bot flag may be requested at Requested bot flags.

If you plan to make any modifications to your bot that expand the scope of its original purpose, please leave a note on the talk page regarding the nature of the change to assert that no one has any problems with your bot, and with such additions the bot will still be harmless and 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.

[edit] 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 that would not make mistakes, as there will always be places where non-standard spellings are in fact intended. Manually-assisted spell bots are acceptable, so long as they include international spellchecking and not only country-specific spellchecking. Statistic-generating spell-checking bots, which generate statistics on common misspellings, are also acceptable.

Wikipedia:Maintenance reports that list possible misspellings are welcome. See Wikipedia:Typo for existing efforts and a list of existing interactive spell-checking tools.

[edit] 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 interwiki linkings 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.

[edit] Problems with a specific bot

If you spot a problem or have a complaint about a specific bot, take your query to the bot operator's talk page. If you think the problem is serious and would like greater input, leave a short note at Wikipedia talk:Bots pointing to the discussion at the operator's talk page. An admin can block on sight any bot that appears to be out of control.

[edit] 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.
  • Program their bot to stop editing if they detect that they have logged out. This can be checked by looking for bot's name in the HTML for the edit form. If the bot is not logged in, then the bot's name won't be listed in the HTML. Bots running anonymously may be blocked.

[edit] Assisted bots

Assisted bots are defined as any software that allows rapid editing of articles, while not saving any changes without some human interaction. Typical assisted jobs include those which are repetitive, but cannot be done fully automatically e.g. Disambig repair, stub sorting and typo fixing.

  • Assisted bots don't necessarily need bot approval, though some software has built in approval detection, whereby approval from an admin is required (developers are encouraged to build in approval mechanisms).
  • A separate account is advised if many edits are going to be made.
  • Always make extra sure there is consensus before making a large series of edits.
  • Make it clear that software is being used to perform the edit.

[edit] See also

[edit] Software useful to bot developers

[edit] Direct data access

  • Built-in MediaWiki API - this is the next generation API that will be expanded to include data posting, as well as various data requests. Currently a number of features have already been implemented, such as revision+content, log events, watchlist, and many other. Data is available in many different formats (JSON,XML,YAML,...). See it live. Features are being ported from the older Query API interface.
    Status: Partially complete engine feature, available on all WikiMedia servers.
  • Query API — a multi-format API to query data directly from the Wiki-servers (Live)
    Status: Production. This is an extension enabled on all WikiMedia servers.
  • Special:Export feature (bulk export of xml formatted data); see MW:Parameters_to_Special:Export for arguments;
    Status: Production. Built-in engine feature, available on all WikiMedia servers.
  • Raw page: passing action=raw or action=raw&templates=include to index.php allows for a direct access to the source of pages
  • Screen scraping - not recommended, as interface may change at any moment, and it's a huge server load. You can pass action=render to index.php to reduces the amount of data to transfer and the dependence to the user interface. Currently this is the only way to get an HTML-formatted wiki page.

[edit] Libraries

[edit] Wiki integration bots

Below is a list of bots on other systems/solutions that extend system-specific funcionality with Wiki integrations.

  • Wikibot auto links 'wikitagged' words in Joomla contents with Wikipedia.
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu