To run a bot on the English Wikipedia, you must first get it approved. Follow the instructions below to add a request. If you are not familiar with programming consider asking someone else to run a bot for you.
If your task could be controversial (e.g. most bots making non-maintenance edits to articles and most bots posting messages on user talk pages), seek consensus for the task. Common places to start include WP:Village pump (proposals) and the talk pages of the relevant policies, guidelines, templates, and/or WikiProjects. Link to this discussion in your request for approval.
You will need to create an account for your bot if you haven't already done so. Click here when logged in to create the account, linking it to yours. (If you do not create the bot account while logged in, it is likely to be blocked as a possible sockpuppet or unauthorised bot until you verify ownership)
Create a userpage for your bot, linking to your userpage (this is commonly done using the {{bot}} template) and describing its functions. You may also include an 'emergency shutoff button'.
II
Filing the application
easy-brfa.js can be used for quickly filing BRFAs. It checks for a bunch of filing mistakes automatically! It's recommended for experienced bot operators, but the script can be used by anyone.
Enter your bot's user name in the box below and click the button. If this is a request for an additional task, put a task number as well (e.g. BotName 2).
Complete the questions on the resulting page and save it.
Your request must now be added to the correct section of the main approvals page: Click here and add {{BRFA}} to the top of the list, directly below the comment line.
For an additional task request: use {{BRFA|bot name|task number|Open}}
III
During the approvals process
During the process, an approvals group member may approve a trial for your bot (typically after allowing time for community input), and AnomieBOT will move the request to this section.
Run the bot for the specified number of edits/time period, then add {{Bot trial complete}} to the request page. It helps if you also link to the bot's contributions, and comment on any errors that may have occurred.
AnomieBOT will move the request to the 'trial complete' section by moving the {{BRFA}} template that applies to your bot
If you feel that your request is being overlooked (no BAG attention for ~1 week) you can add {{BAG assistance needed}} to the page. However, please do not use it after every comment!
At any time during the approvals process, you may withdraw your request by adding {{BotWithdrawn}} to your bot's approval page.
IV
After the approvals process
After the trial edits have been reviewed and enough time has passed for any more discussion, a BAG member will approve or deny the request appropriately.
For approved requests: The request will be listed here. If necessary, a bureaucrat will flag the bot within a couple of days and you can then run the task fully (it's best to wait for the flag, to avoid cluttering recent changes). If the bot already has a flag, or is to run without one, you may start the task when ready.
For denied/expired/withdrawn requests: The request will be listed at the bottom of the main BRFA page in the relevant section.
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Approved.
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Request Expired.
Function overview:
The main purpose of this bot is to fill in missing disease codes (aka medical resources) in disease articles. This involves mainly minor changes in the medical resources box inside the external links section. Examples of these contributions can be found in here. In those articles without a medical resources box, the changes will involve adding the box and filling it with the corresponding information.
Automatic, Supervised, or Manual:
Supervised: all edits are reviewed soon after being made
Links to relevant discussions (where appropriate):
Edit period(s):
Currently it is run on manually triggered batches of diseases with missing mappings in their Wikipedia articles. Once a first wave is completed, the goal is to run the bot periodically (e.g. every month).
Estimated number of pages affected:
Our estimation is to affect around 3,000 pages during the first wave.
Namespace(s):
Only the "Medical Resources" box in the External Links section of disease related articles.
Exclusion compliant(Yes/No):
No. The bot does not explictly skip these pages. We start with a list of disease related articles extracted from an initial search in Wikipedia. Those are the target articles, regardless of the template.
No
Function details:
For each disease related article in Wikipedia in which a new medical resource (i.e. not included in the Medical Resource box) has been found, the resource(s) are added to the box. If the article did not contain a Medical Resources box, the box is added. No changes are performed outside this box.
Primefac, thanks for the response. I had already read through the steps, but I was wondering if any information was missing in my request, or if it's just a matter of waiting for the first short trial to be approved.Eduardo P. García del Valle (talk) 12:22, 2 May 2020 (UTC)[reply]
In looking at the above (linked) conversation, it sounds like there might be some CONTEXT issues. Will let the discussion play out some more. Primefac (talk) 17:05, 19 June 2020 (UTC)[reply]
Request Expired. The discussion has gone stale, and while not outright opposing this bot the main contributors were concerned about CONTEXT issues. Unless a new discussion surfaces to show that this would be a valuable task, I am closing this as "expired" (not declined, so there is no prejudice against re-filing should consensus emerge). Primefac (talk) 22:25, 2 August 2020 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
Bots in a trial period
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Denied.
Function details:
The bot will scan through the files in Category:Wikipedia files that shadow a file on Wikimedia Commons (which pages using ShadowsCommons are automatically added to) and determine if a page with the same title as each file exists on Commons; if one doesn't, a regex will be used to detect and remove ShadowsCommons from the file's wikitext.
Discussion
Approved for trial (50 edits or 7 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Whichever comes first. Primefac (talk) 21:47, 19 April 2020 (UTC)[reply]
That was kind of the point of the trial lengths. If it's common enough to merit a bot run, it'll hit 50 before the end of a week (after all the task says up to 20 per day). If it's going to take a month to hit 50 edits, it makes me wonder if a bot is necessary. Primefac (talk) 00:39, 15 May 2020 (UTC)[reply]
Hi Primefac – school-related activities have taken up most of my free time over the past few weeks so I apologize if I wasn't able to respond to your message until now. I could try running the bot weekly or monthly instead of daily, though I'm glad to withdraw this request if you feel that the task doesn't necessitate a bot run. Philroc(c)19:38, 28 May 2020 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Withdrawn by operator.
Time filed: 22:49, Thursday, December 19, 2019 (UTC)
Function overview:
Create missing redirects from gene symbols to articles about the corresponding gene/protein and categorize them using {{R from gene symbol}}.
Estimated number of pages affected: 2000 or 4000, give or take a few hundred (2000 if just the gene symbol redirects; 4000 if the parenthetically disambiguated redirects as well - see discussion below)
Function details:
Create missing redirects from gene symbols to articles about the corresponding gene/protein and categorize them using {{R from gene symbol}}.
It might be worth creating the corresponding set of parenthetically disambiguated " (gene)"-suffixed redirects (a la Wikipedia:Bots/Requests for approval/BogBot 3) along with the proposed set, though it's not quite as necessary. Doing so would double the number of redirects I'd need to create. Wondering what others think; @Boghog: you in particular. Seppi333 (Insert 2¢) 03:30, 24 December 2019 (UTC)[reply]
The justification for the parenthetical redirects was very clear: provide an unambiguous mechanism for locating Gene Wiki articles. Most of these redirects have already been created. Hence it would very useful to provide redirects for the newly created articles and update redirects for the rare cases where the official gene has changed. The redirects provide an efficient mechanism to find Gene Wiki articles. Why is necessary to create and maintain lists of tens of thousands of genes? Who is going to use these lists and for what purpose? Boghog (talk) 15:08, 24 December 2019 (UTC)[reply]
Hmm; I don't think it's that rare TBH; I saw around half a dozen gene symbols change when I updated those gene lists today. That said, the gene lists aren't relevant to this task in any way; I'm just proposing the creation of redirects. But, to answer your questions, it's not any more or less necessary than creating and maintaining any other article on Wikipedia. I do it voluntarily because I know there are some who would find it useful/interesting for the same reason I do. I suspect that people who would "use" these lists are readers who are interested in human genes. The alternative is HGNC's gene browser which cuts off the list at 1000 entries and utilizes such an excessive amount of pagination so as to render the viewer relatively useless. As for the purpose, I can't say; I only know what I used it for. But, for what purpose would any of the other lists in lists of human genes be used for that matter? Seppi333 (Insert 2¢) 18:44, 24 December 2019 (UTC)[reply]
Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. If anyone would have an issue that should be a large enough number to make them notice. Primefac (talk) 21:46, 23 February 2020 (UTC)[reply]
Putting this on hold seems reasonable. I haven't had the time to work on it lately and don't expect to for another month or two. Sorry for the late reply. Seppi333 (Insert 2¢) 22:04, 30 May 2020 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
Bots that have completed the trial period
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Approved.
Function details: Scans articles that transclude {{current}}, and examines the timestamp of the last revision.
If the article has not had any new revisions in over five hours, and the article allows the bot to edit it (i.e. no {{nobots}}, no {{bot|deny=Yapperbot}}, or a bot allow list that contains the bot name) then the {{current}} template will be removed. If it was on its own line, the entire line is removed; otherwise, only the tag is.
This task was previously performed by User:TedderBot/CurrentPruneBot, which did it if the last revision was over two hours ago. To stay on the safe side, at least at the start, I've set the threshold much higher at five hours, as I don't want the bot to step on editors' toes, but if needed, it can be adjusted down again in future.
Discussion
Five hours seems like a very short timeframe - if something happens in a specific locality (for example, I note {{current}} is being used on a few articles related to a dam breaking in Michigan) the entire night could pass without an update if everyone is asleep. Wouldn't the editors then need to re-add the {{current}} template the next day? Seems like something more like 12 hours would be more appropriate. Primefac (talk) 17:54, 22 May 2020 (UTC)[reply]
That's fair. I make no bones about the specific timeframe, it's easy to change - pinging in Thryduulf and Sdkb for any thoughts they might have on where they feel the bar should be, seeing as they were both involved in the discussion on BR. Naypta ☺ | ✉ talk page | 18:02, 22 May 2020 (UTC)[reply]
As an unrelated note to the above, this template is currently being used on 8 pages, all of which appear to still be valid. Is removing the {{current}} template really such of a problem? Primefac (talk) 17:55, 22 May 2020 (UTC)[reply]
I think the point is that {{current}} is designed to be a short-lived, temporary template, not just used because something is in the news but because lots of editors are simultaneously editing the page. That's a very easy thing for people to forget to do, by the very nature of its definition - if few people are editing the page, without people manually going through the category, there's little opportunity for people to check if it needs to be removed, if that makes sense If we're going to have people manually going through that category and "de-currenting" pages anyway, it seems to make sense to save them the bother and let a bot do it, given that it's a trivial task to instruct a bot how to do. Naypta ☺ | ✉ talk page | 18:02, 22 May 2020 (UTC)[reply]
Primefac, your questions touch on the larger issue of what the purpose of {{Current}} is. That's very much an unresolved question (see e.g. here), but lacking a consensus elsewhere, I think we should go by the documentation, which is pretty clear that it's meant only for short-term use on articles receiving a high edit count. It wasn't meant for use on every article about a recent news item, and it's only drifted toward that usage likely because the old prunebot stopped working. Five hours is more than double the original span, so I'd say it's a plenty conservative place to start. {{u|Sdkb}}talk18:14, 22 May 2020 (UTC)[reply]
I tend to agree that 5 hours is more than long enough to wait. If a page hasn't been edited for 5 hours then things really aren't being updated rapidly and the article is stable enough that the prose can (and should) reflect what (if any) uncertainty there is in the real world. If things hot up again later then there is nothing stopping anybody readding the template. If there is a desire for a banner template to highlight articles about current events that are not being frequently edited, then it should be easy to get a consensus to that effect. Thryduulf (talk) 18:40, 22 May 2020 (UTC)[reply]
Fair enough.
Approved for trial (25 edits or 14 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Whichever comes first. Primefac (talk) 16:13, 24 May 2020 (UTC)[reply]
@Primefac: I certainly want to wrapperify/merge them at some point, but I expect there will be some opposition, so I'm not ready to embark on that quite yet. Since you're active at TFD, one question I have, is would you suggest nominating them all together or individually? For here, I just want to put it out there that the idea of this bot ought to be to eventually apply to the full family of current templates. {{u|Sdkb}}talk18:35, 24 May 2020 (UTC)[reply]
Agree 5 hours can be a problem when overnight editing slows down. Suggest first 24hrs is a grace period, after that it is on the clock so to speak. Could even have a sliding scale, third 24hr window is 3 hours etc.. it gets easier to remove the more days goes by. -- GreenC18:41, 24 May 2020 (UTC)[reply]
If editing has slowed down, whether that is "overnight" in some relevant part of the world or not, then the template isn't needed. If it picks up again then the template can be re-added. Thryduulf (talk) 21:05, 24 May 2020 (UTC)[reply]
Trial note - a) for transparency purposes, and b) because I know I'll forget otherwise, I've just squashed a bug where the bot would, on pages that had {{current}} but also another template with a name that started with the word "current", remove both templates. An example of this happening is here - but the bug is now fixed. Naypta ☺ | ✉ talk page | 18:33, 27 May 2020 (UTC)[reply]
Trial complete. With the exception of the above noted problem, there don't seem to have been any other issues - it's worked exactly as expected, doing exactly what it's supposed to. Naypta ☺ | ✉ talk page | 12:09, 7 June 2020 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Approved.
Function overview: Replaces the functionality of Legobot in handling the Feedback Request Service, seeing as Legobot has not been doing so for many months.
Estimated number of pages affected: Potentially the talk page of any user who opts in at WP:FRS, as well as any page that contains an RfC, and an admin page in the bot's userspace
Function details: The bot performs exactly the same work as that of Legobot in this area; that is to say, it checks for new RfCs and new Good Article nominations, and when it finds one, looks up relevant people on the WP:FRS page and sends a random sample (between 15 and 25) a notification, letting them know that it is there. For RfCs, it adds the RfC ID to a JSON file stored in the bot's userspace, which tells Yapperbot that it's already sent the RfC invites and doesn't need to again. It will remove the ID from the JSON once the RfC has been removed from the page. GA nominations are done through a different system, and do not require this - instead, as only one GA nomination can exist per page, they work by iterating through the nominees category, and saving the timestamp of the last completed nominee.
This is a complete rewrite of the bot in Golang, with no code even related to the current Legobot implementation. This has the main advantage that there is no database - all the needed information is stored on-wiki - so it would be a whole lot easier for someone else to pick up the bot in the event that I'm unable to continue to manage it and it breaks. I also suspect that, due to the compiled nature of Golang, it'd be a hell of a lot faster - although that's a suspicion, rather than any kind of actual metric.
The only cross-dependency on Legobot that it does have is for RfC IDs being given; however, there's no indication that Legobot is going to stop handing those out any time soon, so I think that should be alright for now. In the event that it does, this bot will stop working too, but all that means is that it just won't send out any RfC invites until either Legobot is fixed or this bot is patched to work without Legobot's intervention.
I've tested the bot on testwiki, and it appears to work correctly and as expected. The only change necessary to the way that the FRS currently works would be for the GA subscription headers to be updated for the new topics used by GA, which can be seen on the nominations page here. It is not necessary for the GA project to change anything or notify anyone so long as they are only changing subtopics; however, adding a new topic will not cause notifications to be sent until the FRS page is updated to match (because, obviously, there's nobody to send to). I would, however, also like to suggest that, as a one-off run, people with no contributions in a number of years are removed from the FRS list, as it seems there's a fair few of them.
Discussion
Thank you very much for tackling this. Looking forward to seeing it in action. It's great that you made it reusable by others, too. − Pintoch (talk) 17:16, 15 May 2020 (UTC)[reply]
@Pppery: Yes, there was - and it's quite simply that I didn't realise that the edituserjson flag existed in the same way that the edituserjs flag does! I've never previously had a need to store JSON, and knew that JS got that protection, so I thought I'd just put it in a JS page instead. Thanks for pointing that out, I'll go change it over to use the .json page! Naypta ☺ | ✉ talk page | 19:39, 15 May 2020 (UTC)[reply]
Approved for trial (100 edits or 14 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Whichever comes first. Primefac (talk) 17:59, 22 May 2020 (UTC)[reply]
I'd like to also explicitly request approval to run a one-off script on the FRS page, at least removing {{Frs user}} templates of usernames that are blocked or do not exist, and possibly removing users that haven't had any edits in a very long time too - just to clean things up a bit and make Yapperbot waste less time sending messages to users that aren't going to read them. Naypta ☺ | ✉ talk page | 09:47, 23 May 2020 (UTC)[reply]
I don't think that needs approval, as long as the script just processes the wikitext of the page and you manually copy and paste it into the edit window and click save. * Pppery *it has begun...14:56, 23 May 2020 (UTC)[reply]
That's fair - I was thinking of doing it automated, but I could just run the script and then do it manually. I'll do it that way instead then Naypta ☺ | ✉ talk page | 15:17, 24 May 2020 (UTC)[reply]
Redrose64 pointed out that it seems that Legobot has trouble removing RfCs that contain the |frsdone= parameter that Yapperbot was previously using to make sure it didn't send invitations more than once. I'm making a note of this on the {{rfc}} template so nobody tries that again, then, as that behaviour was previously undocumented, but I've also switched Yapperbot to using a JSON file to store the RfC IDs that it's done, so that problem won't reoccur when the bot is running normally post-approval. Naypta ☺ | ✉ talk page | 09:50, 31 May 2020 (UTC)[reply]
{{BAGAssistanceNeeded}} Would be great to get someone to chat about next steps to get this running, when a BAG member has a moment - it's been a couple of weeks since the trial ended, and there are a lot of RfCs open at the moment (117 at the time of writing), so it'd be useful to have the FRS working again! :) Naypta ☺ | ✉ talk page | 21:17, 7 June 2020 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.
Approved requests
Bots that have been approved for operations after a successful BRFA will be listed here for informational purposes. No other approval action is required for these bots. Recently approved requests can be found here (edit), while old requests can be found in the archives.
Bots that have been denied for operations will be listed here for informational purposes for at least 7 days before being archived. No other action is required for these bots. Older requests can be found in the Archive.
These requests have either expired, as information required by the operator was not provided, or been withdrawn. These tasks are not authorized to run, but such lack of authorization does not necessarily follow from a finding as to merit. A bot that, having been approved for testing, was not tested by an editor, or one for which the results of testing were not posted, for example, would appear here. Bot requests should not be placed here if there is an active discussion ongoing above. Operators whose requests have expired may reactivate their requests at any time. The following list shows recent requests (if any) that have expired, listed here for informational purposes for at least 7 days before being archived. Older requests can be found in the respective archives: Expired, Withdrawn.