Open main menu

Wikipedia:Bots/Requests for approval

< Wikipedia:Bots  (Redirected from Wikipedia:BRFA)

BAG member instructions

If you want to run a bot on the English Wikipedia, you must first get it approved. To do so, follow the instructions below to add a request. If you are not familiar with programming it may be a good idea to ask someone else to run a bot for you, rather than running your own.

 Instructions for bot operators


Current requests for approval

DannyS712 bot 49

Operator: DannyS712 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 00:32, Tuesday, June 18, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): AWB

Source code available: AWB

Function overview: Implement the results of Wikipedia:WikiProject Stub sorting/Proposals/2019/May

Links to relevant discussions (where appropriate): Wikipedia:WikiProject Stub sorting/Proposals/2019/May

Edit period(s): One time run

Estimated number of pages affected: 6400

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: For individual proposals, I suggested that a bot carry out the changes, and there was support for the proposal. This is also a follow up to the "proof-of-concept" in Wikipedia:Bots/Requests for approval/DannyS712 bot 37


Just to clarify, the idea is that the bot creates new stub templates that were agreed upon during that discussion, adds these to pages which contain a "parent" stub tag + a category or other text string that marks them as suited for the new stub template, and then removes the "parent" stub template from the pages which had the new template added? Jo-Jo Eumerus (talk, contributions) 08:27, 18 June 2019 (UTC)
@Jo-Jo Eumerus: yes and no. The bot doesn't create the new stub templates, it just replaces the "parent" stub tag with the newly created "child" stub tag as appropriate --DannyS712 (talk) 08:29, 18 June 2019 (UTC)
Thanks. Sorry if this sounded like a stupid question, but stub maintenance is not something I am deeply familiar with. Jo-Jo Eumerus (talk, contributions) 08:49, 18 June 2019 (UTC)
@Jo-Jo Eumerus: It wasn't a stub question at all. In the future I may also have BRFAs that include creation of the stub templates, but for now its just the use of them DannyS712 (talk) 09:12, 18 June 2019 (UTC)

DannyS712 bot III 48

Operator: DannyS712 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 18:54, Sunday, June 16, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Javascript

Source code available: New rule to be added to User:DannyS712 test/redirects.js

Function overview: Automatically patrol redirects where the only difference between the title and the target (excluding differences in capitalization and diacritics/accents) is the presence of absence of "The "

Links to relevant discussions (where appropriate): Follow up to Wikipedia:Bots/Requests for approval/DannyS712 bot III 38 and Wikipedia:Bots/Requests for approval/DannyS712 bot III 45

Edit period(s): As needed

Estimated number of pages affected: A few per week

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: See Special:Permalink/902125164 for the 19 currently unpatrolled redirects that meet this critereon


The unpatrolled sample looks fine. Is the script only looking for "the" at the beginning of the title? That was the case for all of the examples in the sample. signed, Rosguill talk 20:49, 16 June 2019 (UTC)

No, it’s all instances of “the”, though the sample is just some of the current redirects that meet the rule. —DannyS712 (talk) 22:23, 16 June 2019 (UTC)
Is there a reason this is not just an extension of the previous BRFA? Primefac (talk) 20:58, 18 June 2019 (UTC)
@Primefac: I guess it is, but I have ideas for a number of future rules that could be added but I haven't coded yet, and was planning to file the "extensions" as individual BRFAs because each one results in automatically patrolling an entirely new group of redirects, and thus should be evaluated separately --DannyS712 (talk) 21:06, 18 June 2019 (UTC)

TheSandBot 4

Operator: TheSandDoctor (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 06:51, Sunday, June 9, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available:

Function overview: An extension of WP:Bots/Requests for approval/TheSandBot 3, this task moves categories and their associated subpages. This task is different enough to necessitate its own BRFA.

Links to relevant discussions (where appropriate): WP:Bots/Requests for approval/TheSandBot 3

Edit period(s): Until done

Estimated number of pages affected: 88 categories worth, so probably few hundred to couple thousand

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: Reads category page names from User:Alex 21/sandbox2 into memory. Then the script repeats the following process on all listed categories:

  1. Moves category
  2. Reads the category page itself to determine if any of its categories need switching (if so, they are done now)
  3. Iterates through category contents (currently under previous name) and moves them to the current category
  4. Looks for any links from the old category name. If they are found, corrects them to new name


DannyS712 bot 47

Operator: DannyS712 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 03:00, Sunday, June 9, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): AWB

Source code available: AWB

Function overview: Help implement TfD closes

Links to relevant discussions (where appropriate):

Edit period(s): Continuous / as needed

Estimated number of pages affected: Thousands

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: Per discussion at Wikipedia:Bots/Requests for approval/DannyS712 bot 46, I'd like to file a BRFA for implementing general TFD closes. Similar past tasks include Wikipedia:Bots/Requests for approval/DannyS712 bot 22, Wikipedia:Bots/Requests for approval/DannyS712 bot 23, and Wikipedia:Bots/Requests for approval/DannyS712 bot 31.


  • Pinging participants in previous discussions: @Primefac --DannyS712 (talk) 03:03, 9 June 2019 (UTC)
  • I'm not entirely convinced as to the need for this bot when there are already two other bots approved for the same task. * Pppery * it has begun... 03:43, 9 June 2019 (UTC)
    @Pppery: Even if there is not a need for this, is there any disadvantage? As seen in #46, sometimes things do slip through the cracks. --DannyS712 (talk) 04:07, 9 June 2019 (UTC)
  • I'm recusing as a BAG member, but for the record here are the BRFAs for SporkBot and PrimeBOT (orphaning and merging), which as mentioned have a remit to implement TFD outcomes. I'm mostly ambivalent about having a third bot with the same remit. Primefac (talk) 12:58, 9 June 2019 (UTC) (please do not ping on reply)
  • If it can be demonstrated that this new bot will not be conflicting/getting in the way of the existing bots, then this is probably harmless/some net-benefit. -FASTILY 08:05, 16 June 2019 (UTC)
  •   A user has requested the attention of a member of the Bot Approvals Group. Once assistance has been rendered, please deactivate this tag by replacing it with {{tl|BAG assistance needed}}. its been 10 days --DannyS712 (talk) 11:37, 19 June 2019 (UTC)

Bots in a trial period

WikiCleanerBot 6

Operator: NicoV (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 08:16, Tuesday, June 18, 2019 (UTC)

Function overview: Do cosmetic edits for CW Error #1 (Template contains useless word Template:) in complement to other non-cosmetic fixes.

Automatic, Supervised, or Manual: Automatic

Programming language(s): Java (WPCleaner)

Source code available: On GitHub

Links to relevant discussions (where appropriate):

Edit period(s): With other tasks that I already perform (currently, all are being done twice a month with the dump analysis).

Estimated number of pages affected: A few hundreds at most (145 articles on CW, 334 articles on dump analysis).

Namespace(s): Main

Exclusion compliant (Yes/No): Yes

Function details: The idea is to do some cosmetic fixes for CW Error #1 alongside other more significant edits. I already have several approved tasks (Task 2 for CW Error #106, Task 3 for CW Error #46, Task 4 for CW Error #543), and another task pending approval (Task 5 for CW Error #2, CW Error #16, CW Error #17, CW Error #85, CW Error #88, CW Error #90, CW Error #91). I want to combine fixing CW Error #1 with all others non-cosmetic approved tasks (current or future). Of course, the bot won't do edits with only cosmetic fixes.


  Approved for trial (10 edits). Headbomb {t · c · p · b} 08:42, 18 June 2019 (UTC)

InternetArchiveBot 3

Operator: Cyberpower678 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 19:17, Tuesday, June 4, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): PHP

Source code available: Not at current

Function overview: Bluelink Book references where ever possible.

Links to relevant discussions (where appropriate): Unanimous discussion

Edit period(s): Continuous

Estimated number of pages affected: mainspace

Exclusion compliant (Yes/No): Yes

Already has a bot flag (Yes/No): Yes

Function details: IABot will go through a DB subset of information as well as crawl through recent changes to maintain an index of available books and cited books. It will use that to derive which pages have cited books that can be blue linked and make the edit. The end result is that the page title and/or the page number will be a link to the previewable book. If the title is already wikilinked somewhere else, only the page number is linked, vice-versa. If there is a page number, IABot will provide a direct link to the page in the book for readers to look at. If not, the book will be linked without a page number.


