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: Wbm1058 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 17:49, Friday, March 7, 2025 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): PHP

Source code available: User:Bot1058/mishyphenation.php

Function overview: Bypass mishyphenated links, to remove pages from User:Wbm1058/Reports/Linked mishyphenations

Links to relevant discussions (where appropriate): User talk:wbm1058#R from incorrect hyphenation, Wikipedia talk:WikiProject Redirect#Wiped/reinstated template?

Edit period(s): Daily

Estimated number of pages affected: ~2,100 on the initial run; varies on subsequent runs

Exclusion compliant (Yes/No): No

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

Function details: This is the second in a series of tasks for this bot, which will run on the Toolforge and use a database report as the basis for its edits to correct errors in links on mainspace pages. Task 9 bypasses bad piped links to link directly to the title displayed to readers; this task will bypass mishyphenated links. I view edits to add or remove a horizontal line, or adjust the length of a horizontal line, as sufficiently cosmetic to be safely made in automated fashion by a bot.

I created Category:Redirects from incorrect hyphenation on 5 November 2023, to separate incorrect hyphenations from misspellings, as a lower priority for gnomes to fix than actual a–z misspellings. Misspellings need more scrutiny, as vandals can replace correctly-spelled words with a different, misspelled word. We need to avoid endorsing vandalism by correcting the spelling of the incorrect word rather than reverting back to the correct word. We continue to have an imbalance between "executive editors" declaring words to be misspelled or mishyphenated, and gnomes following their directives to correct these errors; my bot tasks are an effort to restore more balance between the executives and the gnomes.

I've built in a safeguard to ensure that this task's edits have community approval. The bot won't make edits when the redirect page triggering the edit has been edited within the past seven days. This will stop edit-warring over what the "correct" form of hyphenation should be, from causing the bot to edit war with itself over a short term. Editors may watchlist User:Bot1058/mishyphenation pending fixes if they want to monitor these pending edits before they're made.

Examples of edits that this task will make:

  • replace a space with a hyphen in a surname
  • replace a hyphen with a space in a proper name
  • replace a hyphen with a dash
  • remove a hyphen, leaving a compound word

For consistency, the bot will make similar changes outside of wikilinks when it determines it's safe to do so:

  • the term is in plain text
    • surrounded by spaces
    • leading space and ending period, comma, or semicolon
    • in (parenthesis)
    • in "quotes"
    • leading space, followed by an "s" (plural form)
    • led by a pipe (|), assumed to be a table element
    • led by an equal sign (=), assumed to be a parameter

The bot will explicitly avoid changing filenames, to avoid breaking image links.

It will also avoid changing links when the link is part of a longer linked title. This will avoid the bot creating red links; these will be left for human review.

The bot will leave anything not explicitly determined to be "safe" for human review. The initial run of this task is expected to leave about 120 pages for human review.

The bot will not make changes when more than two characters in a link are changed, leaving these for human review as well. One of the changes will be to a hyphen, dash, or space. A second accepted change may be to uppercase a character or put a diacritic on a character.


Discussion

I'm concerned that the "changes outside of wikitext" would get into WP:CONTEXTBOT territory. You seem to be explicitly stating that you're going to alter direct quotes, which we usually take pains not to modify, and may not be able to correctly identify things like hyphenated compound modifiers. Anomie 13:48, 8 March 2025 (UTC)[reply]

Yes, regarding this:
Generally, a compound modifier is hyphenated if the hyphen helps the reader differentiate a compound modifier from two adjacent modifiers that modify the noun independently. Compare the following examples:
  • "small appliance industry": a small industry producing appliances
  • "small-appliance industry": an industry producing small appliances
