Jump to content

Wikipedia:Bots/Requests for approval

From Wikipedia, the free encyclopedia

New to bots on Wikipedia? Read these primers!

To run a bot on the English Wikipedia, you must first get it approved. Follow the instructions below to add a request. If you are not familiar with programming, consider asking someone else to run a bot for you.

 Instructions for bot operators

Current requests for approval

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

Time filed: 15:51, Thursday, September 18, 2025 (UTC)

Function overview: Find maintenance tags to date by using searches as well as categories

Automatic, Supervised, or Manual: Automatic

Programming language(s): Perl

Source code available: User:AnomieBOT/source/tasks/TagDater.pm

Links to relevant discussions (where appropriate): User talk:AnomieBOT#Getting the bot to deal with instances of maintenance templates accidentally added with CURRENTMONTH and CURRENTYEAR instead of the actual month/year

Edit period(s): Continuous

Estimated number of pages affected: Depends how often people do things that match the searches

Namespace(s): Articles

Exclusion compliant (Yes/No): Yes

Function details: This is an extension to AnomieBOT's existing TagDater task. Previous BRFAs: 49, 55, 57, 72, 81.

The task currently finds maintenance tags for dating by looking at first-level subcategories of Category:Wikipedia maintenance categories sorted by month and Category:Wikipedia categories sorted by month. These categories don't pick up all incorrectly dated tags, for example User:Graham87 has been manually going through this search to find incorrectly dated tags (using |date={{CURRENTMONTHNAME}} {{CURRENTYEAR}} instead of a correct month and year) that don't make it into the categories.

Discussion

Initially the search used will be similar to this one (but via the Action API, of course), but I may add additional searches if more relevant patterns come to my attention.

