|Please post any bot job requests on the requests page.|
Bots are programs run by editors to do basic, automated or repetitive tasks on the wiki through a Bot account. These bots do not have any extra tools or powers on the wiki. The only differences between bots and normal editors is that all bot edits are hidden by default on the Recent Changes page and are automatically patrolled.
What should a bot do and what shouldn't a bot do?
Before going into action on the wiki, a bot must be approved by the community, then be assigned to the appropriate User Group by Daveh. Before even being considered by the community, the bot must have been thoroughly tested beforehand, either offline, on the test version of the UESP, or on a private website. Once the bot has been tested and no errors found, the bot owner must make sure that the bot is able to do the most standard tasks. These tasks include:
- Creation of redirects
- Updating of links
- Addition or removal of certain text to or from an article
Each bot must have basic safety functions built in. These safety functions are as follows:
- Bots should make no more than 10 page reads or 1 page write per second.
- Bots should adapt to changing conditions and slow down or stop if the server response time is excessive. (Bot owners are also trusted not to run unnecessary jobs if servers are under significant load.)
- No substantive edits will ever be made to user pages, user talk pages, or template pages, though link updates and the like are acceptable.
- No edits will be made by the program unless it is logged in.
- If the bot's talk page is edited, the bot will stop running within a reasonable timeframe.
- The bot handles edit conflicts in an appropriate manner.
- The bot account must clearly indicate that it's a bot, typically by having the word "bot" somewhere in its name, though a user page that clearly indicates it's a bot is acceptable. This is simply to prevent confusion.
Proposing a bot
Once the owner has tested the bot, added the safety functions, and met the standards listed above, the owner may then propose the bot in the section below; Bot Proposals. Previous proposals can be found on the archived proposals page.
When the bot is proposed by the owner, the owner should explain in detail how the bot works and what tasks it will perform. This is to ensure that no bots accidentally begin running wild across the wiki. For a bot to be proposed, the bot owner must already be a trusted member of the community. The minimal requirements for a bot owner are:
- Absolutely no history of vandalism on the site
- Displayed knowledge of the site's Policies and Guidelines
- Displayed a working knowledge of the UESPWiki's coding and formatting
- A minimum of 500 constructive edits to the wiki, excluding edits in userspace or in a talk namespace
- Please add any bot proposals below with a reason and detailed explanation of the bot.
As many of you know, I've been working on a replacement for HotnBOThered for quite some time now. At long last, I feel the bot is ready to start taking on jobs. While there's certainly a lot of development left to get it to the point that HnB in terms of how quickly I can get common jobs running, all the basic necessities are there, already including many features that HnB lacks. This includes all of the requirements listed above. Because this is an entirely new bot, with almost no source code ported from the old one, our rules and Wikipedia's require that I get the new bot approved, so this is me doing that.
Some of the advantages of HoodBot over HnB include:
- HoodBot is signficantly faster and better designed. No more reliance on an inelegant and rather buggy bot framework that I didn't design. The only code I'm using not written by myself or Microsoft is Json.NET, a framework so well-known and professional that Microsoft is apparently planning on integrating it into their own code in the future.
- Heavier integration of basic functionality. Basically, all of the requirements listed above, and some that aren't, are baked in at a very low level, allowing the bot jobs themselves to focus on what they need to do without me having to manually code a lot of things that aren't directly part of the job. This means faster development time for jobs. Even simple things like namespace restrictions were largely done manually in HnB. Now, violating the restrictions listed above (for jobs like link replacement, that should be allowed to edit user page) is the more difficult task.
- Much better speed control, increasing speed when the wiki can handle it, and decreasing speed when it's lagging. Talk page checks can also often be done inline with other requests, significantly cutting the number of requests made to the wiki.
- HoodBot has many, many more wiki-related features, including e-mailing users, processing watchlists, integrating with MetaTemplate to look at saved variables, and virtually anything else that users can do. Most of the MediaWiki API is fully implemented in the bot and made easy to access, so things like loading all pages that transclude any page in Lore space, to use a recent example, takes only one or two lines of code, and the bot is already ready to start examining/editing the page data. Admin functions are also available should we ever develop a need for an admin bot.
- Much more direct integration with a universal TES file reader that I'm currently developing as a separate project. Once done, the bot will have the ability to edit the wiki based on Morrowind, Oblivion, or Skyrim/SSE data, largely agnostic as to which game it's actually dealing with. Assuming that TES6 follows the same basic principles as the previous games, integrating that will be relatively easy as well.
- For more details, and a link to the source code on GitHub, head over to HoodBot's user page.
Okay, I think that's enough about HoodBot. Any questions? I know I focussed mostly on the technical aspects here, but if there are any specific questions, comments, or concerns, please let me know! – Robin Hood (talk) 08:39, 17 February 2019 (UTC)