RuneScape:Bots


 * This is a proposed policy and is not currently in effect.

A bot is a computer program that automates certain tasks, in this case editing this wiki. Unlike bots that perform tasks in RuneScape, bots here are allowed and encouraged. However, given that there is a potential for abuse of bots, they must be approved by the community before they can go into operation.

There are many tasks that bots can perform more efficiently and with less work than humans. Examples include correcting American spelling of words to British and tagging pages with maintenance templates (such as Template:Jpeg). However, human editors will always be needed, as bots aren't capable of adding content to the wiki. They are just a tool for performing repetitive tasks with less work involved.

If you are interested in making a wiki bot, read creating a bot on Wikipedia, as it provides useful background information that applies here.

Process
The process of creating a bot should usually begin with an idea for a bot being discussed by the community. These discussions should be held on a page such as the yew grove that is fit for discussion of this nature. If a consensus forms that it would be useful for a bot to perform a specific task, then someone can write a detailed specification that explains the details of how the bot will run. The specification should include:


 * What the bot does, obviously. This should be written in detail.
 * How often it will run (continuously, periodically, one time).
 * Who will be able to access it. Usually it will only be its owner, but sometimes it might be worth it to have an interface (such as through a website or our IRC channel) that allows certain others to run it as well.
 * Any other information you think the community would be interested in.

This stage should take place before the bot is coded or a bot account is created. Once the community has again approved this specification, work on the bot can begin. When it is complete, the creator should notify the community again that they will be testing the bot. At this point, they must create a separate bot account to conduct the tests on; it may not run on a normal account. If the tests are successful, the creator once again will seek the community's final approval for a bot flag.

Guidelines
All bots must run on separate accounts from their creators. It is important to distinguish between automatic and manual edits. These accounts should not be created until the bot enters the testing phase, however, because until that point there might not ever be a working bot to use the account.

Most of the time, the bot account should have a bot flag so that its edits are hidden from recent changes. Additionally, the bot flag shows that the community has approved the bot, as Wikia staff look for a consensus when flagging bots (and no other users can flag them). The only exception is when the bot is still testing, in which case it may be relevant to have the edits on recent changes in case the bot messes up. Otherwise, the bot has demonstrated correct behaviour and its repeated edits need not be seen by everyone else unless they are overtly interested. Bot flags are reserved for bot accounts, and normal accounts may not have a bot flag, although this probably goes without saying.

As mentioned in the above section, community consensus behind the bot is required at nearly every stage of the process. Bots do have some potential to mess up or be abused, and it is important that the community knows they are running and has some confidence that it's doing a good job. If an unapproved bot is caught running, administrators are free to block it as they see fit until it receives a consensus.

Source code
It is recommended, but not required, that the creator of a bot publicly releases the source code, or at least gives a copy of it to a trusted user. The code should be released under an open license such as the GPL. This allows us to continue to run a bot after its creator has left the project if its services are invaluable. If you give the source code for your bot to another user or release it publicly, this should probably be noted on the bot's user page so that everyone is aware for future reference.

If the creator does in fact leave and another bot operator takes their place, they should create a separate bot account so that it is clear who's running the bot. The code will usually run unmodified; if this is the case, the specification, testing, etc. phases can be skipped, since the functionality is already clear, and the new operator will only have to seek community consensus once for a new bot flag.