Jump to content

Wikipedia:Bot policy: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Cremepuff222 (talk | contribs)
m Reverted edits by 213.112.109.17 (talk) to last version by Plasynins
Rewriting most of this to be more precise and structured. In particular, I've tried to better integrate the concepts of "bot" and "assisted editing", and clarify the role of the bot approval group.
Line 1: Line 1:
{{Two other uses|Wikipedia's bot policy|Wikipedia's bureaucrats|Wikipedia:Bureaucrats|Wikipedia's blocking policy|Wikipedia:Blocking policy}}
{{policy|WP:B|WP:BOT|WP:BOTS}}
{{policy|WP:B|WP:BOT|WP:BOTS}}

{{botnav}}
{{botnav}}
{{otheruses4||bureaucrats|Wikipedia:Bureaucrats|the blocking policy|Wikipedia:Blocking policy}}
{{Behavioral policy list}}


The term '''bot''' (an abbreviation of [[robot]]) refers to a process that modifies Wikipedia's content with some degree of automation, whether it is entirely automated, or assists a human contributor in some way. This policy applies to any such process. Use of tools to assist with repetitive tasks, such as reverting [[Wikipedia:Vandalism|vandalism]], is termed '''assisted editing''', and is not usually considered to be operation of a bot, though there are certain expectations; see [[#Assisted editing|Assisted editing]] below. Where this definition is unclear, the classification of a particular case may be decided, if necessary, by the [[Wikipedia:Bots/Approvals group|bot approval group]]; see [[#Approval|Approval]] below. [[m:Developers|Developer]] activity is not subject to this policy.
{{Policylist Behavioral}}
'''Robots''' or '''bots''' are [[Process (computing)|processes]] that interact with Wikipedia using the editing interface(s). Bots may be completely automated processes, or human assisted processes. All actions performed by a bot are the responsibility of its operator. Some low-speed user assistance programs (e.g. [[WP:AWB|Auto Wiki Browser]] in normal operation mode) are not considered "bots". This policy does not cover server-side scripts run by developers.


== Bot accounts ==
Please read the guidelines below before designing and implementing any bot on Wikipedia.
Contributors should create a separate account in order to operate a bot. The account's name should both identify the operator, and make the nature of the account clear by incorporating the word "bot". Tools not considered to be bots may be used from the contributor's account.


The contributions of a bot account remain the responsibility of its operator. In particular, the bot operator is responsible for the repair of any damage caused by a bot which operates incorrectly. All [[Wikipedia:List of policies|policies]] apply to a bot account in the same way as to any other user account. Bot accounts are considered alternative accounts of their operator for the purposes of the [[Wikipedia:User account policy|user account policy]].
==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 [[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 by someone in the approvals group and, if the approvals group determines that a "bot flag" is required, the user will be marked as a bot by a [[Wikipedia:Bureaucrats|bureaucrat]].


Bot accounts should not be used for contributions that do not fall within the scope of the bot's designated tasks. In particular, bot operators should not use a bot account to respond to messages related to that bot account. Bot operators may wish to redirect a bot account's discussion page to their own.
'''Please ''do not'' start running your bot without''':


== Approval ==
# Creating a talk page for the bot, describing its functions
Bots must be approved before they may operate. Contributors may carry out limited testing of bot processes without approval, provided that test edits are very low in number and frequency, and are restricted to test pages such as the [[Wikipedia:Sandbox|sandbox]]. Such test edits may be made from any user account.
# Listing it on [[Wikipedia:Bots/Requests for approvals|Requests for approvals]]
# Getting the go-ahead from someone in the [[Wikipedia:Bots/Approvals group|approvals group]]


Bot approval requests should be made at [[Wikipedia:Bots/Requests for approval]]. Requests should state precisely what the bot will do, as well as any other information that may be relevant to its operation. Requests must be approved by a member of the [[Wikipedia:Bots/Approvals group|bot approval group]]; membership of this group is open to any established contributor with relevant experience, subject to consensus, and the group should act as a safeguard against harmful use of automated processes. The decision to approve a request should take into account the [[#Requirements|requirements]] below, relevant policies and guidelines, and discussion of the request.
When seeking approval on [[Wikipedia:Bots/Requests for approvals|Requests for approvals]], please state the following:
# Whether the bot is manually assisted (run by a human) or automatically scheduled to run
# The period, if any, we should expect it to run
# What language or program it is running
# Its purpose


Approval may be conditional on the bot account remaining in a "trial period" in order that its operation be reviewed. The terms and extent of such a trial period may be determined by the approval group. Automated processes should be supervised during trial periods so that any problems may be addressed quickly. The need for an account to be added to the "bot" [[Wikipedia:User access levels|user group]] may also be determined by the approval group; should this be required, it may be carried out by any [[Wikipedia:Bureaucrats|bureaucrat]].
Create a user page for your bot before seeking approval on [[Wikipedia:Bots/Requests for approvals|BRFA]]:
# Describe the bot's purpose, language it uses, what program(s) it uses ([[m:Using the python wikipediabot|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 its user page to [[:Category:Wikipedia bots]] by adding <nowiki>{{Bot|Original Username}}</nowiki> to the top of the bot's user page


Should a bot operator wish to modify or extend the operation of a bot, they should ensure that they do so in compliance with this policy. Small changes, for example to fix problems or improve the operation of a particular task, are unlikely to be an issue, but larger changes should not be implemented without some discussion. Completely new tasks usually require a separate approval request. Bot operators may wish to create a separate bot account for each task.
Usernames for new bots should incorporate the word "bot" so that editors realize they are dealing with an automaton, despite historical counterexamples such as [[User:Pearle|Pearle]]. The username for the bot should also incorporate the username of the bot operator or a recognizable fragment of it.
# [[Wikipedia:Blocking policy|Administrators should block bots]] if they are unapproved, doing something the operator did not say they would do, messing up articles, editing too rapidly, or running anonymously. If they have a fixed IP address, bot operators may wish to post their IP address on their bot's user page so that the owner of an anonymously running bot can be found.
# While [[Wikipedia:Don't worry about performance|performance is generally not an issue]], bots should avoid making an excessive number of requests, and be conservative in their editing speed, to minimize any effects they may have on performance.
#* Bots in trial periods should be especially careful to limit their edit rate to no more than two to three per minute so that their edits may be reviewed.
#* Unflagged bots should edit more slowly than flagged bots, as their edits are visible in recent changes.
#* The urgency of a task should always be considered; tasks that do not need to be completed quickly (for example, renaming categories) can and should be accomplished at a slower rate than those that do (for example, reverting vandalism). Bots doing non-urgent tasks should edit approximately once every ten seconds, while bots doing more urgent tasks may, if approved to do so, edit approximately once every four seconds. It is recommended that bots run with larger delays during peak hours (0800 – 2000 UTC), and days (middle of the week, especially Wednesdays and Thursdays) or operate during the quietest times (weekends). Ideally, bots should be run at a rate that permits human editors to review the bot's edits if the need arises.
#* Bots' editing speed can be regulated by forcing them to wait for a fixed time interval before making an edit. However, it is better to vary the editing speed based on slave database server lag, where possible, as this allows bots to edit more quickly during quiet periods while slowing them down considerably when server load is high, thereby creating a sort of self-correcting mechanism. This can be achieved quite easily by appending the [[mw:Manual:Maxlag parameter|"maxlag" parameter]] to the query string of each URL the bot requests. This accepts an integer value; if the database lag, in seconds, is higher than the specified value, an [[HTTP 503]] status code is returned with a "Retry-After" header set; on receiving this, bots should wait for 5 seconds before retrying. If it is not, the request is served as usual. [[mw:|MediaWiki]] developers recommend a "maxlag" parameter value of 5 (seconds). Higher values mean more aggressive behaviour, lower values are nicer. An example query string would be http://en.wikipedia.org/w/index.php?title=Main_Page&maxlag=5 – try this a few times and note that when the database is experiencing lag issues, a machine-readable status page is returned instead of the request. This feature was implemented specifically for use by client–side bots and maintenance scripts.
# 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.
# Bots that download substantial portions of the page database are prohibited. Instead, download the [http://download.wikimedia.org/ database dumps]. See also [[Wikipedia:Mirrors and forks]].
# Do not log in as your bot when replying to enquiries. 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''.


== Requirements ==
The [[burden of proof]] is on the bot-maker to demonstrate that the bot:
In order for a bot to be approved, its operator should demonstrate that it:
# is '''harmless'''
# is '''useful'''
# is not a '''[[server hog]]'''
# has been '''approved'''
# has appropriate community consensus for each task
# abides by all [[Wikipedia:Policies and guidelines|guidelines, policies]] and common practices


* is harmless
Note that according to [[Wikipedia:Categorization of people#When assigning categories to articles on people|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.
* is useful
* does not consume unnecessary resources
* performs only tasks for which there is [[Wikipedia:Consensus|consensus]]
* adheres to relevant [[Wikipedia:Policies and guidelines|policies and guidelines]]


The bot account's [[Wikipedia:User page|user page]] should exist and identify the bot as such using the {{tl|bot}} tag. The following information should be provided both on the bot account's userpage (or in another suitable and accessible location) and on the approval request:
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]].


* Details of the bot's task, or tasks, and
If you '''plan to make any modifications''' to your bot that expand the scope of its original purpose, please leave a note on the [[Wikipedia talk:Bots|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]]'''.
* Whether the bot is manually assisted, or runs automatically
* When it will run (continuously, intermittently, or at specified intervals) and at what rate it will run
* The language and/or program that it is running


While performance is [[Wikipedia:Don't worry about performance|not generally an issue]], bot operators should recognize that a bot making many requests or editing at a high speed have a much greater effect than the average contributor. Operators should be careful not to make unnecessary Web requests, and be conservative in their editing speed, to minimize any effects they may have on performance. [[m:Developers|Developers]] inform the community if performance issues of any significance do arise, and in such situations, their advice should be followed.
Under exceptional circumstances, one or more aspects of this policy may be set aside by a consensus of [[Wikipedia:Administrators|administrators]].


* Bots in trial periods should be limit their edit rate to no more than two to three per minute so that their edits may be reviewed.
===Spell-checking bots===
* Unflagged bots should edit more slowly than flagged bots, as their edits are visible in user watchlists.
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-checking bots are acceptable, so long as they include international spell checking and not only country-specific spell checking. Statistic-generating spell-checking bots, which generate statistics on common misspellings, are also acceptable.
* The urgency of a task should always be considered; tasks that do not need to be completed quickly (for example, renaming categories) can and should be accomplished at a slower rate than those that do (for example, reverting vandalism).
* Bots' editing speed should be regulated in some way; subject to approval, bots doing non-urgent tasks may edit approximately once every ten seconds, while bots doing more urgent tasks may edit approximately once every four seconds.
* Bots' editing speed may also be adjusted based on slave database server lag, where possible; this allows bots to edit more quickly during quiet periods while slowing them down considerably when server load is high. This can be achieved by appending an extra parameter to the query string of each requested URL; see [[mw:Manual:Maxlag parameter]] for more details.
* It is recommended that bots operate more slowly during peak hours (0800 – 2000 UTC), and days (middle of the week, especially Wednesdays and Thursdays) than during the quietest times (weekends). Bots performing all but the most trivial or urgent tasks should be run at a rate that permits human editors to review the bot's edits if the need arises.


Bots that download substantial portions of Wikipedia's content by requesting many individual pages are not permitted. When such content is required, download [http://download.wikimedia.org/ database dumps] instead.
[[Wikipedia:Maintenance]] reports that list possible misspellings are welcome. See [[Wikipedia:Typo]] for existing efforts and a list of existing interactive spell-checking tools.


== Dealing with issues ==
===Interwiki bots===
If using the [[m:Using the python wikipediabot|pywikipedia framework]]:
* Please run the latest version
* Update on a daily basis


If you have noticed a problem with a bot, or have a complaint or suggetion to make, you should contact the bot operator. If the bot is causing a significant problem, and you feel that more urgent discussion is necessary, you may also wish to leave a message at [[Wikipedia:Administrators' noticeboard]], indicating where you have notified the bot operator.
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.


[[Wikipedia:Administrators|Administrators]] may [[Wikipedia:Blocking policy|block]] bot accounts if they operate without approval, operate in a manner not specified in their approval request, or operate counter to the terms of their approval (for example, by editing at a rate greater their assigned maximum rate). A block may also be issued if a bot process operates without being logged in to an account, or is logged in to an account other than its own.
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.
* [[Wikipedia:Interlanguage links]]
* [[User_talk:Yurik/Interwiki_Bot_FAQ|Interwiki bot FAQ]]
* [[m:Interwiki bot]]
* [[m:Interwiki sorting order]] (See & vote: [[bugzilla:2867]])


==Problems with a specific bot==
== Restictions on specific tasks ==
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:Administrators' noticeboard]] pointing to the discussion at the operator's talk page. An administrator can block on sight any bot that appears to be out of control.


; Categorization of people
==Good form==
Bot operators are encouraged (but not required) to:
* Publish the source code of their bot (unless it's a clone)
* Program his or her 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 his or her bot to stop editing if they detect that they have logged out. This can be accomplished by checking the value of <tt>wgUserName</tt> in any retrieved wiki pages. Bots running anonymously may be blocked.
* Be compliant with the [[Template:Bots|bots opt-in/opt-out]] facility.


As explained at [[Wikipedia:Categorization of people#When assigning categories to articles on people|Wikipedia:Categorization of people]], certain types of person categories should not be filled or emptied using a bot. Addition of sensitive categories to articles requires per-article manual review, and should not be carried out simply be generating a list from existing Wikipedia content.
==Repairing damage==


; Spell-checking
If, despite all efforts and review, a bot is found to have caused unintentional damage, it is the responsibility of the bot operator to repair it. Note that this could require either lots of manual work, or the creation (and perhaps approval) of a new bot. If you are not prepared to clean up after your bot if it misbehaves, you should not run it. There is, of course, no reason that help cannot be asked for or offered.


Bot processes may not fix spelling mistakes in an unattended fashion, as accounting for all possible false positives is infeasible. Assisted spell-checking is acceptable, and may or may not be considered a bot process depending on the editing rate. Such processes must not convert words from one regional variation of English to another.
==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.
; Interwiki links
* Assisted bots don't necessarily need bot [[Wikipedia:Bots/Requests for approval|approval]], though some software has built in approval detection, whereby approval from some subset of "trusted" users is required (developers are permitted to build in approval mechanisms). If you have any doubts, it is safer to go through the approval process.

* A separate account is advised if many edits are going to be made.
Operators of [[Help:Interwiki|interwiki]] linking bots, unless involved only with the development of said bots, must be reasonably familiar with the languages that they are linking from and to, in order to confirm that interwiki linkings between the two projects are done correctly.
* Always make extra sure there is consensus before making a large series of edits.

* Assert that software is being used to perform the edit, if this is not already clear. This can be accomplished by a message on the account's userpage, if a separate account is being used, or in the edit summary. It may also be desirable to identify the specific software being used.
Bot operators using the [[m:Using the python wikipediabot|pywikipedia framework]] should ensure that they use the latest version of the framework and update this daily.

See also: [[Wikipedia:Interlanguage links]], [[User talk:Yurik/Interwiki Bot FAQ|Interwiki bot FAQ]], [[m:Interwiki bot]], [[m:Interwiki sorting order]]

== Guidelines ==

Bot operators may wish to implement the following features, depending on the nature of the bot's tasks:

* Providing some mechanism which allows contributors other than the bot's operator to control the bot's operation is useful in some circumstances – the bot can be enabled or disabled without resorting to blocks, and could also be configured in other ways. For example, the bot could check the contents of a particular page and act upon the value it finds there. If desired, such a page could then be [[Wikipedia:Protected|protected or semi-protected]] to prevent abuse. Bot operators doing this should bear in mind that they retain all responsibility for their bot account's edits.
* To avoid unnecessary blocks, the bot may detect whether its account is logged in, and cease editing if not. One way to do this is to check the value of <tt>wgUserName</tt> in any retrieved wiki pages.
* Bots which edit many pages, but may need to be prevented from editing particular pages, can do so by interpreting [[Template:Bots]]; see the template page for an explanation of how this works.

Authors of bot processes are encouraged, but not required, to publish the source code of their bot.

== Assisted editing ==

"Assisted editing" covers the use of tools which assist with repetitive tasks, but do not alter Wikipedia's content without some human interaction. Examples of this include correcting [[typographical error]]s, fixing links to [[Wikipedia:Disambiguation|disambiguation]] pages, reverting [[Wikipedia:Vandalism|vandalism]] and [[Wikipedia:Stub sorting|stub sorting]].

While such contributions are not usually considered to constitute use of a bot, if there is any doubt, you should make an approval request; see [[#Approval|Approval]] above. In such cases, the bot approval group will determine whether the full approval process and a separate bot account are necessary.

Contributors intending to make a large number of assisted edits should first ensure that there is a clear consensus that such edits are desired, and may wish to create a separate user account in order to do so; such accounts should adhere to the [[Wikipedia:User account policy#Multiple accounts|policy on multiple accounts]]. Contributors using assisted editing tools should indicate this if it is not already clear, in the edit summary and/or on the [[Wikipedia:User page|user page]] or [[Wikipedia:Talk page|user discussion page]] of the account making the contributions.

Authors of assisted editing tools are permitted to create their own approval mechanism for that tool; if bot approval is required for use of the tool, this is in addition to, not instead of, the normal approval request process. [[Wikipedia:AutoWikiBrowser|AutoWikiBrowser]] is an example of a tool with such a mechanism. Release of the source code for assisted editing tools is, as with bots, encouraged but not required.


==See also==
==See also==
*[[Wikipedia:Creating a bot|How to create a bot]]
*[[Wikipedia:Creating a bot]]
* About bots
* [[Wikipedia:Types of bots]]
** [[Wikipedia:Types of bots|Types]]
* [[Wikipedia:History of Wikipedia bots]]
** [[Wikipedia:History of Wikipedia bots|History]]
* [[Wikipedia:Bots/Approvals group]]
* Bot policy and requests
* [[Wikipedia:Bot requests]]
** [[Wikipedia:Bots/Approvals group|Bot approvals group]]
** [[Wikipedia:Bot requests|Bot requests]]
* [[Wikipedia:User access levels]]
* [[Wikipedia:User access levels]]
* [[:meta:Toolserver|Toolserver]]


== External links ==
===Wiki integration bots===
Below is a list of bots on other systems or solutions that extend system-specific functionality with Wiki integrations.
* [http://www.theinevitabledossier.com/wikibot.html Wikibot] auto links 'wikitagged' words in [[Joomla]] contents with Wikipedia.


* [http://www.theinevitabledossier.com/wikibot.html Wikibot] auto links 'wikitagged' words in [[Joomla]] contents with Wikipedia.
{{Wikipedia policies and guidelines}}


[[Category:Wikipedia bots| ]]
[[Category:Wikipedia bots| ]]

Revision as of 00:31, 2 January 2008

The term bot (an abbreviation of robot) refers to a process that modifies Wikipedia's content with some degree of automation, whether it is entirely automated, or assists a human contributor in some way. This policy applies to any such process. Use of tools to assist with repetitive tasks, such as reverting vandalism, is termed assisted editing, and is not usually considered to be operation of a bot, though there are certain expectations; see Assisted editing below. Where this definition is unclear, the classification of a particular case may be decided, if necessary, by the bot approval group; see Approval below. Developer activity is not subject to this policy.

Bot accounts

Contributors should create a separate account in order to operate a bot. The account's name should both identify the operator, and make the nature of the account clear by incorporating the word "bot". Tools not considered to be bots may be used from the contributor's account.

The contributions of a bot account remain the responsibility of its operator. In particular, the bot operator is responsible for the repair of any damage caused by a bot which operates incorrectly. All policies apply to a bot account in the same way as to any other user account. Bot accounts are considered alternative accounts of their operator for the purposes of the user account policy.

Bot accounts should not be used for contributions that do not fall within the scope of the bot's designated tasks. In particular, bot operators should not use a bot account to respond to messages related to that bot account. Bot operators may wish to redirect a bot account's discussion page to their own.

Approval

Bots must be approved before they may operate. Contributors may carry out limited testing of bot processes without approval, provided that test edits are very low in number and frequency, and are restricted to test pages such as the sandbox. Such test edits may be made from any user account.

Bot approval requests should be made at Wikipedia:Bots/Requests for approval. Requests should state precisely what the bot will do, as well as any other information that may be relevant to its operation. Requests must be approved by a member of the bot approval group; membership of this group is open to any established contributor with relevant experience, subject to consensus, and the group should act as a safeguard against harmful use of automated processes. The decision to approve a request should take into account the requirements below, relevant policies and guidelines, and discussion of the request.

Approval may be conditional on the bot account remaining in a "trial period" in order that its operation be reviewed. The terms and extent of such a trial period may be determined by the approval group. Automated processes should be supervised during trial periods so that any problems may be addressed quickly. The need for an account to be added to the "bot" user group may also be determined by the approval group; should this be required, it may be carried out by any bureaucrat.

Should a bot operator wish to modify or extend the operation of a bot, they should ensure that they do so in compliance with this policy. Small changes, for example to fix problems or improve the operation of a particular task, are unlikely to be an issue, but larger changes should not be implemented without some discussion. Completely new tasks usually require a separate approval request. Bot operators may wish to create a separate bot account for each task.

Requirements

In order for a bot to be approved, its operator should demonstrate that it:

The bot account's user page should exist and identify the bot as such using the {{bot}} tag. The following information should be provided both on the bot account's userpage (or in another suitable and accessible location) and on the approval request:

  • Details of the bot's task, or tasks, and
  • Whether the bot is manually assisted, or runs automatically
  • When it will run (continuously, intermittently, or at specified intervals) and at what rate it will run
  • The language and/or program that it is running

While performance is not generally an issue, bot operators should recognize that a bot making many requests or editing at a high speed have a much greater effect than the average contributor. Operators should be careful not to make unnecessary Web requests, and be conservative in their editing speed, to minimize any effects they may have on performance. Developers inform the community if performance issues of any significance do arise, and in such situations, their advice should be followed.

  • Bots in trial periods should be limit their edit rate to no more than two to three per minute so that their edits may be reviewed.
  • Unflagged bots should edit more slowly than flagged bots, as their edits are visible in user watchlists.
  • The urgency of a task should always be considered; tasks that do not need to be completed quickly (for example, renaming categories) can and should be accomplished at a slower rate than those that do (for example, reverting vandalism).
  • Bots' editing speed should be regulated in some way; subject to approval, bots doing non-urgent tasks may edit approximately once every ten seconds, while bots doing more urgent tasks may edit approximately once every four seconds.
  • Bots' editing speed may also be adjusted based on slave database server lag, where possible; this allows bots to edit more quickly during quiet periods while slowing them down considerably when server load is high. This can be achieved by appending an extra parameter to the query string of each requested URL; see mw:Manual:Maxlag parameter for more details.
  • It is recommended that bots operate more slowly during peak hours (0800 – 2000 UTC), and days (middle of the week, especially Wednesdays and Thursdays) than during the quietest times (weekends). Bots performing all but the most trivial or urgent tasks should be run at a rate that permits human editors to review the bot's edits if the need arises.

Bots that download substantial portions of Wikipedia's content by requesting many individual pages are not permitted. When such content is required, download database dumps instead.

Dealing with issues

If you have noticed a problem with a bot, or have a complaint or suggetion to make, you should contact the bot operator. If the bot is causing a significant problem, and you feel that more urgent discussion is necessary, you may also wish to leave a message at Wikipedia:Administrators' noticeboard, indicating where you have notified the bot operator.

Administrators may block bot accounts if they operate without approval, operate in a manner not specified in their approval request, or operate counter to the terms of their approval (for example, by editing at a rate greater their assigned maximum rate). A block may also be issued if a bot process operates without being logged in to an account, or is logged in to an account other than its own.

Restictions on specific tasks

Categorization of people

As explained at Wikipedia:Categorization of people, certain types of person categories should not be filled or emptied using a bot. Addition of sensitive categories to articles requires per-article manual review, and should not be carried out simply be generating a list from existing Wikipedia content.

Spell-checking

Bot processes may not fix spelling mistakes in an unattended fashion, as accounting for all possible false positives is infeasible. Assisted spell-checking is acceptable, and may or may not be considered a bot process depending on the editing rate. Such processes must not convert words from one regional variation of English to another.

Interwiki links

Operators of interwiki linking bots, unless involved only with the development of said bots, must be reasonably familiar with the languages that they are linking from and to, in order to confirm that interwiki linkings between the two projects are done correctly.

Bot operators using the pywikipedia framework should ensure that they use the latest version of the framework and update this daily.

See also: Wikipedia:Interlanguage links, Interwiki bot FAQ, m:Interwiki bot, m:Interwiki sorting order

Guidelines

Bot operators may wish to implement the following features, depending on the nature of the bot's tasks:

  • Providing some mechanism which allows contributors other than the bot's operator to control the bot's operation is useful in some circumstances – the bot can be enabled or disabled without resorting to blocks, and could also be configured in other ways. For example, the bot could check the contents of a particular page and act upon the value it finds there. If desired, such a page could then be protected or semi-protected to prevent abuse. Bot operators doing this should bear in mind that they retain all responsibility for their bot account's edits.
  • To avoid unnecessary blocks, the bot may detect whether its account is logged in, and cease editing if not. One way to do this is to check the value of wgUserName in any retrieved wiki pages.
  • Bots which edit many pages, but may need to be prevented from editing particular pages, can do so by interpreting Template:Bots; see the template page for an explanation of how this works.

Authors of bot processes are encouraged, but not required, to publish the source code of their bot.

Assisted editing

"Assisted editing" covers the use of tools which assist with repetitive tasks, but do not alter Wikipedia's content without some human interaction. Examples of this include correcting typographical errors, fixing links to disambiguation pages, reverting vandalism and stub sorting.

While such contributions are not usually considered to constitute use of a bot, if there is any doubt, you should make an approval request; see Approval above. In such cases, the bot approval group will determine whether the full approval process and a separate bot account are necessary.

Contributors intending to make a large number of assisted edits should first ensure that there is a clear consensus that such edits are desired, and may wish to create a separate user account in order to do so; such accounts should adhere to the policy on multiple accounts. Contributors using assisted editing tools should indicate this if it is not already clear, in the edit summary and/or on the user page or user discussion page of the account making the contributions.

Authors of assisted editing tools are permitted to create their own approval mechanism for that tool; if bot approval is required for use of the tool, this is in addition to, not instead of, the normal approval request process. AutoWikiBrowser is an example of a tool with such a mechanism. Release of the source code for assisted editing tools is, as with bots, encouraged but not required.

See also

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