Redirects should only be tagged as "incorrect" if they are always incorrect under all contexts. If there are contexts where they are correct, then they should be tagged as valid alternatives. My bot only edits to correct things that are incorrect in all contexts. Some editors have been over-prescriptive, tagging things are incorrect when there are contexts where they are correct. When I find these mislabeled redirects, I correct them, e.g. age-of-consent laws, where I corrected TARDIS Builder. This is why I created User:Bot1058/mishyphenation pending fixes – to allow time for reversions of mislabeled redirects. – wbm1058 (talk) 16:40, 8 March 2025 (UTC)[reply]
You're relying on every editor to use your definition of "incorrect", or at least some human reacting to every other definition quickly. That does not seem like a very reliable assumption to me. Anomie 00:12, 9 March 2025 (UTC)[reply]
Speaking only about that example, I tagged it as incorrect because someone searching "age of consent" is almost certainly looking for it as a term (noun) rather than as an adjective. As well, the article it points to talks about the concept as a concept, not as a descriptor.
I disagree with your assertion that redirects need to be incorrect under all contexts to use that template; I could probably comb through my own history and find examples where that's not true and you would still agree that the choice of template was appropriate.
I think nuance & judgment matter. Correct category depends on the redirect and the target article.
Thanks for creating it, I'm glad it's there.   — TARDIS builder     ★       06:33, 9 March 2025 (UTC)[reply]
This is all about linked misspellings, not searched terms. From the article Adolescent sexuality,
"Sexual interest among adolescents, as among adults, can vary greatly, and is influenced by cultural norms and mores, sex education, as well as comprehensive sexuality education provided, sexual orientation, and social controls such as age-of-consent laws."
@TARDIS Builder: You were requiring the link to be piped [[age of consent|age-of-consent]] laws to avoid the "mishyphenation". This is bad, especially in the future, if someone were to write a separate article about the adjective, as a distinctly different concept from the noun. You can also tag age-of-consent with {{R from adjective}}, which I just did. – wbm1058 (talk) 12:30, 9 March 2025 (UTC)[reply]
Noting that you did correctly tag Age of consent reform, Age of consent reform in Canada, and Age of consent reform in the United Kingdom. – wbm1058 (talk) 16:24, 9 March 2025 (UTC)[reply]
MOS:SIC states that "insignificant spelling and typographic errors should simply be silently corrected." I'm assuming that shortening or lengthening a hyphen/dash would be an acceptable silent correction. – wbm1058 (talk) 17:02, 8 March 2025 (UTC)[reply]

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

Time filed: 17:54, Sunday, March 2, 2025 (UTC)

Function overview: Convert links from http:// to https://

Automatic, Supervised, or Manual: Automatic

Programming language(s): C#

Source code available: Main C# script: commons:User:SchlurcherBot/LinkChecker

Links to relevant discussions (where appropriate): For discussions see:

Similar tasks were approved for the following bots (please note that these seem to use pre-generated lists):

Key difference: My proposed bot will not depend on or use pre-generated lists, but will instead use the heuristic as described in the detail below.

Edit period(s): Continuous

Estimated number of pages affected: Based on the SQL-dump on external links there are a total of 21'326'816 http-links on 8'570'326 pages on the English Wikipedia. Based on experiences from DE Wiki, the success rate is approximately 10%, so approximately 850'000 edits.

Namespace(s): 1 and 6

Exclusion compliant (Yes/No): Yes, through the DotNetWikiBot framework [1]

Function details: The algorithm is as follows:

  1. The bot extracts all http-links from the parsed html code of a Wikipedia page
    • It searches for all href elements and extracts the links
    • It does not search the wikitext, and thus does not rely on any Regex
    • This is also to avoid any problems with templates that modify links (like archiving templates)
  2. The bot checks if the identified http-links also occur in the wikitext, otherwise they are skipped
  3. The bot checks if both the http-link and the corresponding https-link is accessible
    • This step also uses a blacklist of domains that were previously identified as not accessible
  4. If both links redirect to the same page, the http-link will be replaced by the https-link (the link will not be changed to the redirect page, the original link path will be kept)
  5. If both Links are accessible and return a success code (2xx), it will be checked if the content is identical
    1. If the content is identical, and the link is directly to the host, then the http-link will be replaced by the https-link
    2. If the content is identical but not the host, it will be checked if the content is identical to the host link, only if the content is different, then the http-link will be replaced by the https-link
      • This step is added as some hosts return the same content for all their pages (like most domain sellers, some news sites or pages in ongoing maintenance)
    3. If the content is not identical, it will be checked if the content is at least 99.9% identical (calculated via the Levenshtein distance)
      • This step is added as most homepages now use dynamic IDs for certain elements, like for ad containers to circumvent Ad Blockers.
    4. If the content is at least 99.9% identical, the same host check as before will be performed.
    5. If any of the checked links fails (like Code 404), then nothing will happen.

The bot will work on the list of pages identified through the external links SQL dump. The list was scrambled to ensure that subsequent edits are not clusted from a specific area.

Please note that the bot is approved for the same task in Commons (with 4.1 Million edits on that task) and DE Wiki.

Discussion

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

Time filed: 02:59, Monday, January 13, 2025 (UTC)

Function overview: For species articles (under a binomial name title) in a genus category, adding the specific epithet as a sortkey.

Automatic, Supervised, or Manual: Supervised

Programming language(s): AutoWikiBrowser

Source code available: Find & Replace in AWB.

Links to relevant discussions (where appropriate): It's common practice to add these sortkeys, but I can't find it discussed anywhere. I've started Wikipedia talk:WikiProject Tree of Life § Sortkeys for genus categories just in case, but I really don't expect any opposition. More generally, the WP:SORTKEY guideline says that sortkeys can be used to exclude prefixes that are common to all or many of the entries.

Edit period(s): Open-ended (as long as I keep finding genus categories without sortkeys)

Estimated number of pages affected: I expect to edit no more than about a thousand articles each day.

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes (AWB is exclusion compliant by default)