Does the bot also work with citations that have no ISBN and/or books where there is more than one book, edition etc. under the same title? Jo-Jo Eumerus (talk, contributions) 16:05, 14 June 2019 (UTC)
Jo-Jo Eumerus, in the future it will but for now it will only deal with ISBNs. ISBNs are unique to editions. Down the road it will handle matching of books missing ISBNs. —CYBERPOWER (Around) 03:24, 15 June 2019 (UTC)

  Approved for trial (50 edits). As per usual, please perm link contribs here when done & take all the time you need, Cyberpower678. --TheSandDoctor Talk 07:29, 16 June 2019 (UTC)


  1. Edit 1

GreenC bot 17

Operator: GreenC (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 16:08, Thursday, May 30, 2019 (UTC)

Automatic, Supervised, or Manual: supervised

Programming language(s): GNU Awk and WP:BOTWIKIAWK

Source code available: TBU

Function overview: If an article is already tagged with {{unreferenced}} (currently about 180k) and the bot determines a tagged article contains references/links (ie. the tag might no longer be needed), add a new argument to the template |status=hasaref. This will include the article in a tracking category. (It can also be set |status=nobot in which case the bot will leave it alone.)

It will use the tagbot system (User:GreenC bot/Job 16) so users can receive fresh intelligence on-demand and act on it right away, without being overwhelmed by a giant list of articles from an old bot run that is outdated. It will be perpetual motion ie. once all templated articles are checked, it will generate a new list and start over from the beginning.

Links to relevant discussions (where appropriate):

Edit period(s): on-demand

Estimated number of pages affected: 1-20 per run

Exclusion compliant (Yes/No): Yes

Already has a bot flag (Yes/No): Yes

Function details: The tagbot system at Template:Cleanup bare URLs/bot documents how it works.


@Ajpolino: to notify of new BRFA. -- GreenC 16:19, 30 May 2019 (UTC)

  • {{OperatorAssistanceNeeded}} at least until the Template:Unreferenced discussion is completed and this new parameter is accepted. Reason why: such edits are not currently appropriate if made by a human editor, so they can't yet be made by a bot. — xaosflux Talk 20:30, 30 May 2019 (UTC)
    Once this is resolved, please deactivate the OpAsNeeed tag and link to the result. — xaosflux Talk 20:30, 30 May 2019 (UTC)
Discussion. No one responded so I added the tracking category after determining the scheme. The page is notified about the BRFA. -- GreenC 14:34, 1 June 2019 (UTC)
  •   Approved for trial (60 edits). (3 runs). Primefac (talk) 13:25, 15 June 2019 (UTC)

Ahechtbot 6

Operator: Ahecht (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 03:36, Friday, June 7, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): python

Source code available: User:Ahechtbot/

Function overview: Create lua-formatted lists of highly transcluded templates.

Links to relevant discussions (where appropriate): Template talk:High-use#Number of transclusions

Edit period(s): Weekly

Estimated number of pages affected: 27

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: Will run a script similar to that used to generate Wikipedia:Database reports/Templates transcluded on the most pages (which is no longer regularly updated). All edits will be to subpages of a single module. No more than 27 edits will be made per week outside of the bot's userspace.


  • If I understand correctly, Module:Transclusion count, when it is created, will be redundant to Module:Data. * Pppery * it has begun... 11:43, 7 June 2019 (UTC)
    • Not exactly. The module will take a template name as input, extract the first character, load the appropriate data table based on that character (either "A"–"Z" or "other"), and return the transclusion count. I could have the bot load the data into a submodule of Module:Data and leave the name parsing to Wikitext (e.g. {{#invoke:Data|Module:Data/Template transclusions/{{#invoke:String|match|s={{PAGENAME}}|pattern=^[A-Z]|nomatch=other}}|{{PAGENAME}}}}), but since that requires spinning up Lua twice it seemed cleaner to do it all in one step in a new module and just call {{#invoke:Transclusion count}}. --Ahecht (TALK
      ) 14:12, 7 June 2019 (UTC)
      • Well, I don't see the benefit of splitting the data pages by letter either and the code you posted falls far below my standard of "merits a Lua module" -- but its probably better to let TfD decide this rather than arguing about it on a bot request. * Pppery * it has begun... 19:00, 7 June 2019 (UTC)
        • Splitting pages by letter code was mainly due to the size. Most of the Database reports tend to split lists with over a thousand entries, and splitting by letter makes lookup of any particular template straightforward. There are thousands of templates that will end up on this list, and having the documentation page for each of the thousands of pages using {{high use}} loading and parsing a giant table weekly seemed inefficient from a server load standpoint. --Ahecht (TALK
          ) 13:47, 9 June 2019 (UTC)
  •   Approved for trial (28 days). Ahecht, I know it might take a bit to create the module and related content, so run the 4 weeks from whenever the bot starts editing. As far as implementation goes I'll leave that to you, but from a "proof of concept" I think replacing a few calls to {{high risk}} with a sandbox version that invokes the module will work. Primefac (talk) 12:49, 15 June 2019 (UTC)


Operator: Hassan.m.amin (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 01:56, Friday, May 3, 2019 (UTC)

Function overview: The purpose of the bot is to add a null edit to a Wikipedia:VideoWiki script page such as Wikipedia:VideoWiki/Polio if and when a human voice is added or updated via the VideoWiki tool. If a human voice is added to all of the video it will say in the edit summary "[[User:NAME]] added a human voice". If a human voice is only added to a specific or less than three slides it will add the edit summary "[[User:NAME]] added a human voice to section "name"".

Automatic, Supervised, or Manual: Automatic

Programming language(s): Nodejs

Source code available: Coming soon

Links to relevant discussions (where appropriate): VideoWiki meeting May 2019

Edit period(s): Continuous

Estimated number of pages affected: Currently the 22 in Category:Videowiki_scripts

Namespace(s): Pages are currently in Wikipedia space. Hope is that they will one day move to a new namespace called "Video". But we can cross that bridge when we come to it.

Exclusion compliant (Yes/No):

Function details: The description of how it is to work is above. The reason for the bot is that we need a mechanism to prevent "human voice" related vandalism. Currently if a human voice is added or changed within a VideoWiki video there is no documentation of this on Wikipedia. For quality assurance we need such documentation.


For clarity I have started the bot approval request on behalf of User:Hassan.m.amin and their User:Hassan.m.aminbot. Hassan is going to be doing the programming will I and a few others are going to be providing guidance with respect to required functionality. Hassan's work is being funded by the WP:VideoWiki efforts / Wiki Project Med Foundation. Doc James (talk · contribs · email) 02:01, 3 May 2019 (UTC)

@Doc James: if all that is committed is a null edit, the revision history will not be updated, so your mentioned edit summaries will not be saved. Can you expand on what is needed here? — xaosflux Talk 16:57, 5 May 2019 (UTC)
  • Can you point to an example diff of the human voice being added (the trigger for this bot)? — xaosflux Talk 16:58, 5 May 2019 (UTC)
User:Xaosflux Yes so this is what the bot would do.[1]
The bot would be triggered when people click this.[2]
And select adding a human voice over. Doc James (talk · contribs · email) 22:25, 5 May 2019 (UTC)

@Doc James: Thanks for the updates. So OK, this is not a null-edit, it is an edit that adds useless whitespace to the page. Can you point to an example edit where someone has actually done the "add voice" action? Are the edits being made going to be here or or commons? — xaosflux Talk 22:42, 5 May 2019 (UTC)

@Xaosflux: User:Evolution and evolvability added his voice to this video.[3]. We simple need a way to add an edit summary to the history for a videoscript. You have other ideas on how this could be done? Doc James (talk · contribs · email) 22:59, 5 May 2019 (UTC)
@Doc James: there may be - I'm just not following the big picture yet, forgive my ignorance of the new process! When someone "adds voice to video" - does that create an edit? If it does can you link to the diff where there takes place? — xaosflux Talk 23:36, 5 May 2019 (UTC)
@Xaosflux: this gives you an overview of the basic functionality of the Videowiki tool Wikipedia:VideoWiki/Tutorial
For a number of languages, including English, we have the ability for a machine to read the text.
We also have the additional ability for people to add their own voice to the video in question.
When someone adds their own voice it, however, does not create an "edit" to the script to notify those watching the script page that such a voice has been added.
What we are wanting is the Videowiki tool which facilitates adding the voice to also make a note within the history of the script page.
This is important for us to catch subtle vandalism to the videos. Doc James (talk · contribs · email) 23:42, 5 May 2019 (UTC)
@Doc James: when someone "adds the voice" - where exactly is this being added? That is, where is this addition/change being stored? If it is on a WMF wiki, does it create a revision of some sort? (If so can you point to one of these revisions being made?) — xaosflux Talk 01:21, 6 May 2019 (UTC)
@Xaosflux: It is marked here on Commons.[4]. Edit summary there needs improvements aswell. Doc James (talk · contribs · email) 01:52, 6 May 2019 (UTC)
  • On an aside, would it be even better if the "script sections" were marked up in a reader-accessible way - to indicate if they "need audio - YOU CAN HELP!" (or something) , and just have the bot mark those as done? It would be a lot more visible then something in the edit summaries. — xaosflux Talk 01:43, 6 May 2019 (UTC)
    • Hum that is a good point. We could definitely have a template that indicates if a human voice has been used or not and the bot we are requesting could make a change to that template. Doc James (talk · contribs · email) 01:52, 6 May 2019 (UTC)
  • @Doc James: thanks for answering all the questions so far! In a nutshell I'm reading the overview as:
    • When someone uses the videowiki tool to create a new voiceover enabled file version on commons, create a dummy edit with a custom edit summary on the "script" page here.
  • Presumably, if you want page watchers to see this, the edits should not use the 'bot' flag. If you want to stay with dummy edits the 'minor' flag may be best. Do you want to further explore the template/template updating option next? A bot could for example update a template parameter when a section is done. — xaosflux Talk 11:22, 6 May 2019 (UTC)
    • Yes the minor flag would be better as a lot of people have notification of bot changes turned off. Would it still be a bot that makes the change though, but simple marks it minor and not bot?
      • Oh sure, and if it will do other things it can still have the account level "bot flag". When coding bots to make edits, you also have to specific if they will apply the "bot" or "minor" attribute to each edit (when using the API). — xaosflux Talk 13:36, 7 May 2019 (UTC)
    • With respect to the template, we will build something that includes, user name and date. And than having the tool update that template would be perfect. Doc James (talk · contribs · email) 23:17, 6 May 2019 (UTC)
      • Sounds good, lets keep this on hold until that part is ready? — xaosflux Talk 13:36, 7 May 2019 (UTC)

Adding whitespace to a page to force a "null edit" is just sloppy and creates a mess out of the wikitext. I'd suggest using a subpage (e.g. Wikipedia:VideoWiki/Gout/chagngelog) to record updates. -FASTILY 01:11, 15 May 2019 (UTC)

@Fastily: agree - I think where we left this is that actual useful templates would be in place, and the bot will just remove them/mark them "done" - the whole "logging via edit summary" is not ideal either. — xaosflux Talk 03:38, 15 May 2019 (UTC)

Okay we have the {{ReadShow}} template rolled out. The bot will than add the following to the top of the article:

{{ReadShow |read = |show = Human voice added by [[User:]] on DATE}}

Doc James (talk · contribs · email) 07:41, 17 May 2019 (UTC)

  • I think this review will be a lot easier with some sample edits so lets see a trial   Approved for trial (30 edits or 30 days). . — xaosflux Talk 13:41, 23 May 2019 (UTC)

Xinbenlv bot

Operator: Xinbenlv (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 06:29, Wednesday, February 20, 2019 (UTC)

Function overview: User:Xinbenlv_bot#Task 1: Notify (on Talk page) cross language inconsistency for birthdays.

Automatic, Supervised, or Manual: Automatic

Programming language(s): Javascript

Source code available: [5]

Links to relevant discussions (where appropriate): Wikipedia:Village_pump_(technical)/Archive_166#Cross_Lang_Conflicts

Edit period(s): daily or twice a week

Estimated number of pages affected: 30 per day to begin with, can increase to 100 per day if community sees it helpful. Speed is completely controllable. Overall, there are a few thousands between major wikis like EN - JA(~3000), EN - DE(~5000).

Namespace(s): Talk

Exclusion compliant (Yes/No): Yes

Adminbot (Yes/No): No

Function details:

The bot will notify editors by writing a new section on Talk page of a subject, if that subject has inconsistent birthdays in this and another wikipedia languages.

The data of inconsistency comes from a public available dataset Github, called Project WikiLoop. An example edit looks like this

- Notifying French Editors fr:Utilisateur:Xinbenlv/sandbox/Project_Wikiloop/unique_value/Discussion:Samuel_Gathimba
- Notifying English Editors en:User:Xinbenlv/sandbox/Project_Wikiloop/unique_value/Talk:Samuel_Gathimba


  • {{TakeNote}} This request specifies the bot account as the operator. A bot may not operate itself; please update the "Operator" field to indicate the account of the human running this bot. AnomieBOT 06:49, 20 February 2019 (UTC)
Fixed, changed to User:Xinbenlv. Xinbenlv (talk) 06:54, 20 February 2019 (UTC)
  • {{TakeNote}} This bot appears to have edited since this BRFA was filed. Bots may not edit outside their own or their operator's userspace unless approved or approved for trial. AnomieBOT 06:49, 20 February 2019 (UTC)
@Anomie, @AnomieBOT, Sorry, I mistakenly used my bot account to create its BRFA, it was me manually. The only bot auto edits are those in its User page. Xinbenlv (talk) 06:52, 20 February 2019 (UTC)
Don't worry about it Xinbenlv. I've struck it now as the notice isn't relevant. --TheSandDoctor Talk 04:17, 21 February 2019 (UTC)
Thank you, that makes sense. I also updated the Not for operator. Let me know if I've not done it right. @TheSandDoctor. Xinbenlv (talk) 07:18, 21 February 2019 (UTC)
This bot is helping on cross-language inconsistency therefore it shall be editing other languages, how should I apply for global bot permission? Xinbenlv (talk) 06:53, 20 February 2019 (UTC)
@Xinbenlv:, m::BP should be what you're looking for. RhinosF1(chat)(status)(contribs) 16:16, 20 February 2019 (UTC)
Thank you RhinosF1 thank you!. it seems the m::BP requires the bot to obtain local community permission and keep it running locally for a while. Therefore, I think I shall apply for approvals from multiple local communities each individually for now. Do I understand it correctly? Xinbenlv (talk) 18:48, 20 February 2019 (UTC)
Xinbenlv, That's how it read to me aswell. It's probably best to make them aware anyway before launching anything that will affect them in a big way (e.g. mass notifications being issued). You don't want to cause confusion. RhinosF1(chat)(status)(contribs) 19:01, 20 February 2019 (UTC)
RhinosF1 Thanks, agreed! That's why I am asking advice and approval in English Wikipedia so this most active community can help take a look of my (wild?) idea. Xinbenlv (talk) 19:07, 20 February 2019 (UTC)
Xinbenlv, I think it's a great idea. RhinosF1(chat)(status)(contribs) 19:25, 20 February 2019 (UTC)
Thanks everyone who are interested. Just so that you know, the bot has two trial edits on German wiki, as encouraged by the BRFA discussion. Feel free to take a look and advice is welcomed! Xinbenlv (talk) 21:59, 21 February 2019 (UTC)
Added Xinbenlv (talk) 17:15, 25 February 2019 (UTC)
    1. How often is the dbase updated? Could this potentially result in one page receiving multiple notices simply because no one has either seen or cared enough to fix the missing information?
Datebase will be updated on a daily / weekly basis, currently still in development. I plan to also rely on "Xinbenlv_bot" to surppress articles that already been touched by the same bot. Xinbenlv (talk) 17:15, 25 February 2019 (UTC)
This seems like a reasonable task to deal with cross-wiki data problems, just want to get a better feel for the size and scope of the task. Primefac (talk) 20:26, 24 February 2019 (UTC)
Thanks @Primefac: If I apply to change the bot scope to be "=<200 edits in total" for first phase, what do you think? Xinbenlv (talk) 21:37, 24 February 2019 (UTC)
The number of edits per day/week/month can be discussed, I'm just looking for more information at the moment. Primefac (talk) 21:47, 24 February 2019 (UTC)
What can I do to provide the information you need? Xinbenlv (talk) 02:04, 25 February 2019 (UTC)
Just looking for some numbers. I assume you know where to find them better than I would. Primefac (talk) 02:07, 25 February 2019 (UTC)
@Primefac: The EN-JA file contains around ~3000 inconsistencies of birthdays, the EN-DE contains around ~5000 inconsistencies. To begin with, I think we can limit to 100 - 200 edits on English Wikipedia. Xinbenlv (talk) 16:47, 25 February 2019 (UTC)

@Xover's suggestion regarding using maintenance template

Would adding a maintenance template (that adds a tracking category) be a viable alternative to talk page notices? It might be more effort due to the inherently cross-project nature of the task, but talk page notices are rarely acted on, is extra noise on busy talk pages, and may cause serious annoyance since the enwp date may be correct (it's, for example, the dewp article that's incorrect) and the local editors have no reasonable way to fix it. A tracking category can be attacked like any gnome task, and the use of a maint template provides the option of, for example, flagging a particular language wikipedia as having a verified date or specifying that the inconsistency comes from Wikidata. In any case, cross-project inconsistencies are an increasingly visible problem due to Wikidara, so kudos for taking on this issue! --Xover (talk) 18:41, 25 February 2019 (UTC)

@Xover: thank you. So far, I am applying to 5 different wikis for botflag in the same time. I received 3 suggestions:
1. use template and transclusion
2. add category
3. put it as a over article "cleanup" message box or Talk page message.
For the #1 and #2, there is consensus amongst all responding communities (EN, DE, ZH, FR). So now the trial edits on these communities are using template and category, see ZH examples:
For #3, put it as an over article "cleanup" message box, the DE community some editors prefer a Talk page message, while some prefer over-article message box. My personal opinion is that we can start slow, do some Talk page message (like 200) for trial edits, and then when they looks good, we can start to approve for allowing the bot to write over article messages? The reason being, I hope it demonstrate more stability before writing on (article) namespace. Especially for such high impact wikis of English wikipedia.
By the way, the format I prepare for English wikipedia is actually a maintenance template at User:Xinbenlv_bot/msg/inconsistent_birthday, could you take a look, @Xover:?
Xinbenlv bot (talk) 22:09, 25 February 2019 (UTC)
Well, assuming the technical operation of the bot is good (no bugs) maint. templates in article space are generally less "noisy" than talk page messages (well, except the big noisy banners that you say dewp want, but that's up to them). I suspect the enwp community will prefer the less noisy way, but I of course speak only for myself. In any case, I did a small bit of copyediting on the talk page message template. It changed the tone slightly, so you may not like it, and in any case you should feel free to revert it for whatever reason. Finally, you should probably use {{BAGAssistanceNeeded}} in the "Trial edits" section below. --Xover (talk) 05:22, 26 February 2019 (UTC)
There was a consensus to stop InternetArchiveBot from adding talk page notices. I suspect that if this bot were to start running that there would be a similar consensus to stop adding the same. My suggestion is not to do #3. --Izno (talk) 23:29, 29 March 2019 (UTC)

Trial Edits now available (in sandbox)

Dear all admins and editors,

I have generated 30 trial edits in sandbox, you can find them in en:Category:Wikipedia:WikiProject_WikiLoop/Inconsistent_Birthday. I also generated 3 trial edits in real Talk page namespace

Please take a look. Thank you!

Xinbenlv (talk) 00:13, 26 February 2019 (UTC)

Update: [6] shows editor @LouisAlain: who happens to be the creator of en:Gaston_Blanquart, which is one of our 3 trial edits, update the birthday and death date on English Wikipeda. Xinbenlv (talk) 08:22, 1 March 2019 (UTC)
Update : generated 10 more trial edits in Talk namespace, I will actively monitor them. Xinbenlv (talk) 08:33, 1 March 2019 (UTC)
Dear Admins and friends interested in this topic @RhinosF1:, @Primefac:, @Xover:, @TheSandDoctor:, how do I proceed to apply for the bot status? Xinbenlv (talk) 00:38, 7 March 2019 (UTC)

Confess - realized trial edits before trial approval

{{BAG assistance needed}}

Dear Admin, I just realize English Wikipedia requires trial edits approval before running trial edits, which I already did for 9 edits in (Article) namespace. Shall I revert the trial edits? I am sorry Xinbenlv (talk) 21:13, 15 March 2019 (UTC)
@Xinbenlv: don't revert if they were good edits. — xaosflux Talk 13:49, 20 March 2019 (UTC)
@Xaosflux:, OK, thank you! By the way, is there anything else I need to do other than just wait for people to comment? It seems the discussion has halted.
How should I get trial approval?
Xinbenlv (talk) 18:08, 20 March 2019 (UTC)
Xinbenlv You just have to wait for a a member of the bot approvals group to come and approve a trial. Galobtter (pingó mió) 15:07, 22 March 2019 (UTC)

Discussion Redux

Could I just verify something? I notice that all of the sandbox trials are placing what appear to be talk page sections, while it sounds like the majority of participants (on multiple languages) feel either a maintenance template or category are more appropriate to fix this issue.

In other words, the template you've made looks like it's a wall of text that (as mentioned previously) users aren't generally thrilled about dealing with. Is there another way to make this template look more like a "maintenance" template? Maybe just the intro line ("An automated process has determined...") and the table, with instructions to remove when checked? Something that can be placed at the top of a talk page? Primefac (talk) 20:16, 4 April 2019 (UTC)

@Primefac: thank you for your question.
Message box My understanding of consensus is the other way around, for example in EN Wiki, My suggestion is not to do #3. --Izno.. In German on de:HD:Personendaten after a long discussion they reached a consensus that a talk page section (not look like a message box) is preferred in their opinions.
Category: The category is in place, see en:Category:Wikipedia:WikiProject_WikiLoop/Inconsistent_Birthday, this is added by including the template.
Actually I have an iteration that does message-box like notification but then was suggested to change to talk page section.
Something that makes this process very challenging is this is a cross language project so we are trying to accommodate suggestions from different language of Wikis while try to keep them as aligned as possible so we can effectively maintain them across languages. See FAQ m:User:Xinbenlv_bot

─────────────────────────   On hold. I feel there's a sweet spot to be had. A short message done through a template would be ideal.

== Possible Wikidata issue==
{{Inconsistent Interwiki/Wikidata Issue<!-- Come up with a better name than this please
 |lang1=fr |subject1=Ernst Joll |date1=1902-06-19
 |land2=en |subject2=Ernst Joll |date2=1902-09-10
Automated notice by ~~~~

@RexxS and Pigsonthewing:, you're the resident Wikidata experts here. Could you come up with a template that scales generalize to other Interwiki/Wikidata conflits? @Xinbenlv: feel free to participate in those efforts too. Until that template is designed, I'm going to put this on hold. Headbomb {t · c · p · b} 05:21, 9 April 2019 (UTC)

Thank you, agreed Xinbenlv (talk) 19:01, 15 April 2019 (UTC)
@Headbomb and Xinbenlv: It's quite difficult to shorten the documentation by much, but I've made a demo at User:Rexxbot/msg/Inconsistency. It takes 11 named parameters, because if you want to generalise it to other inconsistency issues, you need to supply the name of the issue as well as the other parameters. Here's an extract from the rudimentary documentation that I knocked up:
| issue    = birth date
| lang1    = en
| article1 = Ernst Joll
| value1   = 1902-09-10
| lang2    = fr
| article2 = Ernst Joll
| value2   = 1902-06-19
| bot      = Xinbenlv bot
| date     = 28 April 2019
| status   =
| by       =
You can see what it produces by looking at the documentation page at User:Rexxbot/msg/Inconsistency/doc.
If it's any use to you, please feel free to hack at these pages until you have something to your liking and/or take it for your own bot space (no attribution needed). Let me know if you want me to fix any of it. Cheers --RexxS (talk) 21:40, 28 April 2019 (UTC)
@RexxS: I've made a small tweak. The headers should be made by the bot, since we want those to give editable sections. Or at least sections that are editor-friendly. For the rest, I'm generally indifferent to the output and exact functionality, although the eyes of @Pigsonthewing and Xinbenlv would be appreciated to see if the design of the template is solid and scaleable. If everyone agrees it's a good design (and agree on a template name, e.g. {{Interwiki issue}}), we can proceed to trial. There's an option to have that as a wrapper template to create issue-specific sub-templates, but that might be a case of over engineering. Headbomb {t · c · p · b} 21:48, 28 April 2019 (UTC)
@RexxS: also tweaked the 'by' parameter to take a signature instead. Headbomb {t · c · p · b} 21:56, 28 April 2019 (UTC)
@Headbomb: That's fine, but I was under the impression that the template would only be deployed by the bot, so it really isn't likely to care what the template is called  . --RexxS (talk) 21:57, 28 April 2019 (UTC)
Well the bot wouldn't really care, but it's less WTF-y to have a template in template space for this. It could be in the bot's userspace, but that makes it a bit harder to find if similar bots are deployed in other languages, which may harm some internationalization efforts. Not a huge issue, but might as well do things right when we can. Headbomb {t · c · p · b} 22:01, 28 April 2019 (UTC)
That makes sense, even though the only technical difference between template space and any other namespace is you don't have to include the namespace prefix when transcluding it. You're right though, if you're anticipating using this sort of template with other bots, then template space is the best place for ease of location. Good thinking. --RexxS (talk) 22:19, 28 April 2019 (UTC)

{{OperatorAssistanceNeeded}} Headbomb {t · c · p · b} 01:16, 13 May 2019 (UTC)

thank you!. @Headbomb:,
  1. we expect to provide more than 2 inconsistency languages, such as 3 - 5, what will the template look like in that case?
  2. we hope to ensure cross-language consistency, if this template is going to be internationalized and copied to other languages Wikis, what is a best way to do so?
Xinbenlv (talk) 04:59, 13 May 2019 (UTC)

For 1, I believe you can just scale |lang1/article1/value1= to |lang3/article3/value3= etc. RexxS can confirm. For 2, no idea. It's good to think about, but that's not a blocker for the English Wikipedia or this bot. Headbomb {t · c · p · b} 05:06, 13 May 2019 (UTC)

@Headbomb and Xinbenlv: I'm pretty certain that it will scale gracefully to more languages, but I'd really recommend getting the bot working and approved before trying to modify it. It's far easier to get approval for improvements once there's evidence of it already working on a simpler task or smaller scale. As for internationalisation, you can call the Lua module Module:Complex date] to render dates in the wiki's language if that's the part you feel may need translating, as long as the module is available on the wiki you're working on. I assume that you've already taken care of the article titles in other languages. Beyond that, you just need to translate the text and documentation. Cheers --RexxS (talk) 16:48, 13 May 2019 (UTC)
Then once the template is moved to the Template namespace to its 'official name' (i suggest {{Interwiki issue}}, but it could be something else),   Approved for trial (10 edits).. Headbomb {t · c · p · b} 17:10, 13 May 2019 (UTC)
@RexxS:, very helpful, in particular the date internationalisation that I haven't think o.
@Headbomb: thanks for granting the trial edits. Xinbenlv (talk) 03:46, 15 May 2019 (UTC)
Sorry for my late arrival to this discussion. Xinbenlv, will there be some way for a user to mark the template, so that it is removed from the tracking category, but not retagged? For instance, when the date on enwp is confirmed as correct. Also, how does the dataset accommodate different calendars, such as when one wiki may list a date in the Gregorian calendar and another in the Julian? StudiesWorld (talk) 21:11, 30 May 2019 (UTC)
Yes!, @StudiesWorld: there are in the template if you mark fixedBy=someone Xinbenlv (talk) 22:11, 30 May 2019 (UTC)
Xinbenlv, great! Have you run the trial yet? StudiesWorld (talk) 22:26, 30 May 2019 (UTC)


Operator: Yurik (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 01:08, Saturday, April 27, 2019 (UTC)

Function overview: Copied from Multilingual Templates and Modules

  • DiBabel bot will copy templates and modules from to all other sites/languages listed in Wikidata for that page, automatically changing the template and module names.
  • It will be copied ONLY if Wikidata item has "instance of" set to Wikimedia multi-site page (Q63090714).
  • It will be copied ONLY if the current content of the page exists in the history of's (origin) version. E.g. if a user modifies English version of the page, it will not be overwritten unless that exact text ever existed in the history of the page on To resume automatic synchronization, a user must copy the latest version of the page from Note that simply reverting a page to an older version will not be enough to prevent a bot from copying it again. A page has to be different from any of origin's revisions (e.g. add a note why the page was modified).
  • Any template names will be automatically localized inside the wiki markup, e.g. {{MW name|...}} text will become {{Localized name|...}}, as long as Template:MW name exists on, and it has a corresponding template on the destination wiki. Shared templates should not use non-shared templates, as that may cause unexpected results.
  • Just like templates, modules text require('Module:MW name') will be converted to require('Module:Localized name').

Automatic, Supervised, or Manual: automatic

Programming language(s): python

Source code available: PyWikiAPI +

Links to relevant discussions (where appropriate):

Edit period(s): on a page change with a delay

Estimated number of pages affected: Depends on the demand. Currently about 5 pages, but once templates and modules are implemented with the new system, more. The bot will only touch pages specifically created for it. See {{Shared_Template_Warning}} and it's history for an example.

Namespace(s): Template, Module

Exclusion compliant No: the bot will copy anything from to enwiki, as long as that page is tagged for its operation. If a user modifies enwiki's version in any way, including adding a {{bot}} flag, the bot will not override it because it will not match any of the page's revision history on On the other hand, if has a shared page with the {{bot}}, that content will be copied as is, because that's the intention of the page's author.

Function details:


How do you plan on maintaining attribution for edits made on other projects that you plan to "copy" here? — xaosflux Talk 01:25, 27 April 2019 (UTC)
@Xaosflux: The only page where I repeatedly tested this system - Template:Shared_Template_Warning -- shows how recent changes will look like - as you can see it copies the user name(s) who made the change, and the comments added. --Yurik (talk) 01:49, 27 April 2019 (UTC)
P.S. Technically I do not plan to "copy" anything :) It is the users who want to use a shared templates or a module on enwiki that drives this process. Before this bot, that user would copy/paste a template, and maybe translate it, and almost never will update it to the latest version. With this approach, bot takes care of the copy/pasting and template rename modifications. --Yurik (talk) 01:55, 27 April 2019 (UTC)
Please list the "5 pages" you have as a sample below. — xaosflux Talk 01:29, 27 April 2019 (UTC)
I'm not the bot operator, but ...
From d:Special:WhatLinksHere/Q63090714:
  1. Template:Graph:Lines (currently different)
  2. Module:TNT
  3. Template:Graph:Chart/styles.css (currently different)
  4. Template:Shared Template Warning
* Pppery * has returned 01:40, 27 April 2019 (UTC)
I manually ran this bot on two pages -- Template:Shared_Template_Warning and once on Module:TNT. The above pages (graph lines and css for charts) will not be copied automatically until they are made identical with the mediawiki copy. As shared template/module library grows, and as users decide to use them on enwiki, the number of such pages will grow. For now, this bot will only affect a tiny number of manually selected pages. --Yurik (talk) 01:48, 27 April 2019 (UTC)
May I suggest that you add a check that the revision on that you are syncing from is newer than the lastest revision of the template you are syncing to to stop the bot from edit warring if a human editor reverts the bot's edit? * Pppery * has returned 02:21, 27 April 2019 (UTC)
That wouldn't work, think of this order of events:
1) mw updated rev5 -> rev6. 2) bot syncs rev6 to enwiki. 3) enwiki reverted to rev5. 4) mw is updated to rev7. 5) bot sees that current enwiki's rev5 matches an older version of mw, and copies rev7.
I think this is a very rare edge case, and it would be far better to actually modify enwiki's version, e.g. add a comment at the top saying that "this is a fork of the original because of XXX", rather than a simple revert. Plus, we can easily add an instruction to do that as part of the {{Shared Template Warning}} message. --Yurik (talk) 02:45, 27 April 2019 (UTC)
Indeed ... * Pppery * has returned 03:00, 27 April 2019 (UTC)
I have a small doubt. If the bot is currently blocked for running a script without permission, will this permission be approved? Adithyak1997 (talk) 11:09, 30 April 2019 (UTC)
@Adithyak1997: see the talk page -- JJMC89 wrote If BAG approves it for trial, then I have no problem unblocking it.. I think it is a bit strange to block a bot that runs in a manual mode and edits just one page -- as required by many wikis to demonstrate that the bot is trustworthy, but different rules are different rules. Besides, this point would be moot once the bot flag is granted. :) --Yurik (talk) 03:38, 1 May 2019 (UTC)
I'm unblocking, as @Yurik: has acknowledged that they understand the rules here (if if they don't agree with them!). — xaosflux Talk 19:24, 1 May 2019 (UTC)
  • I was going to send this to trial, but then started writing out some questions and decided that they should probably get answered first...
    1. Let's just hypothetically say that a dozen new templates get added to your "list of templates to be automatically synced" - how will you notify other editors that this is happening?
    2. Do the enwiki editors even get a say in whether this auto-syncing is approved?
