Bots are not a status symbol
Before requesting a bot, remember that bots are not a status symbol. Many users want to make bots and try to think of a purpose afterwards. Unless you already know a specific task that should be automated, do not request a bot. In addition, do not ask around for tasks that you think should be automated.
- The bot must perform a significant task that is time-consuming to perform manually
- The bot must be applicable to a wide variety of pages
- The owner of the bot must have an account in good standing (i.e. be fairly familiar with the Wiki and not have a history of bad behavior)
- The owner of the bot must be prepared to develop and maintain it themself. This means that they should already be familiar with the programming language and any relevant libraries they will use to develop it and should not rely on others to provide code or maintenance.
- The community must generally approve of the bot
Things to keep in mind
Does your bot only read the Wiki and not directly submit edits? If so, you do NOT need to submit a bot request! You do not need an account at all to read API data.
Before you make your request, please consider the following:
- Is your bot's task necessary?
- Is your bot's task difficult for a human to do?
- If not, is there any reason that a bot would be better than a human (e.g. too repetitive, humans are too unreliable)?
- Is your bot's task more than one time or quick use?
- Is your bot's task pronouncedly different from other bots’ tasks and would adding its task to another bot be impractical?
- Would your bot have a moderate request frequency?
- Would your bot help the Wiki as a whole, and not just a few specific users or articles?
- Would your bot be almost foolproof against causing harm if something goes wrong?
- If your bot is designed to fix a problem, is it a significant problem that happens repeatedly?
- Would your bot follow the wiki guidelines?
- Does your bot serve a purpose that is not commonly rejected?
Your answers to the above questions should all be "yes."
Commonly Rejected Ideas
In general, we will not accept bots that perform tasks listed below. Bot requests for these tasks will likely be rejected without discussion.
- Fixing spelling, grammar, style, formatting, etc., as this is extremely difficult to do with a bot and likely to be error-prone (note that you may make a bot to detect potential issues and notify you for manual review, but this does not require a dedicated account)
- Welcoming users, as we already provide an automated welcome message when account requests are approved and there is no benefit for subsequent automated welcome messages
- Notifying users when they are pinged, mentioned, brought into a discussion, etc., as pinging/mentioning would be better done with an extension (note that using an extension to do this is not rejected), and the Discussion Invitation System in particular should be done manually so the messages are consciously sent to users
- Any function that requires elevated permissions beyond what bot accounts normally have, as those permissions will not be given to users who have not been elected or appointed
Requesting a bot
How to submit a request
- Leave a comment at the bottom of the page explaining what your bot would do (click the "add a new section here" link)
- Add a row to the table with relevant info about your bot (set status to "Unreviewed")
What to do next
- Wait for a reply to your other messages
- Once a consensus is reached, proceed according to the status
- Respond to any concerns brought up; if you do not respond to questions in a timely manner, your bot request will likely be rejected
- If your status is set as "Test on main account", write your bot script and do a few test edits on your main account, then comment them on the discussion thread at the bottom.
- Wait for other users to review the test edits, then if the request is accepted, submit an account request for your bot.
What statuses mean
- Unreviewed - please wait until someone comments on your discussion
- Under discussion - please wait until the discussion comes to a consensus on how to proceed
- Inactive - the discussion has suddenly stopped, and a consensus has not yet been given
- Rejected - do not make your bot, it was not deemed acceptable under Wiki standards
- Make changes - make any changes listed in the "comments" section
- Test on main account - the idea has been approved, write your script and test it on your main account
- Approved - your test edits have been approved, submit an account request for your bot account
Other users may ask you to provide the code for your bot. This is so that they can check it for accuracy. When providing the code, please provide everything that you have (except passwords, of course) so that it can be checked more thoroughly.
How to respond to a request
- For general feedback and discussion, leave them in the comment thread at the bottom. If you are the first one to look at the request, change the status to "Under discussion"
- Once a consensus has been reached, decide whether the request is rejected, needs changes, or is approved. If it is rejected, set status to rejected. If changes need to be made, set the status to "Make changes" and outline the changes in the "Comment" section of the table. If it is accepted, set the status to "Test on main account"
- Wait until the user makes tests, then respond accordingly (either accept or ask user to refine more)
- If a request is rejected, explain why in the comments