Function details: In AWB, I generate the list of articles in a genus category and filter out all titles not of the form ^Genus .*. Then I use the Find & Replace option, from [[Category:Genus]] to [[Category:Genus|{{subst:remove first word|{{subst:PAGENAME}}}}]]. I am willing to turn off genfixes if this is preferred.

Discussion

How many pages are expected to be edited with this run? – DreamRimmer (talk) 06:15, 29 January 2025 (UTC)[reply]
@DreamRimmer: Sorry, I didn't see this until now. When you say "this run", do you mean something like a trial run (in which case I propose Category:Stenoma (373)), or are you asking me to make the edit period less open-ended? jlwoodwa (talk) 03:36, 7 February 2025 (UTC)[reply]
Total number of pages expected to be edited as a result of this task. To quote the comment in the BRFA, Should be a reasonable guess as to how many distinct pages you'll be editing. For open-ended tasks, estimate pages per some reasonable time period. Primefac (talk) 19:37, 9 February 2025 (UTC)[reply]

Bots in a trial period

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

Time filed: 04:42, Thursday, December 12, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available:

Function overview: Adds or modifies election templates in 'Results' section of Indian Lok Sabha/Assembly constituencies

Links to relevant discussions (where appropriate):

Edit period(s): One time run on a category of pages.

Estimated number of pages affected: ~4000

Exclusion compliant (Yes/No): No

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

Function details: This bot modifies the results sections of Indian Lok Sabha/assembly constituencies. It takes the 'Results' section and for the most recent two elections with published data it adds in all candidates with vote percentages above 0.9% and removing candidates with vote percentages under 0.9%. It does not edit candidate data (i.e. hyperlinks are preserved) except to correctly capitalise candidate names in all upper case. 'change' parameter is only filled if there is no elections which take place between the two data.

Candidates are sorted by vote totals and the subsections are sorted by election years in descending order (most recent election comes first). If a 'Results' section does not exist, it is placed in front of the 'References' section and the results from the two most recent elections are placed there.

Discussion

What is the source of the election data being used by the bot? – DreamRimmer (talk) 14:27, 13 December 2024 (UTC)[reply]
The ECI website: eci.gov.in (it is geoblocked for users outside India). It has reports for every Parliamentary and Assembly election in India since Independence, and the ones after 2015 are in PDF form and those after 2019 have csv files. C1MM (talk) 01:19, 14 December 2024 (UTC)[reply]
Thanks for the response. I have used data from eci.gov.in for my bot task, and it is a good source. I tried searching for results data for recent elections, but I only found PDFs and XLSX files; I did not find any CSV files containing the full candidate results data. Perhaps I missed some steps. I will try to provide some feedback after reviewing the edits if this goes for a trial. – DreamRimmer (talk) 09:56, 14 December 2024 (UTC)[reply]
I convert XLSX to CSV (it is second-nature to do it now for me so I forget to tell sometimes). C1MM (talk) 17:07, 14 December 2024 (UTC)[reply]
Thanks for the response. Is the source code for this publicly available somewhere if I want to take a look at it? – DreamRimmer (talk) 09:44, 16 December 2024 (UTC)[reply]
There might be good reasons to keep a candidate's data even if they get less than 0.9% of the vote. I'd say that if the candidate's name is wikilinked (not a red link), then the bot should not remove that row.
Also, consider "None of the above" as a special case, and always add/keep that data when it is available. -MPGuy2824 (talk) 10:07, 14 December 2024 (UTC)[reply]
Good point. I forgot to mention I did treat 'None of the above' as a special case, don't cut it and in fact add it in where it is not in the template. I also add 'majority' and 'turnout' and when there is no election in between the two most recent elections for which I have data I also add a 'gain' or 'hold' template.
How do you check if a page exists and is not a disambigution? I say this because a lot of politicians in India share names with other people (example Anirudh Singh) so I would rather only keep people below 0.9% of the vote if they are linked to an article which is actually about them. C1MM (talk) 13:47, 14 December 2024 (UTC)[reply]
If you are using Pywikibot, you can use the page.BasePage class methods, such as the exists() method, to check whether a wikilinked page exists on the wiki. It returns a boolean value True if the page exists on the wiki. To check whether this page is a disambiguation page, you can use the isDisambig() method, which returns True if the page is a disambiguation page, and False otherwise. – DreamRimmer (talk) 17:07, 16 December 2024 (UTC)[reply]
I've made the suggested changes and the pages produced look good (I haven't saved obviously). I unfortunately don't know how to run Python pywikibot source code on Wikimedia in a way that accesses files on my local machine, is this possible? C1MM (talk) 05:56, 23 December 2024 (UTC)[reply]
Are you saying that you have stored CSV files on your local machine and want to extract the result data from them? Let me know if you need any help with the source code. – DreamRimmer (talk) 11:04, 23 December 2024 (UTC)[reply]
I figured this problem out. I would now think a BAG member should probably come and give their opinion. C1MM (talk) 16:56, 30 December 2024 (UTC)[reply]