The logic for actually doing the dating is unchanged (although AnomieBOT 55 and AnomieBOT 81 probably won't apply to pages found by search, 55 because there's no need and 81 because there's no category to check). As such, it may be worth a speedy approval here, since in the worst case (the search somehow returns a lot of false positives) the results will be no different than when MediaWiki doesn't promptly remove a page from one of the categories. Anomie 15:51, 18 September 2025 (UTC)[reply]

I already thought of some additional searches, looking for things like date={{CURRENTMONTHNAME}} 2025 or date=January {{CURRENTYEAR}}. There currently exists one of the former in Special:Permalink/1299301053. 😀 Anomie 16:09, 18 September 2025 (UTC)[reply]
Ewwww! Fixed (even though my edit summary there had its own problems). Thanks again for doing this. I didn't take super-detailed notes but a few of these seemed to come in clusters of similar insertion dates for some reason (Parsoid wibbles maybe)? This (slow) edit summary search shows most of the ones that I dealt with. Graham87 (talk) 16:29, 18 September 2025 (UTC)[reply]

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

Time filed: 12:58, Tuesday, September 16, 2025 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: GitHub

Function overview: Update US settlement census data

Links to relevant discussions (where appropriate): Request 1 · Request 2

Edit period(s): Yearly; new estimates released yearly

Estimated number of pages affected: Unknown, likely low 10 thousands

Exclusion compliant (Yes/No): Yes

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

Function details:

  • Doesn't add to a template if it sees there are multiple of it on the same page
  • Doesn't overwrite info if it is same age or newer

Discussion

Supervised Test 1 & Supervised Test 2 Scaledish! Talkish? Statish. 13:06, 16 September 2025 (UTC)[reply]

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

Time filed: 22:16, Saturday, September 13, 2025 (UTC)

Function overview: ClerkBot will keep a running log of protection actions that are taken as arbitration enforcement (AE) actions on behalf of the Arbitration Committee (sample). ClerkBot will also notify admins if they take AE protection actions that forget to specify which arbitration case their AE action arose from (sample).

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python

Source code available: GitHub repo

Links to relevant discussions (where appropriate): Wikipedia:Arbitration/Requests/Motions#CTOP/AE_page_protection_logging (current permalink)

Edit period(s): Daily

Estimated number of pages affected: Approximately 1-10 per day (the log page, plus one user talk page per admin who has neglected to specify the WP:CTOP under which the AE action was taken). For a rough upper bound, 73 admins have taken at least one AE protection action this year.

Namespace(s): Wikipedia and User talk

Exclusion compliant (Yes/No): No

Function details: This bot maintains the table currently present at User:ClerkBot/AE protection report (which may move to Wikipedia:Arbitration enforcement log/Protections if the currently pending ArbCom motion passes). Specifically, the bot examines every protection action taken since its last run (specifically, new protections and modified protections, not unprotections). If it appears based on the edit summary to be an Arbitration Enforcement (AE) action, it logs the action to the table.

It also attempts to determine the topic code that applies to the action based on the edit summary. If the protection edit summary links to the appropriate contentious topic page as required by the pending motion, or one of several other heuristics allows the bot to detect the appropriate topic code, then it automatically logs the topic code. If not, then the bot will notify the protecting admin of the protection action(s) that require manual labeling (sample). The notifications will only become active if the pending motion, which requires that the protection action link to the applicable contentious topic page (e.g., WP:CT/BLP), passes.

If the motion passes, the functionality of the bot will be mandated by ArbCom's procedures (it requires that protection actions will be automatically logged at Wikipedia:Arbitration enforcement log/Protections).

The bot is not exclusion compliant, as the notifications should not be subject to opt-out because they relate to recent administrator actions that will not have complied with ArbCom's procedure relating to the appropriate way to log protection actions.

Discussion

  • For BAG's information, I am currently running this as an exempt bot in the bot's userspace, with the table living at User:ClerkBot/AE protection report and the notificatons going to User:ClerkBot/AE protection report/notifications dryrun. If the motion passes, the bot will need to update Wikipedia:Arbitration enforcement log/Protections and the notifications will go live to admins. Best, KevinL (aka L235 · t · c) 22:16, 13 September 2025 (UTC)[reply]
  • Isn't this a bit premature to file a BRFA before the motion has passed or being anywhere near a majority? Tenshi! (Talk page) 16:14, 14 September 2025 (UTC)[reply]
    I don't think so, for two reasons.
    1. Ideally, the bot would be fully ready to go (approved) by the time the motion passes, because when the motion passes, administrators will no longer need to log any protections to WP:AELOG, so it would be ideal to avoid a gap in coverage. Approving a bot takes time, so I wanted to get the process started now.
    2. Even if the motion doesn't pass, the bot could still operate the Wikipedia:Arbitration enforcement log/Protections log part (not the notifications part) under our general remit as arbitration clerks. This could be valuable to, for example, note when AE protections aren't being logged as currently required, which based on a glance seems to happen quite frequently. Running the bot as an EXEMPTBOT in the bot's userspace is a bit awkward for this purpose.
    The bot is functional and operational (though obviously its functionality might continue to get fleshed out by e.g. breaking out actions onto different pages by year or topic code), so I don't think a BRFA is hampered by a difficulty of testing the bot either. Best, KevinL (aka L235 · t · c) 21:21, 14 September 2025 (UTC)[reply]
    Thanks for replying. How would the bot handle cases where Protection Helper Bot reprotects a page? Tenshi! (Talk page) 21:47, 14 September 2025 (UTC)[reply]
    Currently, Protection Helper Bot is treated as any other admin taking any normal protection action. This means that, because it restates the original protection reason, if it is reinstating an AE action, it will be tagged in the log. (It shows up 17 times in the log so far for 2025.)
    This works great so long as the original protection reason includes the topic page link or topic code in the block summary. However, if the summary is lacking, then the current implementation would notify Protection Helper Bot. This is non-ideal functionality. I think the options are:
  1. Suppress all notifications for users that have the bot flag.
  2. Do #1, and also notify the admins on behalf of whom the bot is acting.
I will implement #1 today, and consider whether #2 is worth doing. I am leaning towards no on #2. Best, KevinL (aka L235 · t · c) 19:38, 15 September 2025 (UTC)[reply]
Now done. KevinL (aka L235 · t · c) 21:55, 18 September 2025 (UTC)[reply]

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

Time filed: 13:44, Wednesday, September 10, 2025 (UTC)

Function overview: Converting broken graphs, replacing Template:Airport-Statistics with c:Module:Airport statistics filtered. The module operates from commons.

Automatic, Supervised, or Manual: Supervised

Programming language(s): AutoWikiBrowser

Source code available: AWB

Links to relevant discussions (where appropriate):

Edit period(s): One time

Estimated number of pages affected: max of 1060 (the transclusion count of Template:Airport-Statistics), most likely less.

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes

Function details: Going over the transclusions of Template:Airport-Statistics, in alphabetical order. Using a subst switch wikicode template to replace iata, icao and faa arguments for Wikidata item ids. Wikicode template will be in my personal sandbox using data from Wikidata's Query Service. Replacing the début and start arguments with arg:début and arg:start, because the chart extension requires it. Ignoring any graphs with title parameter because those require an .chart page on Wikimedia Commons.

Template:Airport-Statistics might get mostly unused when I am done.

Example: {{Airport-Statistics|iata=RKV|width=600}} becomes {{Image frame|width=600|content={{#chart:Airport statistics filtered.chart|arg:id=Q843204}}}} (See Wikipedia:Bots/Requests for approval/Snaevar-bot 2 for rendered chart)

Discussion

Does this really need a bot? Could you instead have Template:Airport-Statistics or c:Module:Airport statistics filtered look up the needed Wikidata ID from P238, P239, or P240 depending on whether |iata=, |icao=, or |faa= was passed? Anomie 18:26, 10 September 2025 (UTC)[reply]

c:Module:Airport statistics filtered does not access the wikidata query service at all. It uses wikidata lua access. The old template uses extension:graph, so there is no looking up through an disabled extension. There is no Wikidata ID lookup possible like that. Extension:Chart supporting Wikidata's query acceess is phab:T381194.
On some pages using the connected Wikidata item would work, but there are also pages where it would not like the graph on Melilla#Transportation. The enwiki template might be able to change the "début" and "start" arguments to "arg:début" and "arg:start". That would limit the number of pages edited, but not eliminate the task entirely. I would be willing to do that research. Snævar (talk) 15:56, 12 September 2025 (UTC)[reply]
If I am to do that research and get a more accurate count of pages, then I need the bot added to Wikipedia:AutoWikiBrowser/CheckPageJSON. I need the pre-parse mode to do that research, it will not make any edits. Snævar (talk) 16:12, 12 September 2025 (UTC)[reply]
For the "arg:début" and "arg:start" thing, it seems like the template could easily take "début" and "start" and pass them through to the chart with the "arg:début" and "arg:start" naming, that's one of the things templates are really good for. For Wikidata not being able to translate an iata code back into the item ID, that seems kind of useless but would call for a bot. I found phab:T99899, which claims to have been implemented but I don't see how. OTOH, I think I'd still rather have the bot update the template call rather than embedding the #chart invocation directly in every article. Unless that's something broken in Charts that it can't be wrapped in a template? Anomie 16:22, 12 September 2025 (UTC)[reply]
I too would rather see the template edited directly — with a few articles cleaned up if necessary — than have module invocations in articles. Primefac (talk) 18:46, 14 September 2025 (UTC)[reply]

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

Time filed: 18:59, Sunday, September 7, 2025 (UTC)

Function overview: Make old AfD discussions dark mode compatible

Automatic, Supervised, or Manual: Automatic

Programming language(s): Pywikibot

Source code available: replace.py

Links to relevant discussions (where appropriate): Think this is non-controversial, but I am free to get consensus if it is required

Edit period(s): one time run

Estimated number of pages affected: Let's assume 40 AfDs per day. We need to correct everything between mid 2024 and mid 2005, which is 19 years. That works out to 19*365*40=~277400 pages 495000 per Cryptic

Namespace(s): Wikipedia

Exclusion compliant (Yes/No):Yes

Function details:

The bot will replace <span style="color:red;">'''Please do not modify it.'''</span> with <span style="color:var(--color-error, red);">'''Please do not modify it.'''</span>, as well as replace background-color: #F3F9FF; with background-color: var(--background-color-progressive-subtle, #F3F9FF);, which will make looking at old AfD archives easier for dark mode users. There are a few variations of the former which I am aware of and will ensure to include.

It will also fix a lot of instances of the "Background color inline style rule exists without a corresponding text color" lint error.

Matrix ping mewhen u reply (t? - c) 18:59, 7 September 2025 (UTC)[reply]

Discussion

I know for a fact that this will be controversial, because fixing linter errors on old AFDs had a few individuals bringing out their pitchforks. Please at the very least get a silent consensus to do this task. Primefac (talk) 19:36, 7 September 2025 (UTC)[reply]

Sure, @Primefac, could you please link an example of "individuals bringing out their pitchforks" (like a discussion somewhere) so I can assess the potential reasons for not doing this kind of task before I try to get consensus from somewhere? —Matrix ping mewhen u reply (t? - c) 20:31, 7 September 2025 (UTC)[reply]
The main one started here and ended up here. The end result was (unsurprisingly) that a vocal minority didn't like the edits but they had consensus to continue. I'm not saying that you don't have consensus for it (the RFC at least gives an indication it's not outright a problem), and one of the primary movers in that dispute has retired, but part of BOTREQ is that we should have some indication that there is a desire for these edits.
To put it another way, I personally see no issue with making useful edits which assist other editors even though the changes are minor/trivial, but with my BAG hat on I would be remiss if I didn't at least mention the pushback when "sub-sub-subpages of AfD talk pages from 2005 that literally no human will ever visit again" are edited. Primefac (talk) 21:29, 7 September 2025 (UTC)[reply]
I don't think those apply to this task. The objections to MalnadachBot wasn't that it was fixing linter errors, or that it was editing old closed AFDs, or even the combination; it was that it was editing the same page many - sometimes very many - times each, fixing one user's signature at a time. —Cryptic 18:57, 8 September 2025 (UTC)[reply]

Can you please provide a link to a couple of example edits on real pages that show both of the changes that this bot task would make? – Jonesey95 (talk) 00:55, 8 September 2025 (UTC)[reply]

I oppose this task. It's not worth running a bot to make 200,000 edits so the small number of people viewing old AfDs in dark mode see some form-letter text they most likely already know slightly better. * Pppery * it has begun... 02:46, 8 September 2025 (UTC)[reply]
@Pppery: do you know how many people use dark mode? Plus we're fixing lint errors along the way. Paving the way for a more accessible Wikipedia should be important. I don't see the cost, what is "not worth" about it? I'm doing it, I'll happily give up some of my time. —Matrix ping mewhen u reply (t? - c) 19:11, 8 September 2025 (UTC)[reply]
The question isn't the number of people who use dark mode, it's the intersection of the number of people who use dark mode and who visit old AfDs, and the latter set is pretty small in the first place. And you surely know already that large bot tasks inevitably cause people to complain as they are happening. * Pppery * it has begun... 19:13, 8 September 2025 (UTC)[reply]
@Pppery: ok let's have this discussion in VPP, I don't want to reply twice. —Matrix ping mewhen u reply (t? - c) 19:14, 8 September 2025 (UTC)[reply]
@Jonesey95: Sure. I made an example at User:Matrix/before-after-dark-mode-afd for more recent AfDs. An example for old AfDs is available at User:Matrix/before-after-dark-mode-afd-2. You won't actually notice the background change in the "after", which is because old AfDs have the "metadata" class, and crude dark mode fixes target this class, see phab:T365330. My bot won't remove this class, since the issue will be fixed by phab:T365330 anyway. —Matrix ping mewhen u reply (t? - c) 18:05, 8 September 2025 (UTC)[reply]
Thanks. I see the differences, but I don't understand the reason for them. The red text, and all other text, shows up just fine for me in both light and dark mode. Maybe I am missing something; if so, please point it out. I am skeptical of page-by-page changes to address the technical issue of bgcolor without a specified color when the page looks fine already. Is there any way to modify one of the existing classes to address this issue instead of going page by page? – Jonesey95 (talk) 18:25, 8 September 2025 (UTC)[reply]
@Jonesey95: the red is slightly different on the latter example; it now has a higher contrast with the surrounding text, and fits in with the new link colours; you can try using the WGAC contrast extension to see. You can scroll a bit at [1] to see that there are indeed linter errors on AfDs (plus a bunch of other stuff).
There is no way to modify one of the existing classes, other than place an !important rule in MediaWiki:Common.css, which creates a new host of problems (one being that we are actively trying to stop using that page). TemplateStyles would also necessitate going page by page to insert the <templatestyles /> tag, which defeats the point. —Matrix ping mewhen u reply (t? - c) 18:35, 8 September 2025 (UTC)[reply]
I know that there are Linter errors flagged; I have fixed literally millions of Linter errors since 2018. I am skeptical of some of them, however, including this background color error, since it sometimes produces false positives. I won't stand in your way if you want to fix them, though. – Jonesey95 (talk) 18:39, 8 September 2025 (UTC)[reply]
@Jonesey95: This is not a false positive; we can look at Wikipedia:Articles for deletion/Toby Lee Marshall and see there is a background color without a foreground color. We have a workaround with the selector "html.skin-theme-clientpref-night .mw-parser-output [style*='background']", but the less we use this janky workaround and actually fix issues, the better. —Matrix ping mewhen u reply (t? - c) 18:47, 8 September 2025 (UTC)[reply]

Is there a reason AfD does not use a template for the that style part? A template would have made fixing this much easier. Not a an admin, but support fixing lint errors. Also, the previous RfC was pretty clear. I don't see how we need a new lint RfC each time. The small number of people watching these old pages can safely put the ignore bot flag on their watchlist. --Gonnym (talk) 15:07, 8 September 2025 (UTC)[reply]

@Gonnym: honestly, I don't know. Probably just people in 2004 decided it should be that way, and everyone went with it. On Commons, templates aren't substituted for i18n reasons, but on enwiki this doesn't apply. Also, if we were to change that, it would probably break Twinkle, Ultraviolet and a bunch of other tools, and no one wants to deal with that headache. —Matrix ping mewhen u reply (t? - c) 18:06, 8 September 2025 (UTC)[reply]

From my 2 searches (1, 2nd one which times out), it seems that this would affect more than just AfD pages. There's a lot of talk pages with old RMs with the same markup. Tenshi! (Talk page) 18:23, 8 September 2025 (UTC)[reply]

I am limiting the scope of this task to AfDs, any other tasks will be discussed at a later date if this is successful. —Matrix ping mewhen u reply (t? - c) 18:27, 8 September 2025 (UTC)[reply]

The number of pages is closer to about 495000, FWIW. —Cryptic 19:38, 8 September 2025 (UTC)[reply]

Thanks @Cryptic: I was pretty sure my estimate would be way off, but don't know how to do SQL. —Matrix ping mewhen u reply (t? - c) 20:27, 8 September 2025 (UTC)[reply]

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

Time filed: 05:45, Tuesday, March 25, 2025 (UTC)

Function overview:

A bot that updates the IUCN Red List status of Wikipedia pages.

Automatic, Supervised, or Manual:

Automatic

Programming language(s):

Python

Source code available: https://github.com/DartAiden/IUCN_Status_Bot/tree/main

Links to relevant discussions (where appropriate): No discussion really applicable. I briefly made a request to see if anything was existing, only to receive little reply. https://en.wikipedia.org/wiki/Wikipedia:Bot_requests#IUCN_Status_Bot

Edit period(s):

Run once

Estimated number of pages affected:

Around 11,000.

Namespace(s): Wikipedia pages for species.

Exclusion compliant (Yes/No): Not really relevant.

Function details:

This is a simple script to update the IUCN Red List status of Wikipedia pages for birds, though the functionality can most likely be extended elsewhere. The IUCN Red List status is a measure of conservation status included in the species box of most birds. This bot extracts the name of the citation to ensure contiguity of editing, updates the status itself, and then updates the reference. This bot would be run once now, to standardize the citations, and once every time the Red List is updated, though it is necessary only to run it with those species that are being updated. I may add other functionality in the future, such as updating the actual pages that list statuses (List of critically endangered birds).

Discussion

Would it be worth doing this on Wikidata instead, and then have the template pull from there? — Qwerfjkltalk 12:41, 27 May 2025 (UTC)[reply]
I wrote a bot once that did sommat similar updates by querying the IUCN API. There was sufficient adverse editor pushback that I retired the bot.
Trappist the monk (talk) 13:49, 27 May 2025 (UTC)[reply]
What was the nature of the pushback? Zanahary 21:16, 27 May 2025 (UTC)[reply]
Convenience links: Wikipedia:Bots/Requests for approval/Monkbot 19, User talk:Trappist the monk/Archive 23#Monkbot Task 19 - IUCN statusNovem Linguae (talk) 21:23, 27 May 2025 (UTC)[reply]
Thanks. Looks like it was really a content dispute about whether "Critically Endangered (Possibly Extinct)" is a valid IUCN designation. Zanahary 21:34, 27 May 2025 (UTC)[reply]
AidenD, Edit period: Runce on? Primefac (talk) 13:29, 8 June 2025 (UTC)[reply]
What? AidenD (talk) 20:15, 8 June 2025 (UTC)[reply]
That is what you have listed in the edit period for this bot. I was looking for clarification because I have never heard of that sort of time frame. Primefac (talk) 20:36, 8 June 2025 (UTC)[reply]
I think they mean "Run once". – SD0001 (talk) 21:28, 8 June 2025 (UTC)[reply]
That would make sense. Incidentally, that's about the only option I didn't think of. Primefac (talk) 22:50, 8 June 2025 (UTC)[reply]
Whoops, that is what I meant. My apologies. AidenD (talk) 04:42, 9 June 2025 (UTC)[reply]
{{BAG assistance needed}} * Pppery * it has begun... 16:37, 1 July 2025 (UTC)[reply]
AFAICS, this bot would run into the same concern raised with Monkbot 19 - that it doesn't consider "PE" as a valid designation, although Template:Taxobox/species does, and therefore would overwrite the classifications of species currently denoted with a status of "PE". Is that a correct understanding? If so, probably that should be settled as a content decision in some other venue first. ProcrastinatingReader (talk) 19:02, 1 July 2025 (UTC)[reply]
It might also be possible to work around the content dispute. For example, programming the bot not to touch anything that is already PE onwiki. –Novem Linguae (talk) 23:19, 1 July 2025 (UTC)[reply]
It may also comment out new PE designations, which could then be automatically removed or uncommented on resolution of the dispute. Zanahary 02:29, 2 July 2025 (UTC)[reply]
That is a very good point. @AidenD: Would it be possible to integrate that from above before we consider any sort of trial? TheSandDoctor Talk 22:46, 2 July 2025 (UTC)[reply]
They can be manually added, the unfortunate problem is that the IUCN API does not discern between those - I can always manually add them, however. AidenD (talk) 06:17, 3 July 2025 (UTC)[reply]
What is the status of this? AidenD, have you done something to result this problem? I don't see any changes to the GitHub repo. * Pppery * it has begun... 04:59, 3 August 2025 (UTC)[reply]
Between now and when I wrote the bot, the IUCN released a new API, which luckily allows the user to discern possibly extinct organisms - I updated the stored bird species appropriately. However, the new API seems to have very little support for fetching citations annoyingly - I am hoping they update this, but for now, I do have all the most recent citations stored in the CSV file. AidenD (talk) 01:37, 6 August 2025 (UTC)[reply]
A user has requested the attention of the operator. Once the operator has seen this message and replied, please deactivate this tag. (user notified) What is the status of this? * Pppery * it has begun... 01:51, 26 August 2025 (UTC)[reply]

Bots in a trial period

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

Time filed: 21:00, Wednesday, July 2, 2025 (UTC)

Function overview:

Automatic, Supervised, or Manual: Automatic

Programming language(s): Rust/Python

Source code available: Uses mwbot

Links to relevant discussions (where appropriate): Wikipedia:Bot_requests#Redirects_related_to_those_nominated_at_RfD and Wikipedia talk:Redirects for discussion#Avoided double redirects of nominated redirects

Edit period(s): Continous

Page: Wikipedia:Redirects_for_discussion

Exclusion compliant (Yes/No): Yes (but N/A)

Adminbot (Yes/No): No

Function details:

  • Look at each RFD on each RFD Page
  • Determines whether there are any other redirects, in any namespace, that meet one or more of the following criteria:
    • Are marked as an avoided-double redirect of a nominated redirect
    • Are redirects to the nominated redirect
    • Redirect to the same target as the nominated redirect and differ only in the presence or absence of non-alphanumeric characters, and/or differ only in case
  • If the bot finds any redirects that match and which are not currently nominated at RfD, then it should post a message in the discussion (final details about the message are TBD, but the bot request outline the general point). The bot limits the length of it's message, ensuring that the RfD is not over-cluttered.

Discussion

Thanks for working on this GalStar, but it's not clear whether it is checking for redirects that differ only in the presence/absence of diacritics? Thryduulf (talk) 23:41, 2 July 2025 (UTC)[reply]

Diacritics fall under non-alphanumeric characters. GalStar (talk) (contribs) 16:48, 3 July 2025 (UTC)[reply]

Approved for trial (30 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete.DreamRimmer 06:35, 8 July 2025 (UTC)[reply]

{{Operator assistance needed}} Anything on the trial? Tenshi! (Talk page) 18:54, 4 August 2025 (UTC)[reply]

Am on vacation, expect updates in a few days. GalStar (talk) (contribs) 15:48, 11 August 2025 (UTC)[reply]
 On hold until RfD accepts my proposal to use a new templating system, one that is more friendly to bots. — Preceding unsigned comment added by GalStar (talkcontribs) 05:57, 25 August 2025 (UTC)[reply]
 On hold. For AnomieBot. Tenshi! (Talk page) 15:12, 25 August 2025 (UTC)[reply]
@GalStar: Is there a reason why you can't just use regex to find each nomination and use the information from that? For example, TenshiBot's unlisted copyright problems report looks for copyright problems in the subpages which use substed {{article-cv}} (regex: [2], although the script knows the names of the pages already, I imagine it wouldn't be too hard to get that from RfD subpages). Tenshi! (Talk page) 20:57, 6 September 2025 (UTC)[reply]
Thanks for pointing this out. I was trying to do this the "right" way with wikicode parsing, but I'll take a look at regex. GalStar (talk) (contribs) 04:13, 8 September 2025 (UTC)[reply]

Bots that have completed the trial period

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

Time filed: 18:37, Sunday, September 7, 2025 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: https://en.wikipedia.org/wiki/User:DreamRimmer/rfdsubpage.py

Function overview: For Wikipedia:Redirects for discussion, creates the subpages for discussion for each day at Wikipedia:Redirects for discussion/Log/Year Month Day, then transclude the subpage at the main RfD page. It will also create discussion subpages for the next 4 days.

Links to relevant discussions (where appropriate): Wikipedia:Bots/Noticeboard#Task_takeover

Edit period(s): Daily

Estimated number of pages affected: Subpages, RfD page

Exclusion compliant (Yes/No): No

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

Function details: Basically what's explained above.

Discussion

Approved for trial (7 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 19:00, 7 September 2025 (UTC)[reply]

{{Operator assistance needed}} Anything on the trial? Tenshi! (Talk page) 13:49, 15 September 2025 (UTC)[reply]

VWF bot made the following edits relating to this task, it also appears DumbBot returned to activity, which means there's nothing much for VWF bot to do, including creating log subpages. VWF bot tried creating a subpage for September 14 but the subpage got no parameter and no date string. Program was later fixed but didn't get a chance to create more subpages because editors created them far upfront already (+DumbBot being back).
Vanderwaalforces (talk) 15:39, 15 September 2025 (UTC)[reply]
Trial complete. Vanderwaalforces (talk) 15:48, 15 September 2025 (UTC)[reply]

Operator: Dušan Kreheľ (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 18:09, Sunday, August 17, 2025 (UTC)

Function overview: Edit the page about Slovak places.

Automatic, Supervised, or Manual: Semi-manual

Programming language(s): Wikimate, own code

Source code available: private

Links to relevant discussions (where appropriate):

Edit period(s): Occasional

Estimated number of pages affected: Max. 3000

Namespace(s): Mainspace

Exclusion compliant: No (The range of pages usually does not have such a need.)

Function details:

  • Task(s) (now):
    • Add population table (see top)
    • Update section Geography:
      • The goal is to avoid quoting from the krehel.sk domain (an older solution that is a relic of the past).
      • Rewrite with reference without source krehel.sk (partial advertising per user now).

The user also did something on other Wikipedias about Slovak places.

Discussion

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

Time filed: 03:31, Friday, September 5, 2025 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: [3]

Function overview: Fix misnested tag lints caused by striking multiline text in Wikipedia + Wikipedia talk namespaces.

Links to relevant discussions (where appropriate):

Edit period(s): One time run

Estimated number of pages affected: 11,100~ estimated, likely less due to transclusions and multiple errors on the same page. 4981~

Exclusion compliant (Yes/No): Yes

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

Function details:

  1. Goes through all misnested lint errors in Wikipedia + Wikipedia talk and adds only lint errors caused by <s> tag to a separate list to go through.
  2. Afterwards, goes through the aforementioned list and uses regex to add new tags to fix the misnested lint errors.

Discussion

  • Questions: I support this task, as misnested <s>...</s> tags are often tedious to replace. There are multiple ways in which s tags can be misnested on discussion pages.
    • Will this task apply only to multi-line misuse of the inline s tag?
    • Can you please provide some sample diffs to show how it would work? If you need to do this with the bot account, test edits might need BAG approval.
    • Also, have you considered including obsolete <strike>...</strike> tags in this work, converting them to s tags?
    • And one more thing: Why is step 1 needed? How would its output be different from this list? – Jonesey95 (talk) 00:06, 6 September 2025 (UTC)[reply]
    1. Yes, although it will fix stripped/missing end tags if it encounters any, but not any other types of misnests like this. I've put this into function details.
    2. 1, 2.
    3. No, I hadn't considered that, though I would be willing to include that in this task.
    4. By log I mean add the specific lint error to a different listvar, probably could have been better worded in hindsight. Rewritten. Tenshi! (Talk page) 00:35, 6 September 2025 (UTC)[reply]
    Thanks. Diff 1 incorrectly added a tag, causing the line "Some of the certification cells are center aligned." to be struck when it was not struck before. That looks like a bug to me. The appearance of the lines following "A pound sign and an abbreviation to go along with the catalog numbers would make them clearer." was also changed due to a missing end tag. That is a bug as well. I think that the code is overambitious and should focus only on misnested tags that it can be sure of, where there is an opening tag followed by a closing tag after multiple line breaks. Example: The line that starts "The "RIAA" column in the singles isn't clear enough" and the line following it. Instances where there are two <s> tags in a row, or a </s> without an opening tag, should be ignored and left for humans to evaluate.
    Diff 2 looks good. As for an article list, I'm seeing 3804 pages, if my query is working properly. I excluded log and archive pages, as I do at User:Jonesey95/Linter tags in AFDs, since those are typically pages containing only transclusions of other pages. – Jonesey95 (talk) 01:08, 6 September 2025 (UTC)[reply]
    I disagree on diff 1. In Special:Diff/203776827 there was a multiline strike, later in Special:Diff/204791826 "A pound sign and an abbreviation to go along with the catalog numbers would make them clearer." was moved with an unclosed opening tag. Tenshi! (Talk page) 01:22, 6 September 2025 (UTC)[reply]
    How can your script know the page's history? Adding an opening tag where there is only a stripped tag is going to result in inevitable errors. – Jonesey95 (talk) 01:40, 6 September 2025 (UTC)[reply]
    Fair, I can't guarantee that is the correct option in terms of WP:CONTEXTBOT. Removed. Tenshi! (Talk page) 01:56, 6 September 2025 (UTC)[reply]
    Sounds good. I'd like to see an initial 10 tests, approved by BAG, on a random sample of the 3804 pages linked above, followed by 50 tests if the first 10 go well. If this bot works well, it will fix a lot of tedious-to-fix errors. The Lint-fixing gnomes will appreciate it and may have additional ideas for future tasks or namespaces to work in. – Jonesey95 (talk) 15:01, 6 September 2025 (UTC)[reply]

Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 19:03, 7 September 2025 (UTC)[reply]

Trial complete. Contribs. Few issues I've found which I'll list:
Going to work on these. Tenshi! (Talk page) 02:43, 8 September 2025 (UTC)[reply]
I reviewed all of the diffs. In addition to the above, I found:
  • Diff 1310160738 also. I think that a <s> followed by <s> without </s> should probably be ignored as too complex for a bot.
  • Diff 1310155761 also missed a line break, leaving a new stripped tag.
  • In diff 1310152674, s tags can't be used to wrap the block content of {{User:COIBot/Summary/LinkReports}}. It's an edge case unless there are a bunch of them, and it didn't produce a new error.
Other than that, nice work. I was wondering how it would deal with multiple levels of indentation with : and *, and it seemed to do quite well. I think another batch of 50 is in order once the code is updated (note: I am not a BAG member). Again, I would probably try to be less ambitious: editing 90% of the batch with no errors is probably better than editing 100% with a 5% error rate. The remaining 10% could be edited by a human with a script to check for validity, or saved for a batch that can be checked easily after a bot run. – Jonesey95 (talk) 04:54, 8 September 2025 (UTC)[reply]
1310160738 seems correct to me? Tenshi! (Talk page) 12:16, 8 September 2025 (UTC)[reply]
Technically, there are no s-tag-related errors remaining, but it's quite the inelegant fix. Doubled markup (two opening s tags in a row) is generally frowned upon. I would leave edge cases like this for human editors to muddle through. – Jonesey95 (talk) 14:28, 8 September 2025 (UTC)[reply]
For 1310152674, it appears to be striking out the templated content unless I'm missing something. By "can't be used to wrap the block content", what are you referring to? Tenshi! (Talk page) 00:40, 10 September 2025 (UTC)[reply]
{{User:COIBot/Summary/LinkReports}} creates a table. It is not valid syntax to wrap a table (block content) in inline tags (s tags). Note the Linter misnested tag error at this version of my sandbox. There is a slightly helpful explanation at the MediaWiki help page. I don't mind if the bot leaves a few existing errors of this type behind; someone can just fix them by hand. – Jonesey95 (talk) 01:01, 10 September 2025 (UTC)[reply]
I'll leave that then. Tenshi! (Talk page) 01:37, 10 September 2025 (UTC)[reply]
Came across another issue where the bot will likely have to ignore and leave to humans. On [4], there's a multiline misnest here where the next line is in the middle of a wikilink, which would likely cause another misnest if the bot tried to fix:

Tenshi! (Talk page) 15:44, 9 September 2025 (UTC)[reply]

Yes, that is Diff 1310155761 that I noted above. A GIGO issue that should be avoided by a bot, if possible. – Jonesey95 (talk) 17:29, 9 September 2025 (UTC)[reply]
Everything seems to be fixed. Should be good for a 2nd trial. Tenshi! (Talk page) 01:37, 10 September 2025 (UTC)[reply]
Approved for extended trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete.DreamRimmer 16:38, 10 September 2025 (UTC)[reply]
Trial complete. Contribs. Only issues that I've noticed currently is Special:Diff/1310617599 where the heading was already broken by a preceding <s> tag causing it to not render and Special:Diff/1310616875, which I'm honestly not sure how it did that. Tenshi! (Talk page) 17:30, 10 September 2025 (UTC)[reply]
Good job including strike tags in the edits. An opening s tag was placed in the middle of a URL instead of at the start of the text at Special:Diff/1310617662 (in the "Criticism of Bordeaux" line). Special:Diff/1310616875 seems similar: the opening tag ends up right after an = character. Something in the code. If you can't figure it out, maybe ignore patterns containing an = character and leave them for human editors. The other 48 edits looked perfect.
As for Special:Diff/1310617599, I wouldn't worry about it. The page looks the same before and after, just as it does when the s tag precedes a : or * character. GIGO is unavoidable in some cases and a pain to work around without breaking other types of valid markup. – Jonesey95 (talk) 19:10, 10 September 2025 (UTC)[reply]
I found one more where the s tag was placed after the = character: Special:Diff/1310617460. So three edits caused by the same bug. – Jonesey95 (talk) 23:17, 10 September 2025 (UTC)[reply]
Fixed, mainly an error in how it handled section headings. Tenshi! (Talk page) 15:48, 11 September 2025 (UTC)[reply]
At the risk of annoying BAG members, I think it's time for another 50 test edits. – Jonesey95 (talk) 16:21, 11 September 2025 (UTC)[reply]
Approved for extended trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete.DreamRimmer 16:42, 12 September 2025 (UTC)[reply]

Trial complete. Contribs. Edits seem okay but the bot was refusing to fix certain cases (here and here) because it was misidentifying them as having doubled markup. Tenshi! (Talk page) 17:18, 12 September 2025 (UTC)[reply]

This is fixed once more. Tenshi! (Talk page) 18:13, 12 September 2025 (UTC)[reply]
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 {{t|BAG assistance needed}}. Tenshi! (Talk page) 11:51, 19 September 2025 (UTC)[reply]


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.