At the moment, I'd say that auto-updating Module:TNT is fine since it is used cross-language, but I'm starting to be wary of just randomly doing this to other templates/modules. Primefac (talk) 15:03, 5 May 2019 (UTC)
  • Primefac valid questions, thx. Answering in order:
  1. This kind-of already happened, but hasn't caused any issues because I manually inspect (dry-run) every new template added to make sure it won't cause any issues. Plus the bot will not copy if there is an unshared dependency. In a more general sense, there are several ways for template/module authors to be aware, plus a few ideas:
    • when template is marked as shared, corresponding wikidata entry will change, causing notification
    • pages should have a {{Shared Template Warning}} added to their docs (causing notification), and we could even require the bot to make sure the warning exists in the docs, and don't copy when it doesn't. For templates we could alternatively require the warning to be part of the template itself (inside the <noinclude>) to simplify things - and to cause notification when it is first added.
    • bot could always mark edits as "non-minor", thus always notifying everyone interested even if they filter out minor edits
    • eventually, bot could even require the mediawiki version to pass all test cases (I already added them to TNT and No globals) - thus making shared templates adhere to a higher coding quality from the start.
  2. Of course - if enwiki editor makes any changes to enwiki version of the module, even adds a single comment, e.g. "don't update", the bot will not touch enwiki because it won't be able to find corresponding revision in MW. Without an exact match, those enwiki pages won't be edited.