{{BAG assistance needed}} — Preceding unsigned comment added by C1MM (talk • contribs) 16:55, 30 December 2024 (UTC)[reply]

Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Please do not mark these edits as minor. Primefac (talk) 13:34, 1 January 2025 (UTC)[reply]
[2] Here are the contributions asked for. I think there are a couple of issues: I haven't actually added a source technically for these contributions and also for a certain party (Peace Party) I added the disambiguation links by mistake. I also accidentally made the replacement headings 3rd level instead of 2nd level, which I have now fixed. C1MM (talk) 03:47, 2 January 2025 (UTC)[reply]
Please also go back and manually fix these 50 edits for the problems that you've noticed. Additionally, if you could also use the {{formatnum}} template for all the votes figures it would be great. The other parts of the edits look good. -MPGuy2824 (talk) 05:05, 2 January 2025 (UTC)[reply]
I've done what was asked. C1MM (talk) 04:33, 10 January 2025 (UTC)[reply]
I think you need to use the {{Bot trial complete}} template to bring this to the attention of somebody from the BAG. -MPGuy2824 (talk) 05:07, 10 January 2025 (UTC)[reply]
Trial complete. Noticed this went stale after completion. JarJarInks (talk) 19:21, 23 January 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. Please fix the code to avoid repeating the same issues. Also, please link this BRFA in the edit summary and do not mark these edits as minor. – DreamRimmer (talk) 12:23, 29 January 2025 (UTC)[reply]
Courtesy tag @C1MM JarJarInksTones essay 21:46, 1 February 2025 (UTC)[reply]
Thanks, unfortunately I am busy in real life and don't have the time to work on this much at the moment. I am trying to add functionality to automatically add the correct references for templates I add which currently don't have references. C1MM (talk) 04:45, 3 March 2025 (UTC)[reply]
If you're able to open source I'd be willing to debug and add that functionality. Then you could come back and do the trial when you have the time. JarJarInksTones essay 14:11, 3 March 2025 (UTC)[reply]

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

Time filed: 23:46, Thursday, December 26, 2024 (UTC)

Function overview: Remove instances of {{FFDC}} which reference files that are no longer being discussed at FfD, similar to FastilyBot 17, with new code.

Automatic, Supervised, or Manual: Automatic

Programming language(s): pywikibot

Source code available: will publish at github repo

Links to relevant discussions (where appropriate): special:permalink/1265443290#Replacing FastilyBot

Edit period(s): weekly

Estimated number of pages affected: around 2-3 per week

Namespace(s): needs to be discussed

Exclusion compliant (Yes/No): currently yes, but that can be updated.

Function details: created new code for simplicity/posterity. When listing files at FfD, editors will sometimes add {{FFDC}} to the articles that link the listed files. When FfD discussions are closed, it's common for the closing editor to miss and/or forget to remove {{FFDC}}. This proposed bot task will simply find instances of {{FFDC}} that reference closed/non-existent FfD discussions and remove them. —usernamekiran (talk) 23:46, 26 December 2024 (UTC)[reply]

Discussion

  • @Explicit: what namespace should I restrict the bot to? currently, the template has been transcluded on a few article talk pages, user talk, and drafts. —usernamekiran (talk) 23:46, 26 December 2024 (UTC)[reply]
  • Approved for trial (25 edits or 30 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. While waiting for an answer to the above, please limit the bot to the Article namespace. Primefac (talk) 13:30, 1 January 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) Any update? – DreamRimmer (talk) 16:04, 9 March 2025 (UTC)[reply]

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

Time filed: 19:59, Tuesday, December 31, 2024 (UTC)

Function overview: Removes articles from Category:Wikipedia requested images of biota if they have an image

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python

Source code available: No, but it can be if necessary

Links to relevant discussions (where appropriate): Uncontroversial

Edit period(s): Weekly

Estimated number of pages affected: ~3-6k first run; likely no more than 10/week afterwards

Namespace(s): Talk

Exclusion compliant (Yes/No): Yes

Function details:

Discussion

Approved for trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 13:24, 1 January 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) Status of trial? – DreamRimmer (talk) 17:06, 14 February 2025 (UTC)[reply]

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

Time filed: 12:49, Tuesday, December 17, 2024 (UTC)

Function overview: A replacement for tasks 1, 2, 7, 8, 9, and 15 of FastilyBot (talk · contribs), whose operator has retired

Automatic, Supervised, or Manual: Automatic

Programming language(s): Rust (mwbot-rs crate)

Source code available: Will push to GitLab later

Links to relevant discussions (where appropriate): See this

