Jump to content

Wikifunctions:Bots

From Wikifunctions
Wikifunctions Bot

Bots are accounts which hold the bot user group. There are currently 6 bots on Wikifunctions.

Overview

Bots (also known as robots) are automated tools used to make edits without the necessity of human decision-making.

How to request bot status

Main page: Wikifunctions:Requests for user groups

Users may apply for an account to be in the bot group at Wikifunctions:Requests for user groups#Miscellaneous requests. However this user group is unlikely to be given out until a process for granting is developed.

Requirements

Bots must follow the requirements set out on this page.

Granting

Presently, only stewards can grant or remove bot status from an account.

Permission to run a bot

All bots running on Wikifunctions must have advance permission to do so. Permission is needed whether or not the bot requires a bot flag.

Permission will be granted only in respect of the tasks that are listed in the bot request (tasks can be fairly general). Bots must not be used to carry out different tasks for which permission has not been granted. Of course, bot operators are not expected to re-apply every time they want to implement a small alteration, but if the bot's functionality has been changed to carry out some significant new task then a new request should be filed.

MediaWiki software-defined bots

Some bots are used by the MediaWiki software itself and not managed by any user.

Bot accounts

Bots must be run from a separate user account from that used for general editing by the bot operator. In order to identify the account as a bot account, the username should normally include the word "bot".

The contributions of a bot account remain the responsibility of its operator, who must be prominently identifiable on its user page. The bot operator is responsible for the prompt repair of any damage caused by a bot which operates incorrectly. Bot operators must ensure that they make themselves available for dealing with user queries relating to the bot, and that they promptly fix any identified bugs. Bot operators are encouraged to use a secure login method.

Information on bots

The bot's user page should identify the bot as such, preferably using a {{bot}} template once it exists. The following information should be clearly provided on that page, or on a page linked to it. Please make sure you have listed all this information before requesting bot permission.

  • Who the creator/operator is and how they can best be contacted
  • Details of the bot's task or tasks
  • Whether the bot is manually assisted or runs automatically
  • When the bot operates (continuously, intermittently, or at specified intervals)
  • The bot's maximum edit rate (e.g. edits per minute)
  • The language and/or program that it is running
  • Where to find the bot’s source code

Bot source code

Bots must publish their source code under an OSI-approved open source license. The source code must include instructions for how to set up and run the bot. (These instructions should include software dependencies, configuration file format and location, database schemas, required API keys, or other information as applicable.) This allows the Wikifunctions community to understand the bot’s behavior better, investigate potential problems with it, and take over maintainership of the bot’s task or tasks (if not its account) if necessary.

One option for operating a bot is to run it on Wikimedia Toolforge and publish its code on Wikimedia GitLab, though this is not required.

Bot speed

Bot operators should recognize that a bot making many requests or editing at a high speed has a much greater effect than the average contributor. Bots should therefore be conservative in their editing speed. A bot carrying out non-urgent tasks should not edit more frequently than once every 5 seconds. Bots carrying out urgent tasks, such as reverting vandalism, may edit faster. Unflagged bots should edit more slowly than flagged bots as their edits are visible in watchlists, and high-speed editing will swamp other users' lists.

Blocking of bots

Any admin may block a bot – without the autoblock option set – that is misbehaving if the operator is not immediately available to deal with the issue. In principle, an unapproved bot may be blocked, though in practice unless the bot is doing harm the operator should normally be asked to submit a retrospective bot request. If it is noticed that a bot is being used for tasks which are significantly different from those specified in the original bot request, the bot operator should be asked to make a fresh bot request which specifies the new tasks.

Technical ability

The bot user group gives accounts the technical ability to:

  • Be treated as an automated process (bot)
  • Bypass blocked external domains (abusefilter-bypass-blocked-external-domains)
  • Bypass the spam block list (sboverride)
  • Edit pages protected as "Allow only autoconfirmed users" (editsemiprotected)
  • Have one's own edits automatically marked as patrolled (autopatrol)
  • Not be affected by IP-based rate limits (autoconfirmed)
  • Not be affected by rate limits (noratelimit)
  • Not create redirects from source pages when moving pages (suppressredirect)
  • Not have minor edits to discussion pages trigger the new messages prompt (nominornewtalk)
  • Perform CAPTCHA-triggering actions without having to go through the CAPTCHA (skipcaptcha)
  • Use higher limits in API queries (apihighlimits)

See also