|This page in a nutshell: Automated scripts that modify travel guide pages and images on the wiki must comply with the script policy and be approved.|
- For bot approval requests, see Wikivoyage:Script nominations.
As with most computing tasks, editing Wikivoyage can benefit from using automated scripts – programs that modify Wikivoyage pages and images with content, or at a pace, not directly controlled by humans. This page describes Wikivoyage's policy towards scripts: what we like, what we don't like, and how to make a script that works on Wikivoyage.
Pros and cons
Scripts are nice for the following reasons:
- Repetitive work. Using a script can make repetitive tasks a lot easier to do. The script program does the work, instead of someone – or a lot of someones – having to do it by hand.
- Accurate work. Well-written scripts don't make common typos, spelling mistakes, etc. A script will do the same task over and over pretty well.
But scripts have the following problems:
- Unintended consequences. If you have a bug in your script, you muck up a whole lot of pages, and either we have to correct those problems by hand, or we have to create another script to clean up after it.
- Unnecessary. Many problems that people want to make scripts for are unnecessary. The time and energy the person would have to put into creating, debugging, and running the script could be spread across a number of people doing the same task by hand. This would be less unilateral, and may actually be faster.
- No new knowledge. In general, scripts just re-adjust the formatting or presentation of knowledge on Wikivoyage. Unless they're importing information from another database, there's nothing new added. We could better spend that time and energy adding actual travel information to the guide.
For these reasons, we have the following rules for running scripts against Wikivoyage:
- Scripts have to be approved by the Wikivoyage administrators. To create a script that runs against Wikivoyage, post the name and reason for the script on Script nominations. Explain why we need the script, why it can't be done by hand, and what the script will do. If two administrators voice their support for the script within seven days, and none oppose it in that period, the script can be run.
- Scripts should be in accordance with our policies and guidelines and manual of style. For example, a script that reformats all restaurant listings on the site should make them look like our preferred form rather than something else. If you think we should use that something else, get the policy or style guideline changed first.
- The user page for the script's user name should describe what the script does.
- Bots have to check their talk page before making each edit to check for new messages.
- Bots without botbit should make only one edit per minute to prevent flooding the recent changes.
Programs that only read pages and images (and don't modify the versions on the server) don't require an approval process. It is nonetheless preferable to use Wikivoyage:Database dumps instead of downloading large batches of pages individually, as misuse of "spider" programs may place an undue and unnecessary load on the servers. See m:Data request limitations.
Scripts that don't comply to these requirements will be blocked from reading or editing Wikivoyage pages – even if they're not doing any actual harm.
- botwiki:manual:bot for technical documentation on individual bot frameworks