Open main menu

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.

New to BRFA? Read these primers!
 Instructions for bot operators

Current requests for approval

MilHistBot 5

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

Time filed: 01:57, Tuesday, October 22, 2019 (UTC)

Function overview: Assess articles that need a full B-Class checklist.

Automatic, Supervised, or Manual: Automatic

Programming language(s): C#

Source code available: Phabricator (Not yet uploaded)

Links to relevant discussions (where appropriate): Wikipedia talk:WikiProject Military history/Coordinators#Bot proposal

Edit period(s): Daily

Estimated number of pages affected: 25,000

Namespace(s): Talk

Exclusion compliant (Yes/No): Yes

Function details: The Bot will go through a specified number of articles in Category:Military history articles with missing B-Class checklists and add the assessments, based on a set of heuristics. Articles will be graded as Start, C or B. The {{MILHIST}} template will be updated. It is anticipated that initial runs will be manual, with small numbers of articles affected, and the results checked. In production, the Bot will check up 1,000 articles per day, clearing the maintenance backlog over the course of a month. Thereafter, the number of articles processed will be small, of the order of 10-100 per day. Hawkeye7 (discuss) 01:57, 22 October 2019 (UTC)


SteveBot 8

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

Time filed: 23:05, Sunday, August 18, 2019 (UTC)

Function overview: Updated categories and articles based on results of requested moves.

Automatic, Supervised, or Manual: Automatic, Supervised

Programming language(s): AutoWikiBrowser

Source code available: AWB

Links to relevant discussions (where appropriate):

Edit period(s): Manually run as needed

Estimated number of pages affected: Open ended, depending on the requests at hand

Namespace(s): Article, Article talk, Category and Category Talk

Exclusion compliant (Yes/No): Yes

Function details: I'm someone that closes a lot of requested moves discussions (see my move log, for example). Sometimes these discussions may involve a consensus to move many pages, doing so manually is a bit time consuming (see Talk:List_of_current_United_States_senators#Requested_move_11_August_2019 for example. I'd like permission to run an AutoWikiBrowser task to update the categories of articles and perform page moves in these circumstances. I'd only run this task with my bot if the discussion had excessive pages involved to perform manually. Steven Crossin Help resolve disputes! 23:05, 18 August 2019 (UTC)


{{BAG assistance needed}} - could I have this one looked at if possible please - I feel it might have been overlooked? Steven Crossin Help resolve disputes! 23:30, 12 September 2019 (UTC)

Out of curiosity, what sort of ballpark editing frequency are you looking at? Is this something that you see happening once a day, week, month, etc? Also out of curiosity, why strike the Article moves from the request? Primefac (talk) 23:52, 12 September 2019 (UTC) (please do not ping on reply)
@Primefac: - I wouldn't say its something I'd do far too often - I'd probably only do this on requests that have a lot of categories to update. I removed moving articles or categories from the request as I looked up the AWB manual and it states that moves in AWB can only be done by admins, which I nor this bot are. Steven Crossin Help resolve disputes! 00:02, 13 September 2019 (UTC)
  • Okay, been thinking about this, and I'm a little confused (and/or just super-dense). I can see wanting to use AWB for moving mass numbers of articles following a large RM, but don't bots handle the moving and updating of categories following a CFD? With the removal of the "article move" portion of this request, what is actually being proposed here? Primefac (talk) 12:51, 14 September 2019 (UTC) (please do not ping on reply)
    Yes, existing bots handle categories listed at WP:CFD/W, after being discussed at WP:CFD or listed at WP:CFD/S. — JJMC89(T·C) 17:57, 14 September 2019 (UTC)
    I was thinking more for updating categories following a requested move, rather than a CFD, which happens sometimes. An example of where I had to do this is here [1]. I guess I could subsequently list it at CFD to get done if this isn't desired bot behaviour separate to what currently is done via CFD? Steven Crossin Help resolve disputes! 12:40, 22 September 2019 (UTC)

Bots in a trial period

YiFeiBot 2

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

Time filed: 05:20, Tuesday, September 3, 2019 (UTC)