Edit period(s): Daily

Estimated number of pages affected: A couple dozen every day

Namespace(s): File:

Exclusion compliant (Yes/No): Yes

Function details: Near identical functionality of the previous bot, just rewritten in a different (and better) language. All are modifying templates on File description pages, so I'm merging this into one task.

Task details (copied from WP:BOTREQ)
Original task Description
1 Replace {{Copy to Wikimedia Commons}}, for local files which are already on Commons, with {{Now Commons}}.
2 Remove {{Copy to Wikimedia Commons}} from ineligible files.
7 Replace {{Now Commons}}, for local files which are nominated for deletion on Commons, with {{Nominated for deletion on Commons}}.
8 Replace {{Nominated for deletion on Commons}}, for local files which have been deleted on Commons, with {{Deleted on Commons}}.
9 Remove {{Nominated for deletion on Commons}} from files which are no longer nominated for deletion on Commons.
15 Remove {{Now Commons}} from file description pages which also translcude {{Keep local}}

Discussion

  • Thanks for stepping up to help! For easier review and tracking, could you please list all these tasks and their descriptions in the "Function details" section? You can use a wikitable for this. – DreamRimmer (talk) 13:51, 17 December 2024 (UTC)[reply]
Approved for trial (120 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Please perform 20 edits for each task. Primefac (talk) 12:35, 23 December 2024 (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) Any update? – DreamRimmer (talk) 17:07, 14 February 2025 (UTC)[reply]

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

Time filed: 13:04, Saturday, September 7, 2024 (UTC)

Function overview: go through Category:Articles missing coordinates with coordinates on Wikidata, add the coordinates from wikidata to enwiki article, and remove the {{coord missing}} template

Automatic, Supervised, or Manual: automatic

Programming language(s): pywikibot

Source code available: not yet, soon on github, pywikibot script

Links to relevant discussions (where appropriate): requested at WP:BOTREQ, permalink

Edit period(s): once a month

Estimated number of pages affected: around 19,000 in the first run, then as they come in

Namespace(s): mainspace

Exclusion compliant (Yes/No): no

Function details: the bot goes through Category:Articles missing coordinates with coordinates on Wikidata, for each article: it reads the coordinates from the wikidata QID of that particular article. adds it to the infobox with | coordinates = parameter. If infobox is not present, then it adds to the bottom on the appropriate location, using {{coord}} template. If the coordinates are added successfully, then the bot removes {{coords_missing}} template. —usernamekiran (talk) 13:04, 7 September 2024 (UTC)[reply]

Discussion

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

Time filed: 20:03, Tuesday, July 16, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: https://github.com/sohomdatta1/npp-notifier-bot

Function overview: Notify previous reviewers of a article at AFD about the nomination

Links to relevant discussions (where appropriate): Initial discussions on NPP Discord + previous BRFAs surrounding AFD notifications

Edit period(s): Continuous

Estimated number of pages affected: 1-2 per day (guessimate?)

Exclusion compliant (Yes/No): Yes

Already has a bot flag (Yes/No): No, on enwiki, yes, for other wikis on other tasks

Function details:

  • Use the eventstream API to listen for new AfDs
  • Extract page name by parsing the AfD wikitext
  • Identify previous reviewers of page at AFD
  • Notify said reviewers on their talk pages with a customised version of the existing AfD notification message

Discussion

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

Time filed: 01:57, Wednesday, March 22, 2023 (UTC)

Function overview: Mark unassessed stub articles as stubs

Automatic, Supervised, or Manual: Automatic

Programming language(s): C#

Source code available: Not yet

Links to relevant discussions (where appropriate): Wikipedia:Bot requests/Archive 84#Stub assessments with ORES

Edit period(s): daily

Estimated number of pages affected: < 100 per day

Namespace(s): Talk

Exclusion compliant (Yes/No): Yes

Function details: Go through Category:Unassessed articles (only deals with articles already tagged as belonging to a project). If an unassessed article is rated as a stub by ORES, tag the article as a stub. Example

Discussion

{{BAG assistance needed}} This has been waiting for over 2 months since the end of the trial, and over 4 months since the creation of the request. Given the concerns expressed that the bot operator has since fixed, an extended trial may be a good idea here. EggRoll97 (talk) 05:19, 8 August 2023 (UTC)[reply]
My apologies. I have been very busy. Should I run the new Bot again with a few more edits? Hawkeye7 (discuss) 18:57, 15 October 2023 (UTC)[reply]
Approved for extended trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete.SD0001 (talk) 19:10, 15 October 2023 (UTC)[reply]
Thank you. Hawkeye7 (discuss) 22:33, 15 October 2023 (UTC)[reply]

{{Operator assistance needed}} It has been more than a month since the last post, is this trial still ongoing? Primefac (talk) 13:26, 31 December 2023 (UTC)[reply]

Yes. I wrote the bot using my C# API, and due to a necessary upgrade here, my dotnet environment got ahead of the one on the grid. I could neither build locally and run on the grid nor on build on the grid. (I could have run the trial locally but would not have been able to deploy to production.) There is currently a push to move bots onto Kubernetes containers, but there was no dotnet build pack available. The heroes on Toolforge have now provided one for dotnet, and I will be testing it when I return from vacation next week. If all goes well I will finally be able to deploy the bot and run the trial at last. See phab:T311466 for details. Hawkeye7 (discuss) 22:54, 31 December 2023 (UTC)[reply]
{{Operator assistance needed}} Primefac (talk) 20:10, 18 February 2024 (UTC)[reply]
Work was done in January and some changes made on Toolforge. Will resume the trial run when I get a chance. Hawkeye7 (discuss) 23:33, 18 February 2024 (UTC)[reply]
@Hawkeye7: any update on this? If it's a bit of a medium-term item and not actively worked on, are you happy to mark this BRFA as withdrawn for the time being? ProcrastinatingReader (talk) 10:54, 29 September 2024 (UTC)[reply]
My technical problems have been resolved. A new trial run will be conducted this week. Hawkeye7 (discuss) 19:26, 29 September 2024 (UTC)[reply]
[6][7][8][9][10][11] etc Hawkeye7 (discuss) 03:15, 2 October 2024 (UTC)[reply]
One important change: Liftwing is being used instead of ORES now. Hawkeye7 (discuss) 03:25, 2 October 2024 (UTC)[reply]
{{Operator assistance needed}} Courtesy ping to make sure this is still proceeding. Primefac (talk) 12:46, 23 December 2024 (UTC)[reply]
The trial run was successful. The problems with the new Packbuild environment were resolved. I can run some more trials but would prefer permission to put the job into production. Hawkeye7 (discuss) 20:12, 23 December 2024 (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 (talk) 11:09, 2 February 2025 (UTC)[reply]

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

Time filed: 01:50, Thursday, November 14, 2024 (UTC)

Function overview: Replace external links to wikipedia with wikilinks

Automatic, Supervised, or Manual: Supervised during trial, automatic afterwards

Programming language(s): Python (pywikibot)

Source code available: Yes, upon request

Links to relevant discussions (where appropriate): I do not believe that discussions are required for this action, as this is the entire point of wikilinks

Edit period(s): Continuous

Estimated number of pages affected: Large burst at approval/during trial, then 25/day at the highest afterwards.

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes

Function details: The goal of this task is to replace "external" links to wikipedia pages with the proper wikilinks.

  • Watch Special:RecentChanges for edits containing "https://[*].wikipedia.org/wiki/[*]", then replace the external link with a wikilink.

Example: "Python https://en.wikipedia.org/wiki/Python_(programming_language) is cool" → "Python is cool."

Discussion

Many articles contain external Wikipedia links to templates, policy pages, and discussion, usually added as comments. On average, about 20 of these kinds of links are added per day, with 95% of them as commented-out text. Replacing these links would only lead to cosmetic changes, which should be avoided per WP:COSMETICBOT, as commented-out text are not visible to readers. For the remaining 5%, using a bot isn't a good idea, as these minor edits can be easily handled by a human editor. Currently, over 62,000 pages have these types of commented-out links, and none need replacement based on your criteria. This suggests that these types of external links are fixed regularly. – DreamRimmer (talk) 14:32, 14 November 2024 (UTC)[reply]
I do not want to pile-on, but for "en.wikipedia" this task wont be much useful like DreamRimmer explained above. However, in case the link is to some other wikipedia eg "de.wikipedia" (german), or "es.wikipedia" (spanish), this task would be useful, but again, the occurrences are extremely low, and they are generally handled/repaired by editors as soon as they are inserted. Also, bot operator is new (not extended confirmed), so this might get denied under WP:BOTNOTNOW. But this is actually a sound request, my first BRFA was outright silly. —usernamekiran (talk) 15:45, 14 November 2024 (UTC)[reply]
DreamRimmer, I think CheckWiki #90 would probably be more useful for finding the number of pages affected by this; at the moment it's sitting at ~4500 pages so this probably does require some sort of intervention. Primefac (talk) 20:19, 17 November 2024 (UTC)[reply]
@Ow0cast: Given there are around 4500 pages, this is indeed a useful task. Would you be able to program it to handle the subdomains? Similar to the example I provided above? —usernamekiran (talk) 20:25, 1 December 2024 (UTC)[reply]
@Usernamekiran: Yes, I should be able to make it handle subdomains. /etc/owuh $ (💬 | she/her) 20:29, 1 December 2024 (UTC)[reply]
Approved for trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 20:39, 1 December 2024 (UTC)[reply]
Should I run it on Special:RecentChanges or the pages listed at checkwiki? /etc/owuh $ (💬 | she/her) 22:26, 1 December 2024 (UTC)[reply]
@Ow0cast: pages listed at checkwiki would be the optimal choice. —usernamekiran (talk) 00:18, 5 December 2024 (UTC)[reply]
{{operator assistance needed}} I see the bot made some successful edits, but then stopped. Are you still working on the task? —usernamekiran (talk) 20:18, 24 January 2025 (UTC)[reply]
To be completely honest, I stopped working on it after getting stumped on people using wikipedia as a ref, then completely forgot about it and wikipedia (lot of family related things happened, plus exams and holidays) until I saw the notification. I probably won't be working on this again, but if I do, I'll just have it modify files on my PC and copy them to wikipedia manually, unless you (or someone) else want my terrible code to implement into another bot. /etc/owuh $ (💬 | she/her) 03:35, 26 January 2025 (UTC)[reply]
{{BotWithdrawn}} I am marking this as withdrawal for the time being. If you plan to continue, you can either file a new request or reopen this one—whichever works best for you. Just make sure to request a new trial if you decide to reopen it. – DreamRimmer (talk) 06:01, 28 January 2025 (UTC) Reopened at the user's request. – DreamRimmer (talk) 15:42, 19 February 2025 (UTC) [reply]

Requesting a new trial. /etc/owuh $ (💬 | she/her) 13:59, 20 February 2025 (UTC)[reply]

Feel free to continue. Primefac (talk) 14:26, 26 February 2025 (UTC)[reply]
Should I continue with the number of edits from the previous trial? /etc/owuh $ (💬 | she/her) 14:31, 26 February 2025 (UTC)[reply]
If you have changed your backend code, then yes, please start again. Otherwise, you can continue where you left off. Primefac (talk) 14:33, 26 February 2025 (UTC)[reply]

Bots that have completed the trial period

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

Time filed: 13:24, Monday, March 3, 2025 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): AutoWikiBrowser

Source code available: AWB

Function overview: WikiProject Tagging for Wikipedia:WikiProject Latino and Hispanic heritage

Links to relevant discussions (where appropriate): User_talk:Bunnypranav#WikiProject_WikiProject_Latin_and_Hispanic_heritage_mass_tagging, Wikipedia_talk:WikiProject_Latino_and_Hispanic_heritage#Templates_and_banners

Edit period(s): Onetime, also requesting on-demand WikiProject tagging

Estimated number of pages affected: ~10,000 (may increase)

Exclusion compliant (Yes/No): Yes

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

Function details: Per request by Magiciandude and Oscar, I would like to do the WikiProject tagging for the WikiProject Latino and Hispanic heritage with {{WikiProject Latino and Hispanic heritage}}

As per the comments from here, first set of pages (most probably the largest) is petscan:31693868 with about 10,000 pages. If the project agrees to expand their reach and give me a few more categories, the number may go up by a few thousand.

Discussion

Approved for trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 13:46, 3 March 2025 (UTC)[reply]

Trial complete. 100 edits No errors found from my spot checks. Also, I hope you will grant on-demand running permission after approving this. Thanks! ~/Bunnypranav:<ping> 13:12, 4 March 2025 (UTC)[reply]
I am rather hesitant to extend the scope of this task; you have four approved tasks out of five submitted, and two of them required extended trials to get things right (and one was technically a duplication of an existing task). I will leave this open for other BAG to opine, but personally I think you need a slightly longer track record before getting open-ended permission for this sort of thing. Primefac (talk) 17:23, 4 March 2025 (UTC)[reply]
Just noting that the extended trial for task 3 was due the change of not do half of the task first requested (which went well, but wrong pages, due to mistakes in petscan creation, not due to bot code/operation). If you're still hesitatant, I'm fine with just approving this as one off. Thanks! ~/Bunnypranav:<ping> 01:22, 5 March 2025 (UTC)[reply]
@Primefac: I withdraw my request for extended approval. Please just grant approval for this one-time task. Small note: the number of pages for this tagging may increase a bit depending on the request of the wikiproject, I hope that task covers that. Thanks! ~/Bunnypranav:<ping> 11:54, 6 March 2025 (UTC)[reply]
You mentioned that if the project decides to expand its scope and add more categories, the number of pages could increase by a few thousand. Can you please confirm this with the WikiProject folks and update the approx number of pages in the request details? – DreamRimmer (talk) 16:39, 9 March 2025 (UTC)[reply]

Apologies for changing the target halfway through the trial, but it just occurred to me that there are a ton of pages calling {{WikiProject United States}} where if |Latino and Hispanic heritages= and similar are set to yes then that parameter should be removed and the new project template added. Do you feel comfortable doing this or should I use my bot to do so? Primefac (talk) 20:44, 9 March 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 (), while old requests can be found in the archives.

  • HilstBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 20:30, 28 February 2025 (UTC) (bot to run unflagged)
  • MinusBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Approved 14:20, 11 February 2025 (UTC) (bot has flag)
  • Bot1058 (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 9) Approved 12:35, 3 February 2025 (UTC) (bot has flag)
  • AnomieBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 83) Approved 15:34, 2 February 2025 (UTC) (bot has flag)
  • BunnysBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 5) Approved 11:18, 2 February 2025 (UTC) (bot has flag)
  • VWF bot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 14:17, 1 February 2025 (UTC) (bot has flag)
  • DreamRimmer bot II (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Approved 11:56, 1 February 2025 (UTC) (bot has flag)
  • BunnysBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 4) Approved 15:50, 26 January 2025 (UTC) (bot has flag)
  • KiranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 12) Approved 12:33, 19 January 2025 (UTC) (bot has flag)
  • DreamRimmer bot II (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Approved 16:47, 12 January 2025 (UTC) (bot has flag)
  • PrimeBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 46) Approved 12:22, 3 January 2025 (UTC) (bot has flag)
  • MolecularBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 12:30, 19 December 2024 (UTC) (bot has flag)
  • BunnysBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Approved 17:42, 16 December 2024 (UTC) (bot has flag)
  • GalaxyBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 15:56, 16 December 2024 (UTC) (bot has flag)
  • DreamRimmer bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Approved 16:49, 9 December 2024 (UTC) (bot has flag)
  • BunnysBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 16:49, 9 December 2024 (UTC) (bot has flag)
  • DatBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 12) Approved 20:44, 1 December 2024 (UTC) (bot has flag)
  • DreamRimmer bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Approved 20:44, 1 December 2024 (UTC) (bot has flag)
  • TNTBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 6) Approved 21:25, 19 November 2024 (UTC) (bot has flag)
  • BaranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 8) Approved 16:12, 30 October 2024 (UTC) (bot has flag)
  • KiranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13) Approved 17:08, 20 October 2024 (UTC) (bot has flag)
  • BaranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 7) Approved 11:55, 20 October 2024 (UTC) (bot has flag)
  • Monkbot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 20) Approved 11:55, 20 October 2024 (UTC) (bot has flag)
  • KiranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 11) Approved 17:24, 13 October 2024 (UTC) (bot has flag)
  • Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 31) Approved 17:24, 13 October 2024 (UTC) (bot has flag)
  • Leaderbot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 22:09, 17 October 2024 (UTC) (bot to run unflagged)
  • DreamRimmer bot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 16:59, 4 October 2024 (UTC) (bot has flag)
  • BaranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 4) Approved 11:57, 10 September 2024 (UTC) (bot has flag)
  • BaranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 5) Approved 15:53, 9 September 2024 (UTC) (bot has flag)
  • Protection Helper Bot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 13:59, 8 September 2024 (UTC) (bot has flag)


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.

  • CiteHelperBot‬ (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 12:36, 8 January 2025 (UTC)
  • MolecularBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Bot denied 13:26, 1 January 2025 (UTC)
  • Raph65BOT (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 00:37, 23 December 2024 (UTC)
  • Silksam bot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 12:54, 2 December 2024 (UTC)
  • MdWikiBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 12:04, 3 August 2024 (UTC)
  • Arjunaraocbot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 07:35, 23 March 2024 (UTC)

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.

  • UrbanBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Withdrawn by operator 02:21, 5 February 2025 (UTC)
  • Tom.Bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 8) Withdrawn by operator 11:37, 4 February 2025 (UTC)
  • RustyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Withdrawn by operator 15:31, 1 February 2025 (UTC)
  • JJPMaster (bot) (BRFA · contribs · actions log · block log · flag log · user rights) Expired 15:50, 26 January 2025 (UTC)
  • BunnysBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Withdrawn by operator 12:31, 13 January 2025 (UTC)
  • Platybot (BRFA · contribs · actions log · block log · flag log · user rights) Expired 16:58, 12 January 2025 (UTC)
  • PonoRoboT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Expired 16:53, 12 January 2025 (UTC)
  • MacaroniPizzaHotDog Bot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 16:15, 12 January 2025 (UTC)
  • DannyS712 bot III (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 74) Expired 12:47, 23 December 2024 (UTC)
  • JJPMachine (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 04:28, 26 November 2024 (UTC)
  • FrostlySnowman (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 10) Withdrawn by operator 04:41, 4 November 2024 (UTC)
  • BaranBOT (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 6) Withdrawn by operator 16:29, 30 October 2024 (UTC)
  • CapsuleBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Expired 22:58, 11 October 2024 (UTC)
  • StradBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Withdrawn by operator 22:53, 11 October 2024 (UTC)
No tags for this post.