In general, bot flag will hide edits from RC, but won't hide them from watched lists, thus only people interested and knowledgeable in the specifics of a given template/module would be notified. Hope this answers your questions, thx! --Yurik (talk) 19:57, 5 May 2019 (UTC)
P.S. note that bot will not be able to update protected pages. In order to notify language community of a needed change, I could make the bot modify the /doc page - e.g. add a parameter to {{Shared Template Page}} (not implemented yet). Having that parameter will show an additional message in the warning box, e.g. "This protected page has not yet been updated to the latest version", and add some category. --Yurik (talk) 22:34, 5 May 2019 (UTC)
  A user has requested the attention of the operator. Once the operator has seen this message and replied, please deactivate this tag. (user notified) are there any results and summary of the trial? — xaosflux Talk 18:14, 16 June 2019 (UTC)

SportsStatsBot 2

Operator: DatGuy (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 18:49, Thursday, April 4, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available:

Function overview: Automatically update football (soccer) players' career statistics

Links to relevant discussions (where appropriate):

Edit period(s): Every 15 minutes

Estimated number of pages affected: Unsure

Exclusion compliant (Yes/No): No

Already has a bot flag (Yes/No): Yes

Function details: I've been holding a few tests over at the testwiki. Runs a check every 15 minutes. Uses data from (provided from Opta Sports)


  • Looking over the contributions at testwiki, that page doesn't appear to have any sources. How exactly would you add sources for these edits here on enwiki? --DannyS712 (talk) 04:52, 7 April 2019 (UTC)
  • Unless the plan is for a subset of footballers, there are more than 100,000 football biographies, so I think you'd want to think about how often the statistics need to be updated (even once a month would be in the range of tens of thousands of edits a month, depending on whether it is offseason of course) and discuss at WT:FOOTBALL. Galobtter (pingó mió) 07:44, 7 April 2019 (UTC)
  • The plan is for a case-by-case basis starting out. Afterwards if all goes well, I'll seek to gain consensus on categories for a specific league/country before mass-implementing any changes. Dat GuyTalkContribs 13:30, 7 April 2019 (UTC)
    @DatGuy: You say "case-by-case basis starting out" - what pages do you intend to start out with? --DannyS712 (talk) 00:52, 10 April 2019 (UTC)
Probably some Championship players. Dat GuyTalkContribs 11:03, 11 April 2019 (UTC)


What length/type of trial would you prefer, DatGuy? I am open to suggestions in this case. --TheSandDoctor Talk 19:50, 27 April 2019 (UTC)

@TheSandDoctor: Most of the major leagues are ending soon. There's three Serie A matchdays remaining, so maybe a trial for a player on a team in that league? Dat GuyTalkContribs 12:49, 30 April 2019 (UTC)

  Approved for trial (10 edits). @DatGuy: As per usual, take all the time that you need to complete this trial and post the results here when done (preferably diffs or perma link to contribs section). --TheSandDoctor Talk 18:20, 2 May 2019 (UTC)

I'm going to be away for a few days soon. I'll start the trial ~ the 9th. Dat GuyTalkContribs 11:07, 4 May 2019 (UTC)
TheSandDoctor The bot will run on Gabriel Barbosa and Luan Garcia. Dat GuyTalkContribs 15:51, 11 May 2019 (UTC)
@DatGuy: would you mind using big-endian / or an ISO 8601 like date format in your edit summaries, just to head of any future complaints? — xaosflux Talk 02:05, 28 May 2019 (UTC)
  Done, Dat GuyTalkContribs 11:25, 28 May 2019 (UTC)
  • So about the citations... In edits such as this it looks like you are updating a table that is already cited, to a source that is older than your 'as of' new date stamp. So, it looks like the citation no longer matches the article text but is being left there. How can this be improved? — xaosflux Talk 15:33, 28 May 2019 (UTC)
  A user has requested the attention of the operator. Once the operator has seen this message and replied, please deactivate this tag. (user notified) can you comment on the question above? — xaosflux Talk 18:13, 16 June 2019 (UTC)

Bots that have completed the trial period

DeltaQuadBot 6

Operator: DeltaQuad (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 17:47, Tuesday, May 21, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: Github

Function overview: RevDels non-free orphaned revisions

Links to relevant discussions (where appropriate): Wikipedia:Bots/Requests for approval/RonBot, Replacement request

Edit period(s): Daily, maybe more

Estimated number of pages affected: Unlimited

Exclusion compliant (Yes/No): Yes

Already has a bot flag (Yes/No): Yes

Already has a sysop flag (Yes/No): No (needed)

Function details: Files that have been tagged with the Orphaned non-free revisions template for over 7 days populate the category Category:Non-free files with orphaned versions more than 7 days old - often the result of DatBot 6. The bot will revision delete the unused non-free files, leaving just the current file showing. Finally the template is removed from the description. Bot need Admin Flag as it uses Revision Delete.

This will be an exact replica of RonBot.


Adminbots and WP:AN listings placed for commentary. — xaosflux Talk 17:55, 21 May 2019 (UTC)
@DeltaQuad: do you anticipate any issues with your other active tasks (for example if you were relying on page protection to prevent an edit that may now be able to be completed, will grants need to be regenerated)? — xaosflux Talk 17:59, 21 May 2019 (UTC)
All three active tasks have specific pages they edit only, they will not interfere with any protections. -- Amanda (aka DQ) 20:31, 21 May 2019 (UTC)
@DeltaQuad: what authentication mechanism will you be using for this task? Will you be able to additionally secure this bot with 2FA? — xaosflux Talk 17:59, 21 May 2019 (UTC)
Task-based individual bot password with 2FA on the main account (as my main account already has had 2FA for ages). -- Amanda (aka DQ) 20:31, 21 May 2019 (UTC)
Sorry to be clear the bot account would be secured with 2FA, but still use bot passwords seperated between admin and regular tasks. -- Amanda (aka DQ) 06:05, 22 May 2019 (UTC)
Have you considered creating a separate adminbot account for this task, so your other tasks won't be running with admin rights? Anomie 22:07, 21 May 2019 (UTC)
It's always a possibility, but with Bot Passwords, it makes it easier to restrict what rights are able to be used, and I can even force this task to only use certain admin tools. -- Amanda (aka DQ) 22:19, 21 May 2019 (UTC)
Note: For information on bot passwords, see Wikipedia:Using AWB with 2FA. These passwords have 2 advantages over normal login:
  1. It requires knowing the user-generated bot name (distinct from user name, not shown in logs) in addition to the password, which is computer-generated
  2. The user can restrict the rights of the bot password. For example, a bot password under an admin account can allow deleting pages but not creating them. עוד מישהו Od Mishehu 05:41, 22 May 2019 (UTC)
  1. I've cleared up above that yes, I'd be using the bot password with 2FA on the bot account. -- Amanda (aka DQ) 06:07, 22 May 2019 (UTC)
Seems fine given this is replacing an existing proven adminbot task. As it is a replacement, should the admin right be removed from RonBot after it is added to DeltaQuadBot? WJBscribe (talk) 13:03, 22 May 2019 (UTC)
@WJBscribe: I'd want to hear from User:Ronhjones first. RonBot would otherwise maintain task authorization to restart, and I'm not seeing much problem with these bots operating in parallel. If the entire bot, or just the task is being retired, removing then unnecessary permissions is ideal. — xaosflux Talk 13:31, 22 May 2019 (UTC)
Ron (and his bot) have been inactive for over a month. I was contemplating taking over the task as well since he is inactive. — JJMC89(T·C) 14:37, 22 May 2019 (UTC)
@JJMC89: same type of comment, I'm not seeing any collision problems between multiple bots doing this task - we probably don't need TOO many of them, but have a working pair shouldn't be an issue. — xaosflux Talk 15:00, 22 May 2019 (UTC)
The question is: is the code written such that, if both bots ran at the same time, there wouldn't be any conflict or significant diuble work? עוד מישהו Od Mishehu 15:23, 22 May 2019 (UTC)
There would be overlap in work, but I'm not sure about the potential for collisions. Either way if Ron did bring it back, I'd be willing to defer to him. -- Amanda (aka DQ) 18:14, 22 May 2019 (UTC)
I don't intend to do so now since DQ's on it. Just wanted to note that I also saw the need for another bot to take over the task in Ron's absence. Regular edit conflicts should handle the file page edits. The only possible place for conflicts would be doing the RD at the same time. At worst, there could (untested hypotheses based on a human admin being able to do the same thing for regular deletion) be multiple log entries with the second won not actually doing anything. — JJMC89(T·C) 18:33, 23 May 2019 (UTC)
  • @DeltaQuad: Estimated number of pages affected: Unlimited - I understand this is an open-ended job, however based on prior bots can you estimate the edits/actions per day/run? — xaosflux Talk 00:36, 23 May 2019 (UTC)
  • @DeltaQuad: if approved for trial, are you ready to start? — xaosflux Talk 00:37, 23 May 2019 (UTC)
    • @Xaosflux: I would start with a manual run, then a run around the start of the UTC day every day, and see how that goes and adjust as needed. Also would this be a dry trail or a wet trial? A dry one I'd need a day or two to modify the code to output messages only. Otherwise I'm good whenever. -- Amanda (aka DQ) 01:25, 23 May 2019 (UTC)
      • Wet, with careful supervision and review. — xaosflux Talk 01:48, 23 May 2019 (UTC)
        • I don't see anything of concern here - this is replacing an approved adminbot using the same code, by a highly trusted user. Let's see a brief shakedown. Please make sure that each run is carefully supervised as Xaosflux mentions above.   Approved for trial (3 days). SQLQuery me! 03:13, 23 May 2019 (UTC)
  •   Bureaucrat note: @SQL and DeltaQuad: - temporary admin access has been added to support the trial. — xaosflux Talk 03:16, 23 May 2019 (UTC)
  • As I write this, round 1 is running. I forgot to change the edit summaries, so I'll do that when the run is done. I'm also going to be looking to run this every hour so the backlog is kept to a minimum and little resources are used on Toollabs with one larger one holding up other tasks. The first run took 30 minutes. The code could also use a massive cleanup, without affecting any operations. I will get around to that. -- Amanda (aka DQ) 20:14, 23 May 2019 (UTC)
  • With round 2, it took just over 7 minutes. Partially because it was redoing work from earlier today. I made a change to the template involved to recategorize things, so the bot would not be reprocessing what it's already flagged for human intervention. No other problems reported so far. -- Amanda (aka DQ) 05:08, 24 May 2019 (UTC)
  • I did a quick 3rd run for 17 files, and it took 3.5 minutes. Definitely better timing, but the more the load is reduced the better. -- Amanda (aka DQ) 06:31, 24 May 2019 (UTC)
  • A quick fourth run was completed earlier within about 30 seconds. If the category is normally this empty, then I can see why this was only ran once a day. I also provided clarification on my talkpage on what the bot flags on. -- Amanda (aka DQ) 04:56, 25 May 2019 (UTC)
  • This morning we had a fifth run with 30 files in the category, and it took ~5 minutes to complete. I likely won't be running it again manually before the trail is complete, so   Trial complete.. -- Amanda (aka DQ) 14:40, 25 May 2019 (UTC)

Provisional Approval?

The bot has completed it's trial - and I know that especially with adminbots, we typically give a fair bit of time for comments. The category is getting backlogged again already - and I haven't seen an issue with any of the bots deletions that I've checked thusfar. I know it's extremely unusual (But this is already an extremely unusual situation - a bot running on already approved, and proven code operated by a highly trusted editor), but would it be possible to allow the bot a 'provisional approval' to continue operating while we wait for comments? SQLQuery me! 04:11, 26 May 2019 (UTC)

I personally think this is good to go. Any outstanding concerns, Xaosflux? Indeed this same task and code has been battle-tested in the wild under RonBot, so risk seems low and it's a much needed task. MusikAnimal talk 04:38, 26 May 2019 (UTC)
I was going to "second" this, but you beat me to it MusikAnimal. So....I guess that leaves me to "third" it?   --TheSandDoctor Talk 04:46, 26 May 2019 (UTC)
I'm not too concerned with the category getting a little backlogged while we wait on the approval. That said, as an admin that frequently works with non-free media, everything looks good to me. — JJMC89(T·C) 06:11, 26 May 2019 (UTC)
As another admin who deals with non free stuff I've looked through the files the bot has tagged for human review and am satisfied that it is working as required, so I'd be in favour of giving the bot the green light. Nthep (talk) 09:27, 26 May 2019 (UTC)
I'm don't see a "backlog" being an argument, but I haven't seen any issues here either. @SQL: if you think it's good to go I won't muck around with a "provisional approval" process - if you want it to be monitored for a while, then use 'extended trial' for say a month. — xaosflux Talk 13:55, 26 May 2019 (UTC)
  Approved for extended trial (30 days).. Run the bot, let people comment, and we'll see if there are any issues at the end of June. As a   Bureaucrat note: I have extended the temporary admin status of the bot for the month. Primefac (talk) 14:12, 26 May 2019 (UTC)
  • Just a note that I am moving the bot to a server tomorrow to run on its own. I have been running the bot manually by hand each day and supervising it's results. Without any issues, I'm going to leave it to run unsupervised and not dependent on me. -- Amanda (aka DQ) 05:11, 7 June 2019 (UTC)
  • Given that I am having to minimize my activity, I do not want to forget about this and have it cause issues. Given there has been absolutely zero comments since the trial extension, I would like to request that this be considered   Trial complete. and we look at full approval. -- Amanda (aka DQ) 05:11, 20 June 2019 (UTC)
    Looks good to me. — JJMC89(T·C) 06:01, 20 June 2019 (UTC)

WikiCleanerBot 5

Operator: NicoV (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 08:49, Saturday, June 15, 2019 (UTC)

Function overview: Fix some WP:WCW errors using WPCleaner

Automatic, Supervised, or Manual: Automatic

Programming language(s): Java (WPCleaner)

Source code available: On GitHub

Links to relevant discussions (where appropriate): Wikipedia:Bots/Requests for approval/PkbwcgsBot

Edit period(s): Twice a month, with the dump analysis that I already perform, see Wikipedia:Bots/Requests for approval/WikiCleanerBot.

Estimated number of pages affected: A few thousand articles for the initial runs spread over a few sessions, then normally only a few dozen or hundreds each time.

Namespace(s): Main

Exclusion compliant (Yes/No): Yes

Function details: As PkbwcgsBot hasn't been run for several months, I'd like to take over some of the tasks that Pkbwcgs was performing with WPCleaner. This request is a part of Wikipedia:Bots/Requests for approval/PkbwcgsBot. It includes automatically fixing part of some WP:WCW errors:

  • CW Error #2: tags with incorrect syntax. The list of articles that the bot will check comes from CheckWiki list #2 (currently 617 articles) and from Wikipedia:CHECKWIKI/WPC 002 dump (currently 725 articles): only some articles will be fixed, only the simple ones (like false </br> tags).
  • CW Error #16: unicode control characters. The list of articles that the bot will check comes from CheckWiki list #16 (currently 2508 articles): only some articles will be fixed, only the simple ones.
  • CW Error #17: category duplication. The list of articles that the bot will check comes from CheckWiki list #17 (currently 6328 articles) and from Wikipedia:CHECKWIKI/WPC 017 dump (currently 8449 articles): only some articles will be fixed, only the simple ones (like exact category duplication with same sort key). For example, on the first 100 articles in Wikipedia:CHECKWIKI/WPC 017 dump, 70 are modified.
  • CW Error #85: tags without content. The list of articles that the bot will check comes from CheckWiki list #85 (currently 831 articles): only some articles will be fixed, only the simple ones.
  • CW Error #88: DEFAULTSORT with a blank at first position. The list of articles that the bot will check comes from CheckWiki list #88 (currently 349 articles): only some articles will be fixed, only the simple ones.
  • CW Error #90: internal link written as an external link. The list of articles that the bot will check comes from CheckWiki list #90 (currently 5715 articles): only some articles will be fixed, only the simple ones.
  • CW Error #91: interwiki link written as an external link. The list of articles that the bot will check comes from CheckWiki list #91 (currently 2100 articles): only some articles will be fixed, only the simple ones.


  Approved for trial (140 edits). Please run 20 edits for each proposed task. Primefac (talk) 12:31, 15 June 2019 (UTC)

Thanks ! Here are the results:
  Trial complete.. --NicoV (Talk on frwiki) 14:17, 15 June 2019 (UTC)

qbugbot 3

Operator: Edibobb (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 05:01, Friday, March 29, 2019 (UTC)

This will edit pages created by qbugbot 2, updating references, photos, common names, and a few minor edits. Not all changes will be made to all pages, and some pages will not be changed.

Automatic, Supervised, or Manual: Automatic

Programming language(s):

Source code available: Yes. I will update User:Qbugbot/source before the first test.

Links to relevant discussions (where appropriate): There have been some comments, requests, and edits over the past year that have motivated to do this, but I have not requested a consensus on ToL. I think it will be non-controversial.

Edit period(s): 8-24 hours per day.

Estimated number of pages affected: 17,000

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes

Function details:

Qbugbot2 created around 18,000 pages about a year ago. I'd like to make corrections and updates to these pages. These changes are a result of comments and page edits. Edits made to these pages since they were created will be preserved. The first 100+ edits by this bot will be reviewed manually.

1. "Further reading" and "External link" references will be updated, and in most cases cut back or eliminated. Any references in Further reading and External links that were created with the page will be removed and replaced with the new references from the current qbugbot database. This will provide fewer and more specific references in these areas. Any reference added by other editors will be retained as is. References are matched by title, or by authors and year. This item will affect most pages, and has been the source of most negative comments about qbugbot articles.

2. If the prose, infobox, and inline refererences have not been edited since an article was created, it will be updated with the following changes:

  • Wording in the prose may be updated, usually for the distribution range or common names, sometimes to correct errors.
  • Inline references will be updated. Sometimes more specific references will be added, and sometimes non-specific references may be removed (such as EOL, some redundant database references, and some database references without specific data on the article.)
  • The database sources for lists of taxonomic children (species list, etc.) will be removed. While this information might be handy, it makes it difficult for people to update the list. When list is edited, the source database information tends to be omitted.
  • Occassionally, the taxonomic information and children will updated.

3. Photos will be added if they are available and not already on the page. This will affect a minority of pages. The Photos have been manually reviewed.

4. Unnecessary orphan and underlinked tags will be removed.

5. External link to Wikimedia commons will be updated to handle disambig links properly, without displaying the "(beetle)" in something like "Adelina (beetle)"

6. The formatting of many references has been improved, correcting errors, adding doi's, etc. These will be updated in most cases. If the references has been edited since creation, it will not be changed.

Here is an example of a page editing manually using bugbot 3 content: Muellerianella


  • You say that this will edit around "17,000" pages, despite creating ~18,000 - why not edit the other 1,000? --DannyS712 (talk) 20:29, 29 March 2019 (UTC)
Some pages have been changed so much that the bot can't successfully revise them without altering other people's edits, something I'd rather not do automatically and something that's probably not necessary in pages with significant additions. Some other pages won't need any of these changes, either because the changes have already been made through manual edits, or because the original pages happened not to need them. I am just estimating the 1,000 pages. It could be more or less than that. Bob Webster (talk) 00:38, 30 March 2019 (UTC)
I looked at this and decided to postpone it for another update. The main problem is that I could see no easy way to determine what was described in 1956 (or any year) -- insects? moths? spiders? animals? beetles? North American millipedes? I was also considering narrowing down some of the categories (bees to sweat-bees, etc.) as some editors have been doing, but I haven't found a reliable list of categories to use. The same thing applies the -stub templates. I would prefer to do these three tasks in another bot session. Bob Webster (talk) 03:00, 31 March 2019 (UTC)
Having done some of this categorisation [caveat: not so much recently], I have to agree that this problem exists, and there are various schemes of parent categories that are in use if the category you are assigning needs to be created. One could put everything into a higher level category, to await sorting, but I see no great advantage. I would accept it as WP:WORKINPROGRESS. William Avery (talk) 08:56, 1 April 2019 (UTC)
That's correct. Bob Webster (talk) 22:02, 7 April 2019 (UTC)

  Approved for trial (50 edits). Since I fixed a crapton of those citations myself, I'm rather enthusiastic about qbugbot cleaning up after its own mess. Headbomb {t · c · p · b} 05:25, 9 April 2019 (UTC)

  •   Trial complete. 50 pages were updated, and are listed on the bot talk page. I found and fixed a couple of bugs. One prevented the introduction from being updated sometimes, and the other was a minor line spacing error. Bob Webster (talk) 23:04, 10 April 2019 (UTC)
{{BAG assistance needed}} Bob Webster (talk) 04:04, 17 April 2019 (UTC)
@Edibobb: what exactly is the criteria for removal/addition here? Headbomb {t · c · p · b} 05:54, 17 April 2019 (UTC)

Also, see...

Headbomb {t · c · p · b} 05:42, 17 April 2019 (UTC)

I've significantly reduced the number of references in further reading in new pages created by qbugbot. This was a manual, subjective process. The pages edited in qbugbot3 will have the original further reading references replaced with this new set. If a further reading reference has been added by an editor since page creation, it will be included in the edited page. The inline citations of qbugbot have also been updated. If the text of a page has not been edited, the original set of inline citations will be replaced.
I've corrected the references you listed, and fixed the problem of ending up with the same references in both inline citations and further reading.
Bob Webster (talk) 14:53, 17 April 2019 (UTC)
Also, EOL inline citations are removed even if the text has been edited. Bob Webster (talk) 14:56, 17 April 2019 (UTC)
@Edibobb: I think that given the number of articles/citations affected, it would be a good idea to have a sandbox version of all references that will be used. Then you (or I, if you don't know how) could run citation bot on them, and see what the improvements are, and those could get implemented, reducing the future cleanup load. Headbomb {t · c · p · b} 15:12, 17 April 2019 (UTC)
I think that would be good. I don't know how to run the citation bot, but I've copied all the citations to these sandbox pages. Can you run the bot on them? (A few of the citations are leftover and will never be used. It's easier to fix them all than sort them out, so don't worry if you see a few weird titles and dates.) Thanks!
Bob Webster (talk) 15:56, 17 April 2019 (UTC)
User:Citation bot/use explains the various methods. Right now the bot is blocked, so only the WP:Citation expander gadget works. I'll run the bot on these pages though. There's an annoying bug concerning italics and titles though, so just ignore that part of the diffs that will result. Headbomb {t · c · p · b} 16:01, 17 April 2019 (UTC)
@Edibobb: could you upload in batches of 250 citations? The bot chokes on pages so massive. Headbomb {t · c · p · b} 16:15, 17 April 2019 (UTC)
No problem, they're up now on User:Edibobb/sandbox/ref1 through User:Edibobb/sandbox/ref15 Bob Webster (talk) 17:36, 17 April 2019 (UTC)
@Edibobb: The bot still crashes. Could you do 100 per page? Headbomb {t · c · p · b} 19:58, 17 April 2019 (UTC)
@Headbomb: They're up now, 100 per page, User:Edibobb/sandbox/ref1 to User:Edibobb/sandbox/ref36 Bob Webster (talk) 23:09, 17 April 2019 (UTC)

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.

Denied requests

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.

Expired/withdrawn requests

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.