Function overview: Wikipedia:WikiProject Guild of Copy Editors/Requests archival

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python: pywikibot

Source code available: toolforge:yifeibot/

Links to relevant discussions (where appropriate): Wikipedia_talk:WikiProject_Guild_of_Copy_Editors/Requests#Bot_integration? and Wikipedia_talk:WikiProject_Guild_of_Copy_Editors/Requests#Feedback_requested_on_proposed_bot

Edit period(s): Hourly scan, usually none matches the archival criteria anyways

Estimated number of pages affected: If something is archived, it is usually two pages, the request page, and the archive year subpage like Wikipedia:WikiProject Guild of Copy Editors/Requests/Archives/2019. In the case when requests are submitted from two different years, then two archive year subpages are affected. There is no upper bound in code to the number of archive year subpages affected; however, the affected pages must have already been created.

Namespace(s): Wikipedia

Exclusion compliant (Yes/No): Yes, this is handled ungracefully (unhandled exception)

Function details: The bot performs actions in two stages, the parsing and the archiving.


  • The bot shall read Wikipedia:WikiProject_Guild_of_Copy_Editors/Requests and find all sections.
  • For each section it records:
    • The level 2 section header line number, the level 3 section header (as the target page of 'copy editing')
    • The start and end line numbers
    • Any capitalized, word-seperated, 'copy edit purpose' acronyms
    • The first line with both a link to user page / user talk page and a timestamp, as the requester and request time. This line must occur before the status templates
    • Any line with {{done}} or {{partly done}} with a link to user page / user talk page and a timestamp, as the list of copy editors
    • Any line with {{done}} or {{declined}} or {{withdrawn}} with a timestamp, as the status of the section and the copy edit completion date


  • For each section that was parsed:
    • The section much have been 'marked for archival' in its status
    • Check that the completion time must be at least a day ago
    • Find the quarter year table in the relevant archive page
    • Find a position within the table where the archive row should be added, sorted by the date of request, and break ties with the last addition last
    • Insert the table row into position
    • Remove the level 3 section from source page, and if level 2 section contains no other level 3 sections, the level 2 section header is removed. It is assumed that the level 2 section contains no other contents prior to starting a level 3 section.
  • Save any modified pages.

The example edits of this bot: Special:Diff/913781416 Special:Diff/913781433. The one day cooldown was disabled during this run.

I, Zhuyifei1999, provide the code and the running environment for this bot. Bobbychan193 shall be the point of contact for the 'functionality' of this bot. --Zhuyifei1999 (talk) 05:20, 3 September 2019 (UTC)


  • CC people who have participated in the discussion. @Baffle gab1978, Reidgreg, Dhtwiki, Masumrezarock100, and Miniapolis: --Zhuyifei1999 (talk) 05:20, 3 September 2019 (UTC)
    • Great job! It handled the test cases well, and I like how the copy editor can place the purpose acronym(s) on the done line (in case the requester didn't use a valid acronym). One thing I forgot to mention in the earlier discussion is the possibility of a request by an IP editor. These are pretty rare (and may require some manual tweaking on the archive table so the requester column isn't too wide). If the bot has difficulty handling an IP rather than a registered username, or if the bot can't parse enough data from a section, it might be best for the bot to not attempt an archive of that section and a human editor can do it manually. – Reidgreg (talk) 14:40, 3 September 2019 (UTC)
      • It should handle IP requests fine, since it matches user talk links, as long as they are signed. By too wide you mean those IPv6 addresses right? Would you give an example 'truncated name' and the criteria which the name should be truncated?
      • The current algorithm for determining the requester is to find the first line with both a link and a timestamp. This could overlap with the line from the copy editor. I'll fix that tomorrow so that the requester line must come before a status template line --Zhuyifei1999 (talk) 05:02, 4 September 2019 (UTC)
  • Looks all good! Asking for attention of BAG. {{BAG assistance needed}} Masum Reza📞 15:09, 5 September 2019 (UTC)
    filed two days ago, please be patient. Primefac (talk) 01:03, 6 September 2019 (UTC)
    Sorry, I don't really know how these things work. Masum Reza📞 12:50, 14 September 2019 (UTC)
  •   Approved for trial (100 edits or 14 days). Primefac (talk) 12:45, 14 September 2019 (UTC)
