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)
- Any code for the bot that is purpose-built (i.e. specifically coded for the implementation of that bot on the Scratch Wiki and not previously used elsewhere) must be coded by the owner of the bot
- 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 not already/easily done by a human?
- 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?
Your answers to the above questions should all be "yes."
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
- 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. Please note that it is forbidden for users to steal the code you provide and add it to existing bots.
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