Wikinews:Bots/Policy

Bots are automated or semi-automated processes that edit pages with reduced or no direct human supervision. Bots must follow the policy and guidelines outlined below because they may potentially strain server resources or disrupt Wikinews. The policy outlines the way bots may be used on Wikinews; bots which do not follow the policy may be blocked immediately until the operator has resolved any issues or non-compliance.

Bot account
A bot must be run using a separate account from the operator, as no human editor should be granted a bot flag. Its user page should clearly and visibly denote it as a bot to distinguish it from human editors, and operators must be available to answer any comments themselves. No user is permitted to make use of automated answering scripts. Some operators may choose to redirect the bot talk page to their own, if their bot is not configured to detect messages.

Authorization
To qualify for bot access, the following requirements must be met:
 * The bot operator must start a discussion that will last for at least two weeks at Bots;
 * The bot operator must demonstrate the bot task is welcomed by the community. A good way to show it is to be flagged on another wiki for a single task;
 * The bot must make 10-20 edits for demonstration purposes;
 * Once there is consensus, a bureaucrat will add the flag.

Unacceptable usage

 * Controversial changes: Bots may be used to perform edits which are most likely supported by other local users; they should never be used to perform controversial edits. If you intend to expand the scope of the bot beyond that which was supported by the community, make note of this at Wikinews:Bots to ensure that there is no opposition.
 * Data retrieval: Bots may not be used to retrieve bulk content for any use not directly related to an approved bot task. This includes dynamically loading pages from another website, which may result in the website being blacklisted and permanently denied access. If you would like to download bulk content or mirror Wikinews, please do so by downloading or hosting your own copy of our database.
 * Spellchecking: No bot may automatically correct spelling mistakes without explicit community approval, particularly in the main content namespace.

Removal of bot status
Bot permissions will be removed:
 * At the bot operator's request;
 * If the bot is persistently used to perform tasks that are outside the bot remit;
 * If the bot is found to be inactive i.e. not performing any edits for a whole year.
 * Before removal of the bot flag for inactivity takes place, the operator(s) must be notified on their talkpage.

Name
Although not required, the bot name should clearly contain the word "bot" in its user name to more easily distinguish it from human users; the most common forms are derived from the operator's username e.g. User: Revibot I or from a specific task e.g. User:CalendarBot.

Edit throttle and peak hours
Bots running without a bot flag should edit at intervals of over 1 minute between edits (= less than 1 edit per minute). Once they have been authorised and appropriately flagged, they should operate at an absolute minimum interval of 5 seconds (12 edits per minute). Bots should try to avoid running during the busiest hours, as they rapidly use server resources that should be reserved for human readers and users. During these hours, they should operate at intervals of 20 seconds (3 edits per minute) to conserve resources.

Bots' editing speeds can be automatically adjusted based on server load by appending an extra parameter to the query string of each requested URL; see maxlag documentation on MediaWiki.

Supervision
Unless the bot is publicly stated to run autonomously, the operator should remain available, occasionally check for messages, and be ready to shut down the bot if it does not perform as desired or if complaints are received. If the operator is not available, the bot may be blocked until any issues are resolved.

Best practices
Please read Help:Toolforge on Wikitech for strong recommendations about bots including:
 * Pick a license;
 * Publish the code;
 * Have co-maintainers;
 * Write some documentation.