Sorry, I did not see this message due to IRL work. I will be starting the run tonight --Zhuyifei1999 (talk) 21:47, 18 September 2019 (UTC)
Running every hour at 52 minute mark. I don't believe it will hit 100 edits with this timeframe of 14 days. @Primefac: Shall I run till October 3 or September 28 for test run? --Zhuyifei1999 (talk) 03:55, 19 September 2019 (UTC)
It's one or the other, whichever happens first. The day length is to see how often it happens, the edit limit is to keep the numbers from getting too big. Primefac (talk) 13:53, 19 September 2019 (UTC)
Noted; I've changed a partly done template to Not done to avoid archiving. Thanks for your hard work, Zhuyifei1999. Cheers, Baffle☿gab 19:31, 22 September 2019 (UTC)
@Baffle gab1978: I don't think partly done actually triggers archival. In theory, it's simply something that the bot takes into account when archiving (to list multiple contributors). So, I would change it back. Bobbychan193 (talk) 19:55, 22 September 2019 (UTC)
I confirm ^ --Zhuyifei1999 (talk) 01:05, 23 September 2019 (UTC)

  Trial complete. 14 days since {{BotTrial}}. I will check the edits soon. --Zhuyifei1999 (talk) 00:49, 29 September 2019 (UTC)

20 edits 10 archivals. I could not see anything that is obviously wrong. Please correct me if I'm wrong. --Zhuyifei1999 (talk) 03:19, 29 September 2019 (UTC)
The trial is done, though I'm not sure if it was supposed to go until 9/28 or 10/3. Bobbychan193 (talk) 20:28, 30 September 2019 (UTC)
It looks good to me. I've also checked the edits, and the bot neatly handled one case I hadn't anticipated. It summarized the essential data onto the archive table, sorted by request date, with no human cleanup required. Considering how sloppy the input data is, it's impressive to see the bot produce nice clean output. – Reidgreg (talk) 19:47, 2 October 2019 (UTC)
  • I'm happy with the trial results; the bot has performed its tasks well without problems. Could it leave a more helpful edit summary on the Requests page and the archive page? Something like; "Bot: Archiving requests for The Moon, The Earth and The Sun" would be great. That would help identify edits in page history; for example, if the requester fails to use a recognized acronym (GAN), or if the bot or a human does something unexpected. Cheers, Baffle☿gab 01:34, 3 October 2019 (UTC)
    Ok, I'll implement this either tomorrow or over this weekend. I can also add the purpose to the edit summary, something like 'Bot: Archiving requests for The Moon (GAN), The Earth, and The Sun (declined)' (where The Earth was done without 'purpose' found). Would that be better? --Zhuyifei1999 (talk) 03:08, 3 October 2019 (UTC)
That would be useful; thank you. I'm thinking of ways we search and identify particular edits from the page history. People don't always edit the ways we'd like and we don't always notice when things go wrong, so anything that helps with problem-solving is going to be useful. Thank you. :) Cheers, Baffle☿gab 06:09, 3 October 2019 (UTC)
Ok I did that. Need a test run. --Zhuyifei1999 (talk) 02:16, 7 October 2019 (UTC)
{{BAG assistance needed}} I think it's been a week. Bobbychan193 (talk) 05:33, 8 October 2019 (UTC)
@Zhuyifei1999 and Bobbychan193: Just to be clear: you are requesting an extended trial, correct? --TheSandDoctor Talk 01:24, 12 October 2019 (UTC)
@TheSandDoctor: Yes. --Zhuyifei1999 (talk) 04:08, 12 October 2019 (UTC)


  Approved for extended trial (100 edits or 14 days). whichever comes first. @Zhuyifei1999: if you would like different terms for the extended trial, please let me know. --TheSandDoctor Talk 06:15, 12 October 2019 (UTC)
@TheSandDoctor: Thanks for granting the extended trial. I've pinged all of the GOCE coordinators in a discussion at the GOCE talk page. (Feel free to visit or chime in.) Bobbychan193 (talk) 07:09, 12 October 2019 (UTC)
Thanks. I re-added it to cron --Zhuyifei1999 (talk) 07:23, 12 October 2019 (UTC)


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

Time filed: 12:12, Saturday, August 10, 2019 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: Standard pywikibot: Source code at User:PearBOT/Aircraft specs/source

Function overview: Converting instances of the deprecated template {{aircraft specifications}} to {{aircraft specs}}

Links to relevant discussions (where appropriate): Wikipedia talk:WikiProject Aircraft#Template:Aircraft specs merger bot, Wikipedia:Templates for discussion/Log/2019 March 20#Template:Aerospecs

Edit period(s): One time run, probably with secondary run(s) when problems encountered by the bot has been fixed manually and the bot handles more edge cases.

Estimated number of pages affected: The template has 1868 transclusions. The bot will only be able to convert about half without human assistance, in a secondary run where problems have been manually fixed and/or the bot can handle more edge cases up to a few hundred more could be converted.

Exclusion compliant (Yes/No): Yes

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

Function details: The bot will go through all transclusions of {{Aircraft specifications}} replacing the template with {{Aircraft specs}} after reformatting the information to be compatible with the new template. If the bot encounters anything unexpected it will skip the page and report the problem at User:PearBOT/Aircraft specs problems. After the original run editors can fix problems listed there (usually unit problems or extra text in parameters that usually only contain a number and a unit) or I can make the bot handle more edge cases and perform a secondary run converting more templates.


A lot of people in that discussion believe that this is too complex for a bot. Are they wrong? Jo-Jo Eumerus (talk, contributions) 15:17, 10 August 2019 (UTC)
Jo-Jo Eumerus There were many editors expressing concerns about difficulties with the conversion, but I believe my solution can satisfy all of these concerns by skipping a lot of pages and changes to the template (currently in an edit request). I've tagged everyone who participated in the TfD discussion at Wikipedia talk:WikiProject Aircraft#Template:Aircraft specs merger bot giving them a chance to review test edits and noone has objected to it in it's current state. The biggest issue in the TfD seemed to be double rounding leading to less precise figures, which was a major concern with the old version of the template, but now after I've modified {{aircraft specs}} it's a much smaller issue. It now use the parameter values if they're avalible which makes all figures the same before and after the conversion. For values not in the pre conversion templates there could still be double conversions, but since adding values in units (usually Knots and Nautical miles) not previously displayed is an unambigous improvement I believe this would be acceptable. If it's not acceptable the bot will only be able handle a few without some manual assistance, but even in this case the bot can still do most of the work. --Trialpears (talk) 20:14, 10 August 2019 (UTC)
Edit request is now completed. --Trialpears (talk) 23:12, 25 August 2019 (UTC)
{{BAGAssistanceNeeded}} The template changes are complete, there has been no objections at WT:AIRCRAFT and there's been two weeks. I think it's time for a trial. --Trialpears (talk) 16:03, 26 August 2019 (UTC)
  •   Approved for trial (50 edits). Please do not mark the edits as minor - I'd like as many eyes on this conversion as possible due to the previous issues and concerns. Primefac (talk) 00:06, 1 September 2019 (UTC) (please do not ping on reply)

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: [2]

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: [3] 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)

{{OperatorAssistanceNeeded}} Headbomb {t · c · p · b} 04:17, 6 August 2019 (UTC)

@StudiesWorld:, hi yes we conducted some trial runs on other languages and is still in debate of what's the best format to notification. Xinbenlv(t) please notify me with {{ping}} 00:19, 8 August 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)
{{OperatorAssistanceNeeded}} can you comment on the question above? — xaosflux Talk 18:13, 16 June 2019 (UTC)
@Xaosflux: Very sorry about the delayed response/hiatus in editing. Before adding a page I'd check if there's a reference, and if not add it. I've also fixed a bug. Can the trial be restarted and for ~6 edits? Thanks. Dat GuyTalkContribs 05:14, 18 July 2019 (UTC)
@DatGuy: so in the edit I mentioned above, you changed content, but that content was already cited. Your changed content is newer than the existing citation - so it should no longer be supported by the citation that you are leaving there. — xaosflux Talk 11:58, 18 July 2019 (UTC)
Xaosflux, I don't think I understand. {{Soccerway}} would be used as a reference on pages the bot runs on, as is in Gabriel Barbosa. The website automatically updates after every match. Does that make sense? Dat GuyTalkContribs 05:44, 19 July 2019 (UTC)
@DatGuy: OK, in this edit there is a table, it is already cited, wtih a citation from 2019-03-25. You changed the data in the table to be about an event on 2019-04-04 - how is your new content still supported by that citation? — xaosflux Talk 11:23, 19 July 2019 (UTC)
Xaosflux, do you mean the BBC Sport reference? The other {{NFT player}} template is dynamic. Dat GuyTalkContribs 08:32, 25 July 2019 (UTC)
Yes the reference that is current referencing that chart. — xaosflux Talk 11:36, 25 July 2019 (UTC)

───────────────────────── To be honest, the BBC Sport reference isn't necessary. It's nice to have since the player had only played one international game and the article is more detailed, but it could work only with the reference, since that one automatically updates on the same page. Dat GuyTalkContribs 20:19, 1 August 2019 (UTC)

@DatGuy: what's the status of this request? Any updates? --TheSandDoctor Talk 07:32, 19 October 2019 (UTC)
@TheSandDoctor: Well, the bot still works hypothetically. I'm not too sure where this request is currently sitting in the RFA process though. Dat GuyTalkContribs 08:58, 19 October 2019 (UTC)

Bots that have completed the trial period

Qbugbot 4

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

Time filed: 21:25, Tuesday, September 24, 2019 (UTC)

Function overview: This will resolve self-redirect links in arthropod articles by replacing the redirect page with a new article when possible (around 76% of the time) or by de-linking the self-redirect link.

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):

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

Estimated number of pages affected: 5,500 max

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes

Function details: I would like to use qBugbot to resolve some self-redirects in arthropod articles. For clarity, and because it confuses me, when page A links to page B, and page B is a redirect page pointing back to page A, I am saying that page A contains a self-redirect link to page B.

About 585 arthropod articles contain self-redirect links pointing to 5428 redirect pages, excluding links to article subsections.

Here is what I am proposing:

  • A self redirect link in a monotypic genus to its sole species will be de-linked in the genus page.
  • Other self-redirects to species will have the species articles created to replace the redirect.
  • Self-redirect links to genus pages will have an article created to replace the redirect page.
  • Self-redirects to tribes, subfamilies, superfamilies, and higher ranks will be de-linked in general, but some of these articles may be created by the bot after manual review.
  • Self-redirects to families will generally have the article created to replace the redirect, but these pages will be manually reviewed (113 cases).
  • Self-redirect links in Automatic Taxaboxes and Speciesboxes will not be handled by the bot.

New articles can be created for about 4147 of 5428 redirect pages. The other 1253 or so are questionable for one reason or another. For them, the self redirect links will be de-linked and the redirect pages left unchanged.

A list of articles with self-redirect links is on the Qbugbot talk page.


{{BAG assistance needed}}

  •   Approved for trial (50 edits). Seem to recall that this is a trusted op with a good handle on edits, but let's make sure there are no bugs (pun intended). Primefac (talk) 12:51, 12 October 2019 (UTC)
  Trial complete. No major problems were encountered. Most edits replaced redirect pages with new articles. One edit removed some links from an existing article, Acerella. I inadvertently did 51 edits instead of 50 due to a mental malfunction.
In future runs, the bot will add WikiProject templates to talk pages of articles that replace redirect pages and do not already have the templates. (I forgot about that.) I'll add WikiProject templates to those pages in this trial run when the bot gets authorization. I didn't do it now because I'm not sure whether it would be considered additional edits.
Bob Webster (talk) 16:25, 14 October 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}}.

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.