Wikipedia:Bots/Requests for approval

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

Time filed: 18:12, Sunday, November 24, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: not currently

Function overview: Update various databases reports.

Links to relevant discussions (where appropriate): Wikipedia:Bot requests#Replacing FastilyBot

Edit period(s): Weekly

Estimated number of pages affected: 16

Exclusion compliant (Yes/No): No

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

Function details: This is a replacement for Fastilybot task 13. This bot will update various database reports every week.

Discussion

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

Time filed: 12:59, Saturday, November 23, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): AutoWikiBrowser

Source code available: AWB

Function overview: Remove userpages from content categories listed at Wikipedia:Database reports/Polluted categories

Links to relevant discussions (where appropriate):

Edit period(s): Manual runs every week or so

Estimated number of pages affected: ~300 Every run

Exclusion compliant (Yes/No): No

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

Function details: Removes user pages from content categories, like birth year, etc. from the listed database report at Wikipedia:Database reports/Polluted categories. I may do my own DB updates in my user space with the opensource code. Of course, it cannot be exculsion compliant as the cat should not be in that space.

Discussion

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

Programming language(s): Python (pywikibot)

Source code available: No

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: 25/day at the highest.

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]

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

Time filed: 20:59, Monday, October 28, 2024 (UTC)

Function overview: Performs sentiment analysis on pending AfC submissions, leaves AfC comments where appropriate.

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python

Source code available: No

Links to relevant discussions (where appropriate):

Edit period(s): Daily

Estimated number of pages affected: 250

Namespace(s): Draft

Exclusion compliant (Yes/No): No

Function details: Detects non-neutral language (i.e., overly positive, negative, or subjective) in pending AfC submissions (retrieved by querying the MediaWiki API) using TextBlob. Adds AfC comments with mwclient where appropriate.

Discussion

Has this idea been discussed somewhere before?? * Pppery * it has begun... 00:05, 29 October 2024 (UTC)[reply]

  • Comment: This seems like it would be a WP:CONTEXTBOT problem. What if someone were writing a draft article about Michael Jordan that contained text like Jordan is often referred to as the greatest basketball player of all time, with references to multiple reliable sources? Would that draft be tagged in some way? – Jonesey95 (talk) 15:12, 29 October 2024 (UTC)[reply]
    Yes, that is a good point. I can make it so it checks sentence by sentence, and looks at the references. The real problem is finding out if those references actually say that, and if they are reliable. MacaroniPizzaHotDog (talkcontributions) 15:16, 29 October 2024 (UTC)[reply]
    Or I could eliminate the polarity check and focus entirely on objectivity. MacaroniPizzaHotDog (talkcontribs) 18:17, 29 October 2024 (UTC)[reply]

  Needs wider discussion. At the very least, make sure WT:AFC actually wants this. Primefac (talk) 15:46, 30 October 2024 (UTC)[reply]

  On hold. until this is done. Primefac (talk) 15:46, 30 October 2024 (UTC)[reply]

For any discussion to occur on whether this is useful, it would be beneficial to see the comments this would produce. @MacaroniPizzaHotDog I would suggest setting up the bot to initially post the AfC comments in a page in userspace for demonstration. Perhaps a table-like format with the draft name and comment. Do also include entries for drafts for which no comment is generated (to check for false negatives). Once you have 300 or so entries, we can review it and get the feedback of the AFC project as well. – SD0001 (talk) 16:08, 14 November 2024 (UTC)[reply]

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

Time filed: 15:17, Sunday, September 15, 2024 (UTC)

Function overview: Categorize and create redirects to year pages (AD and BC).

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python (pywikibot)

Source code available: Will provide if needed

Links to relevant discussions (where appropriate): Wikipedia:Bot requests/Archive 86#Articles about years: redirects and categories

Edit period(s): one time run

Estimated number of pages affected: about 1000-2000 year pages, so assuming we have to create 3 redirects for each, maximum 6000

Namespace(s): Main

Exclusion compliant (Yes/No): Yes

Function details: For each number 1-2000, the bot will operate on the pages "AD number" and "number BC".

  • On AD pages, the bot will append Category:Years AD to the page if it does not already have it.
  • The bot will create redirects "ADyear", "year AD", and "yearAD" to AD pages, and "BCyear", "BC year", and "yearBC" to the BC pages.


Discussion

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

Time filed: 23:36, Saturday, July 20, 2024 (UTC)

Function overview: WP:MASSCREATE the remaining 3200 out of 6700 Croatian naseljes (settlements), which are the third level division of the country. The bot can create stubs like Dubrava, Split-Dalmatia County. Update the existing articles with ZIP codes (new official source), and historical population data graphs (where possible, under full supervision).

Automatic, Supervised, or Manual: Automatic creation. Supervised or manual updates.

Programming language(s): Python @ PAWS

Source code available: possible

Links to relevant discussions (where appropriate): Wikipedia talk:WikiProject Croatia/Archive 5#Croatian settlement articles mass creation

Edit period(s): one time run

Estimated number of pages affected: 3200 (+2500 or so)

Namespace(s): Articles

Exclusion compliant (Yes/No): irrelevant

Function details:

  1. Create some 3200 articles from the list Wikipedia:WikiProject Croatia/To Do List/Missing settlements, link them with Wikidata.
  2. Update existing Croatian settlement articles with ZIP codes and historical population data graphs, where possible (time permitting). The same job has been completed on hrwiki for all 6700 settlements.


Discussion

  Needs wider discussion. The discussion you link was between you and only one other person. Please seek consensus at WP:Village pump (proposals) or a similar venue where we can be sure many people have seen it. Anomie 01:11, 21 July 2024 (UTC)[reply]

Hm... Thanks, though I'm not sure I wanna go through anything like Wikipedia:Village pump (proposals)/Archive 207 again. I thought the 2000+ existing Croatian settlement stubs would prove the current consensus. A few hundred stubs created by the two users I mentioned in the linked WikiProject:Croatia discussion definitely contain less information than my bot can add, and were all kept. Let me ping @Joy to see if he can help push this through... somewhere. I don't have time for endless opinionated discussions myself, I'm afraid. Ponor (talk) 01:49, 21 July 2024 (UTC)[reply]
You linked to a failed proposal to tighten the notability guideline, but it has little relevance to this proposal, because if all these new articles look like Dubrava, Split-Dalmatia County there's no way anyone's going to propose their deletion. These are not gas pumps masquerading as villages.
Even if we wanted to upmerge that information into list articles, those historical population graphs would just seem to be unwieldy, it would be pointless shoehorning.
@Primefac had previously allowed Wikipedia:Bots/Requests for approval/PonoRoboT and I don't remember seeing any problems, it seemed to be a nice, straightforward improvement to the encyclopedia.
@Anomie, is there a real difference here? IOW why would this change to these 3k settlement articles need more discussion when the previous change to analogous 3k settlement articles didn't?
The fact that one group of 3k Croatian places has articles while another group of them doesn't is a historical fluke. If we need a discussion on making this situation consistent, the previously existing group needs to be discussed as well. But we already know they all qualify under WP:5P1 etc, so I don't quite see why this would be frowned upon according to standard processes (WP:BOLD, WP:NOTBURO). --Joy (talk) 06:32, 21 July 2024 (UTC)[reply]
I was only reminding everyone what our notability discussions end up looking like. Since there were recent MEAT creations of these stubs, I'm thinking creating them by hand would be a waste of anyone's precious time if I can do the same thing, or better, by my bot.
I see that, for example, Serbia has all of their 3rd level two-sentence geo stubs created since 2010 or so. That says WP:EDITCON is there, no? Ponor (talk) 10:01, 21 July 2024 (UTC)[reply]
The real difference between Wikipedia:Bots/Requests for approval/PonoRoboT and this is that this is about creations, and the community has for many years now wanted to vet bot creations of articles before they happen. And that's regardless of whether the proposed creations would pass WP:N (part of it is that the community wants independent evaluation of that before the creations happen) or whether other articles on the topic or related topics already exist.
If you want to refer to policy, WP:MASSCREATION says (emphasis added) It is also strongly encouraged (and may be required by BAG) that community input be solicited at WP:Village pump (proposals) and the talk pages of any relevant WikiProjects. Unless you can get another BAGger to proceed without, this is me requiring. Anomie 11:17, 21 July 2024 (UTC)[reply]
I concur with Anomie on this one; we have an editor who, while other factors were involved, wanted to do a similar thing for 300 pages and is restricted to only making one per month. Creating ten times as many one-paragraph sub-stubs in a fraction of the time will need consensus. Yes, they aren't just gas stations, but other than "Town X has a population Y" there appears to be no more information readily available, so I would like to see a reasonable consensus to create these (and not just two editors agreeing it would be a good idea). As Anomie said, your first approved task was updating information, not creating new pages. Primefac (talk) 12:07, 21 July 2024 (UTC)[reply]
It's a clerical difference, it's just because some editor mass-created tens of thousands of these two decades ago and happened to miss half of the Croatian settlements. But okay, let's go through the motions, I'll file a proposal when I have the time (and if no one beats me to it). --Joy (talk) 18:57, 21 July 2024 (UTC)[reply]
@Ponor the best way to substantiate this proposal would be to make sure we show some external references on e.g. the Bureau of Statistics doing proper work (documenting existing human habitation as opposed to something weird), and illustrate the body of scholarly and other work out there on the topic of these settlements. If you have something to this effect already, please share. --Joy (talk) 19:05, 21 July 2024 (UTC)[reply]
Sure, I'll help with everything I know, but can't take the burden of convincing everyone on the project alone atm. I'd start with the first four refs in Dubrava, Split-Dalmatia County: there are laws, one agency takes care of the division(s), the bureau uses their data. Every town and municipality have their web page listing these settlements. Most settlements have a church, school, etc. Let's continue at WikiProject Croatia, huh? Ponor (talk) 19:20, 21 July 2024 (UTC)[reply]
I'd oppose the bot creating any more pages until Module:Croatian population data graph is translated into English and more pages become uneditable by editors unfamiliar with the language. Gonnym (talk) 11:00, 4 August 2024 (UTC)[reply]
  On hold. Please feel free to disable the {{BotOnHold}} template when consensus about the appropriateness of this task has been demonstrated. Primefac (talk) 23:48, 4 August 2024 (UTC)[reply]

Bots in a trial period

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

Time filed: 23:17, Wednesday, November 20, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Rust

Source code available: https://gitlab.wikimedia.org/toolforge-repos/datbot-deletion-notifier/

Function overview: Takeover of FastilyBot's deletion discussion notifiers

Links to relevant discussions (where appropriate): Wikipedia:Bot requests#Replacing FastilyBot

Edit period(s): Daily

Estimated number of pages affected:

Exclusion compliant (Yes/No): Yes

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

Function details: A rewrite of User:FastilyBot's task numbers 6, 12, 14, and 16; which deal with notifications for dated deletions, FFDs, file PRODs, and article PRODs respectively. The code is entirely adapted and rewritten into Rust, as while Fastily's code is impressive, all the tasks are combined into a number of first-party projects that would be a tad difficult for me to maintain and I wanted to try to make something in Rust so why not. There is a configuration page at User:DatBot/DeletionNotifier which merges User:FastilyBot/Task/6/Ignore and User:FastilyBot/Task/6/Rules for the dated deletion nominations, and I've made a few test edits on the category at Special:PageHistory/User:DatBot/sandbox. DatGuyTalkContribs 23:17, 20 November 2024 (UTC)[reply]

Discussion

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

Time filed: 09:57, Thursday, November 21, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: Currently not

Function overview: Remove {{Orphan image}} from free files which are not orphaned.

Links to relevant discussions (where appropriate): Wikipedia:Bot requests#Replacing FastilyBot

Edit period(s): Weekly

Estimated number of pages affected: 5-20 per week

Exclusion compliant (Yes/No): No

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

Function details: This is a replacement for FastilyBot task 4. The current code is good, but it does not fit my environment and would be difficult for me to maintain. Therefore, I am rewriting it from scratch using the Pywikibot framework.

Discussion

  Approved for trial (50 edits or 30 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Just need to make sure everything's working given the code rewrite. Primefac (talk) 12:36, 22 November 2024 (UTC)[reply]

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

Time filed: 15:59, Tuesday, September 24, 2024 (UTC)

Function overview: update Accelerated Mobile Pages/AMP links to normal links

Automatic, Supervised, or Manual: automatic

Programming language(s): pywikibot

Source code available: github repo

Links to relevant discussions (where appropriate): requested at BOTREQ around 1.5 years ago: Wikipedia:Bot requests/Archive 84#Accelerated Mobile Pages link eradicator needed, and village pump: Wikipedia:Village_pump_(technical)/Archive_202#Accelerated_Mobile_Pages_links, recently requested at BOTREQ a few days ago: special:permalink/1247505851.

Edit period(s): either weekly or monthly

Requested edit rate: 1 edit per 50 seconds.

Estimated number of pages affected: around 8,000 for now, but the estimation is high, around thousands of pages. later as they come in.

Namespace(s): main/article

Exclusion compliant (Yes/No): yes (for now), if required, that can be changed later

Function details: with usage of extensive regex patters, the bot looks for AMP links. It avoids false matching with general "amp" words in the domains eg yamaha-amplifiers.com. After finding, and updating the a link, the bot checks if the new/updated link is working, if it gets a 200 response code, the bot updates the link in article. Otherwise, the bot adds that article title, and (non-updated) link to a log file (this can be saved to a log page as well). —usernamekiran (talk) 15:59, 24 September 2024 (UTC)[reply]

  • addendum: I should have included this already, but I forgot. In the BOTREQ, and other discussions, an open source "amputatorbot" github was discussed. This bot has a lot of irrelevant functions for wikipedia. The only relevant feature is to remove AMP links. But for this, the amputatorbot utilises a database for storing a list of ~400k ~200k AMP links, and another list of canonical links of these AMP links. Maintaining this database, and the never-ending list of links for Wikipedia is not feasible. The program I created utilises comprehensive regex patterns. It also handles the archived links gracefully. —usernamekiran (talk) 17:50, 28 September 2024 (UTC)[reply]

Discussion

  • Maintaining this database, and the never-ending list of links for Wikipedia is not feasible But you wouldn't have to maintain this database right, if the authors of that GitHub repo already do, or have made it available?
  • The program I created utilises comprehensive regex patterns. It also handles the archived links gracefully. Would you mind providing those patterns here for evaluation?

Aside from that, happy for this to go to trial. @GreenC: any comments on this, and does this fall into the scope of your bot? ProcrastinatingReader (talk) 10:40, 29 September 2024 (UTC)[reply]

  • I will soon post the link to github, and reasoning for avoiding the database method. —usernamekiran (talk) 13:21, 29 September 2024 (UTC)[reply]
    @ProcrastinatingReader: Hi. Yes, the author at github has made it available, but I think the database has not been updated in 4 years, I am not sure though. I also could not find the database itself. If we utilise the database, the bot would not process the "unknown" amp links that are not in the database. In that case we will have to use the method that we are currently using. Also, the general process would be more resource intensive I think, ie: "1: search for the amp links in articles 2: if amp link is found in article, look for it in the database 3: find the corresponding canonical link 4: replace in the article. Even if the database is being maintained, we will have to keep it updated, and we will have to add our new findings to the database. I think this simpler approach would be better. KiranBOT at github, AmputatorBot readme at github. Kindly let me know what you think. —usernamekiran (talk) 19:50, 29 September 2024 (UTC)[reply]
    PS: I notified GreenC on their talkpage. Also, in the script, I added more comments than I usually do, and the script was created over the days/in parts, so the commenting might feel a little odd. —usernamekiran (talk) 19:54, 29 September 2024 (UTC)[reply]
    This sounds like a good idea. I ran into AMP URLs with the Times of India domains, and made many conversions. It seemed site specific. Like m.timesofindia.com became timesofindia.indiatimes.com and "(amp_articleshow|amp_videoshow|amp_etphotostory|amp_ottmoviereview|amp_etc..)" had the "amp_" part removed. Anyway, I'll watchlist this page and feel free to ping me for input once test edits are made. -- GreenC 23:42, 29 September 2024 (UTC)[reply]
  • @ProcrastinatingReader: if there are no further questions/doubts, is a trial in order? I am sure about one issue related to https, but I think we should discuss it after the trial. —usernamekiran (talk) 15:16, 2 October 2024 (UTC)[reply]
  • {{BAG assistance needed}} —usernamekiran (talk) 08:42, 5 October 2024 (UTC)[reply]
    Reviewing the code, you're applying a set of rules (amp.domain.tldwww.domain.tld, /amp//, ?amp=true&...?...) and then checking the URL responds with 200 to a HEAD request. That seems good for most cases, but there are going to be some instances where the site uses an unusual AMP URL mapping and responds with 200 to all/most/some invalid requests, especially considering we are following redirects (but not updating the URL to the followed redirect). It also will not work for the example edit from the BOTREQ? I don't know how to solve this issue without some way of checking the redirected page actually contains some of the content we are looking for, or access to a database of checked mappings. Maybe the frequency of mistakes will be low enough for this to not be a problem? I am unsure. Any thoughts from others? — The Earwig (talk) 16:10, 5 October 2024 (UTC)[reply]
    These are good points. Soft-404s and soft-redirects are the biggest (but not only) issues with URL changes. With soft-404s, you first process the links without committing changes, log redirect URLs, see which redirect URLs are repeating, manually inspect them to see if they are a soft-404; then process the links again with a trap added to treat the identified soft-404s as a dead link. Not all repeating redirects are soft-404s but many will be, you have to do the discovery work. For soft-redirects, it requires foreknowledge based on manual inspections, like the Times of India example above. URL changes are difficult for these reasons, and others mentioned in WP:LINKROT#Glossary. -- GreenC 17:53, 5 October 2024 (UTC)[reply]
    @GreenC any suggestions on logic/algorithm? I will try to implement them. I dont mind further work to perfect the program   —usernamekiran (talk) 20:32, 6 October 2024 (UTC)[reply]
  • @GreenC, ProcrastinatingReader, and The Earwig: I updated the code, and tested it on a few types of links (that I could think of), as listed in this version of the page, diff of the fix. Kindly suggest me more types/formats of AMP links, and any suggestions/updates to the code. —usernamekiran (talk) 02:49, 31 October 2024 (UTC)[reply]
    1. I see you log failed cases. If not already, also log successes (old url -> new url), in case you need to reverse some later (new url -> old url).
    2. One way to avoid the problems noted by The Earwig is simply skip URLs with 301/302 headers. Most soft-404s are redirect URLs. With the exception of http->https, those are OK. You can always go back and revisit them later. One way to do this is log the URL "sink" (the final URL in the redirect chain), then script the logs to see if any sinks are repeating.
    -- GreenC 04:19, 31 October 2024 (UTC)[reply]
    okay, I will try that. —usernamekiran (talk) 17:41, 11 November 2024 (UTC)[reply]
  • {{BAG assistance needed}} I made a few changes/additions to the program. In summary: 1) if original URL works, but cleaned url fails, saving is skipped 2) if AMP url, and cleaned url both return non-200, cleaned url is saved 3) if the cleaned url results in a redirect (301, or 302), and the final url after redirection differs from the original AMP url's final destination, saving is skipped. All the events are logged accordingly. I think we are good for a 50 edit trial. courtesy ping @GreenC: —usernamekiran (talk) 05:51, 16 November 2024 (UTC)[reply]
    Just noting this has been seen; I'll give GreenC a few days to respond but otherwise I'll chuck this to trial if there is no response (or a favourable response). Primefac (talk) 20:39, 17 November 2024 (UTC)[reply]
    Hi. Given the large number of pages affected, and in case there is some issue — then potential of breaking references —essentially breaking WP:V, I don't want to take any chances. So no hurries on my side either. —usernamekiran (talk) 13:23, 20 November 2024 (UTC)[reply]
    I think it would be easier to error check if you were able to make 10 edits on live pages. If those go well, then 10 more. And so on, going through the results manually verifying, and refactoring edge cases as they arise, before moving to the next set. We should know by 50 edits total how things are. In that sense, if you were approved for 50 trial edits. User:Primefac. -- GreenC 17:11, 20 November 2024 (UTC)[reply]
    yes, I was thinking the same. I tested the program on Charles III, and few other pages, but I'm still doubtful about various possibilities. Even if approved, I'm thinking to go very slow for the first few runs, and only after thorough scrutiny I will run it normally, with 1 edit per 5 seconds. —usernamekiran (talk) 10:22, 21 November 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 follow the time frame set out by GreenC - you do not necessarily have tag this with {{BotTrialComplete}} after each grouping of 10 (that would get a little silly) but post the results of each group here so that others may review. For the sake of expanded viewing, please do not mark the edits as minor. Primefac (talk) 11:36, 21 November 2024 (UTC)[reply]

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

Time filed: 08:51, Monday, July 8, 2024 (UTC)

Function overview: Adjusts templates based on provided JSON configuration files. This request is limited to Template:Cite news and Template:Cite web, and is primarily intended to correct issues where the work or publisher is linked to the wrong target.

Automatic, Supervised, or Manual: Automatic

Programming language(s): Python

Source code available: Not currently

Links to relevant discussions (where appropriate):

Edit period(s): Initially, irregular one-off runs, with each held after significant expansions to the configuration file. Once most citations have been fixed I will open a request for continuous operation in a maintenance mode.

Estimated number of pages affected: Varies considerably based on configuration. This configuration, which applies to ten sources, will edit approximately 23,000. This configuration, which goes beyond correcting wrong links and also always inserts the correct link when one is missing, will edit approximately 450,000.

Namespace(s): Mainspace

Exclusion compliant (Yes/No): Yes

Function details: Adjusts parameters of Cite news and Cite web based on a configuration file. This configuration can be applied to any parameter, but the intent of this request is to apply it to the following:

  • work
  • publisher
  • publication-place
  • department
  • agency
  • url-access

It determines which change to apply based on current parameter field values. Any field or combination of fields can be used, but the intent of this request is to use the "url" field.

Adjustments can be specified as "always", "onEdit", or "never". When "always" is specified, if a change is identified as being desired for a parameter the article will be edited to implement it. When "onEdit" is specified, desirable changes are only implemented if we are already editing the page. This reduces the impact on watchlists by skipping articles that don't have high priority issues.

Configuration schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "includes": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "key": {
              "type": "string",
              "example": "url"
            },
            "value": {
              "type": "array",
              "items": {
                "type": "string",
                "example": ["www.bbc.com", "www.bbc.co.uk"]
              }
            }
              
          }
        },
        "description": "Lists conditions required to be met for this configuration to be applied to the template."
      },
      "excludes": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "key": {
              "type": "string",
              "example": "url"
            },
            "value": {
              "type": "array",
              "items": {
                "type": "string",
                "example": ["www.bbc.com/sport", "www.bbc.co.uk/sport"]
              }
            }
          },
          "description": "Lists conditions that must not be met for this configuration to be applied to the template."
        }
      },
      "patternProperties": {
        "^[a-zA-Z0-9-]+$": {
          "oneOf": [
            {
              "type": "array",
              "description": "Named for the parameter, and defines what will be done with it. Used when there are multiple possible configurations for the parameter.",
              "items": {
              "$ref": "#/definitions/parameter-config"
            }
          },
            {
              "type": "object",
              "description": "Named for the parameter, and defines what will be done with it. Used when there is only one possible configuration for the parameter.",
              "$ref": "#/definitions/parameter-config"
            }
          ]
        }
      }
    },
    "definitions": {
      "parameter-config": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$id": "parameter-config",
        "type": "object",
        "properties": {
          "includes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "example": ["url"]
                },
                "value": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": ["www.bbc.com", "www.bbc.co.uk"]
                  }
                }
              }
            },
            "description": "Lists conditions required to be met for this configuration to be applied to the parameter."
          },
          "excludes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                "type": "string",
                "example": ["url"]
                },
                "value": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": ["www.bbc.com/sport", "www.bbc.co.uk/sport"]
                  }
                }
              }
            },
            "description": "Lists conditions that must not be met for this configuration to be applied to the parameter."
          },
          "link": {
            "type": "string",
            "description": "Where the parameter should normally link to",
            "example": ["ABC News (Australia)"]
          },
          "wikitext": {
            "type": "string",
            "description": "What the wikitext of the parameter should normally be",
            "example": ["ABC News"]
          },
          "blacklist": {
            "type": "array",
            "items": {
              "type": "string",
              "example": ["ABC News (United States)", "ABC News"]
            },
            "description": "Links that will always be removed"
          },
          "greylist": {
            "type": "array",
            "items": {
              "type": "string",
              "example": ["Australian Broadcasting Corporation"]
            },
            "description": "Links that will only be removed when already editing the page. Used to prevent edits that would only fix issues we consider minor."
          },
          "whitelist": {
            "type": "array",
            "items": {
              "type": "string",
              "example": ["The Sunday Telegraph (Sydney)"]
            },
            "description": "Links that will never be removed. Used when we believe editors may have deliberately provided a non-standard value that we wish to respect."
          },
          "fixRedirects": {
            "type": "string",
            "enum": ["always", "onEdit", "never"],
            "default": "onEdit",
            "description": "Specifies when we will replace redirects to the provided link with the provided link."
          },
          "fixDisplay": {
            "type": "string",
            "enum": ["always", "onEdit", "never"],
            "default": "onEdit",
            "description": "Specifies when we will replace the currently displayed text with the displayed version of the provided Wikitext."
          },
          "fixOthers": {
            "type": "string",
            "enum": ["always", "onEdit", "never"],
            "default": "always",
            "description": "Specifies when we will replace links to pages that are neither redirects to the link nor on the provided lists."
          },
          "fixMissing": {
            "type": "string",
            "enum": ["always", "onEdit", "never"],
            "default": "onEdit",
            "description": "Specifies when we will add a missing value"
          },
          "priority": {
            "type": "integer",
            "default": 5,
            "description": "Provides a tie-breaker when multiple array objects meet the inclusion or exclusion criteria. Higher value is preferred. It is unspecified which configuration object is used when both have the same priority level.",
            "minimum": 1
          }
        }
      }
    }
  }
}

What it does to these parameters depends on the configuration. For example:

"work": 
  {
    "link": "ABC News (Australia)",
    "wikitext": "ABC News",
    "blacklist": ["ABC News (United States)", "ABC News"],
    "greylist": ["Australian Broadcasting Corporation"],
    "fixMissing": "onEdit",
    "fixRedirects": "onEdit",
    "fixOthers": "always"
  }

Will ensure that the "work" parameter only links to ABC News (Australia). When it finds a link to a source other than ABC News (Australia), its redirects, or Australian Broadcasting Corporation, it will edit the article to correct that link.

When it encounters a redirect, or Australian Broadcasting Corporation, or a missing value, it will only correct those if it is already editing the article.

If we change "fixMissing" to "always", it would edit the article to insert the value.

"agency":
   {
     "includes":
     [
       {
         "key": "agency",
         "value": ["Reuters"]
       }
     ],
     "remove": "onEdit"
   }

Will remove the agency field when it contains "Reuters". This is used to correct when the field has been incorrectly filled with the name of the publisher or work.

"department":
  [
    {
      "includes": 
      [
        {
          "key": "url",
          "value": ["reuters.com/world/"]
        }
      ],
      "wikitext": "World"
    },
    {
      "includes": 
      [
        {
          "key": "url",
          "value": ["reuters.com/world/reuters-next/"]
        }
      ],
      "wikitext": "Reuters Next",
      "priority": 6
    },
    {
      "includes": 
      [
        {
          "key": "url",
          "value": ["reuters.com/business/"]
        }
      ],
      "wikitext": "Business"
    }
  ]

This fills in the department field based on the source url. If none of these are met then the department field is not filled.

The current configuration file will do the following:

The intent is that the community will expand the configuration file, increasing the number of citations it can fix.

Example of template replacements
Article Current Replacement
History of Apple Inc. {{Cite news |access-date=June 27, 2011 |archive-date=November 17, 2017 |archive-url=https://web.archive.org/web/20171117174448/http://www.nytimes.com/library/cyber/week/091797apple.html |date=September 17, 1997 |title=Apple Formally Names Jobs as Interim Chief |url=https://www.nytimes.com/library/cyber/week/091797apple.html |url-status=live |work=The New York Times}} {{cite news |date=September 17, 1997 |title=Apple Formally Names Jobs as Interim Chief |url=https://www.nytimes.com/library/cyber/week/091797apple.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20171117174448/http://www.nytimes.com/library/cyber/week/091797apple.html |archive-date=November 17, 2017 |access-date=June 27, 2011}}
History of Apple Inc. {{Cite news |access-date=July 12, 2019 |archive-date=January 12, 2022 |archive-url=https://ghostarchive.org/archive/20220112/https://www.telegraph.co.uk/technology/apple/11507451/Apple-celebrates-39th-year-on-April-1.html |date=April 1, 2015 |first=Rhiannon |last=Williams |title=Apple celebrates 39th year on April 1 |url=https://www.telegraph.co.uk/technology/apple/11507451/Apple-celebrates-39th-year-on-April-1.html |url-access=subscription |url-status=live |work=[[The Daily Telegraph|The Telegraph]]}} {{cite news |last1=Williams |first1=Rhiannon |date=April 1, 2015 |title=Apple celebrates 39th year on April 1 |url=https://www.telegraph.co.uk/technology/apple/11507451/Apple-celebrates-39th-year-on-April-1.html |url-access=subscription |url-status=live |work=[[The Daily Telegraph]] |publisher=[[Telegraph Media Group]] |publication-place=London, United Kingdom |archive-url=https://ghostarchive.org/archive/20220112/https://www.telegraph.co.uk/technology/apple/11507451/Apple-celebrates-39th-year-on-April-1.html |archive-date=January 12, 2022 |access-date=July 12, 2019}}
History of Apple Inc. {{Cite news |access-date=March 16, 2020 |archive-date=May 21, 2020 |archive-url=https://web.archive.org/web/20200521133837/https://www.nytimes.com/1981/08/13/business/big-ibm-s-little-computer.html |date=August 13, 1981 |first=Andrew |issn=0362-4331 |language=en-US |last=Pollack |page=D1 |title=Big I.B.M.'s Little Computer |url=https://www.nytimes.com/1981/08/13/business/big-ibm-s-little-computer.html |url-status=live |work=The New York Times}} {{cite news |last1=Pollack |first1=Andrew |date=August 13, 1981 |title=Big I.B.M.'s Little Computer |url=https://www.nytimes.com/1981/08/13/business/big-ibm-s-little-computer.html |url-access=limited |url-status=live |work=[[The New York Times]] |page=D1 |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20200521133837/https://www.nytimes.com/1981/08/13/business/big-ibm-s-little-computer.html |archive-date=May 21, 2020 |access-date=March 16, 2020}}
History of Apple Inc. {{Cite news |access-date=October 19, 2013 |archive-date=December 5, 2010 |archive-url=https://web.archive.org/web/20101205224753/http://query.nytimes.com/gst/fullpage.html?sec=technology&res=9803E7D61038F936A3575BC0A963948260 |date=August 5, 1985 |first=David E. |last=Sanger |title=Philip Estridge Dies in Jet Crash; Guided IBM Personal Computer |url=https://www.nytimes.com/1985/08/05/us/philip-estridge-dies-in-jet-crash-guided-ibm-personal-computer.html |url-status=live |work=The New York Times}} {{cite news |last1=Sanger |first1=David E. |date=August 5, 1985 |title=Philip Estridge Dies in Jet Crash; Guided IBM Personal Computer |url=https://www.nytimes.com/1985/08/05/us/philip-estridge-dies-in-jet-crash-guided-ibm-personal-computer.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20101205224753/http://query.nytimes.com/gst/fullpage.html?sec=technology&res=9803E7D61038F936A3575BC0A963948260 |archive-date=December 5, 2010 |access-date=October 19, 2013}}
History of Apple Inc. {{Cite news |access-date=March 16, 2020 |archive-date=May 21, 2020 |archive-url=https://web.archive.org/web/20200521110634/https://www.nytimes.com/1983/03/27/business/big-ibm-has-done-it-again.html |date=March 27, 1983 |first=Andrew |issn=0362-4331 |language=en-US |last=Pollack |page=Section 3, Page 1 |title=Big I.B.M. Has Done It Again |url=https://www.nytimes.com/1983/03/27/business/big-ibm-has-done-it-again.html |url-status=live |work=The New York Times}} {{cite news |last1=Pollack |first1=Andrew |date=March 27, 1983 |title=Big I.B.M. Has Done It Again |url=https://www.nytimes.com/1983/03/27/business/big-ibm-has-done-it-again.html |url-access=limited |url-status=live |work=[[The New York Times]] |page=Section 3, Page 1 |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20200521110634/https://www.nytimes.com/1983/03/27/business/big-ibm-has-done-it-again.html |archive-date=May 21, 2020 |access-date=March 16, 2020}}
History of Apple Inc. {{Cite news |access-date=July 3, 2017 |archive-date=June 24, 2024 |archive-url=https://web.archive.org/web/20240624215208/https://www.nytimes.com/1984/11/19/business/ibm-entry-unchallenged-at-show.html |date=November 19, 1984 |first=David E. |issn=0362-4331 |language=en-US |last=Sanger |title=I.B.M. Entry Unchallenged at Show |url=https://www.nytimes.com/1984/11/19/business/ibm-entry-unchallenged-at-show.html |url-status=live |work=The New York Times}} {{cite news |last1=Sanger |first1=David E. |date=November 19, 1984 |title=I.B.M. Entry Unchallenged at Show |url=https://www.nytimes.com/1984/11/19/business/ibm-entry-unchallenged-at-show.html |url-access=limited |url-status=live |work=[[The New York Times]] |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20240624215208/https://www.nytimes.com/1984/11/19/business/ibm-entry-unchallenged-at-show.html |archive-date=June 24, 2024 |access-date=July 3, 2017}}
History of Apple Inc. {{Cite web |access-date=November 25, 2019 |archive-date=June 24, 2024 |archive-url=https://web.archive.org/web/20240624215210/https://www.telegraph.co.uk/technology/apple/4315904/Apple-Mac-computers-through-the-ages.html?image=1 |publisher=[[The Daily Telegraph]] |title=Apple Mac computers through the ages |url=https://www.telegraph.co.uk/technology/apple/4315904/Apple-Mac-computers-through-the-ages.html?image=1 |url-status=live}} {{cite web |title=Apple Mac computers through the ages |url=https://www.telegraph.co.uk/technology/apple/4315904/Apple-Mac-computers-through-the-ages.html?image=1 |url-status=live |work=[[The Daily Telegraph]] |publisher=[[Telegraph Media Group]] |publication-place=London, United Kingdom |archive-url=https://web.archive.org/web/20240624215210/https://www.telegraph.co.uk/technology/apple/4315904/Apple-Mac-computers-through-the-ages.html?image=1 |archive-date=June 24, 2024 |access-date=November 25, 2019}}
History of Apple Inc. {{Cite news |access-date=August 29, 2017 |archive-date=June 24, 2024 |archive-url=https://web.archive.org/web/20240624215215/https://www.nytimes.com/1988/03/03/business/apple-buying-software-unit.html |date=March 2, 1988 |title=Apple Buying Software Unit |url=https://www.nytimes.com/1988/03/03/business/apple-buying-software-unit.html |url-status=live |work=[[The New York Times]]}} {{cite news |date=March 2, 1988 |title=Apple Buying Software Unit |url=https://www.nytimes.com/1988/03/03/business/apple-buying-software-unit.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20240624215215/https://www.nytimes.com/1988/03/03/business/apple-buying-software-unit.html |archive-date=June 24, 2024 |access-date=August 29, 2017}}
History of Apple Inc. {{Cite news |access-date=August 29, 2017 |archive-date=June 24, 2024 |archive-url=https://web.archive.org/web/20240624215215/https://www.nytimes.com/1988/06/28/business/company-news-apple-unit-buys-software-concern.html |date=June 27, 1988 |title=COMPANY NEWS; Apple Unit Buys Software Concern |url=https://www.nytimes.com/1988/06/28/business/company-news-apple-unit-buys-software-concern.html |url-status=live |work=The New York Times}} {{cite news |date=June 27, 1988 |title=COMPANY NEWS; Apple Unit Buys Software Concern |url=https://www.nytimes.com/1988/06/28/business/company-news-apple-unit-buys-software-concern.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20240624215215/https://www.nytimes.com/1988/06/28/business/company-news-apple-unit-buys-software-concern.html |archive-date=June 24, 2024 |access-date=August 29, 2017}}
History of Apple Inc. {{Cite news |access-date=February 4, 2011 |archive-date=October 8, 2011 |archive-url=https://web.archive.org/web/20111008123353/http://www.nytimes.com/1997/09/01/business/an-unknown-co-founder-leaves-after-20-years-of-glory-and-turmoil.html?pagewanted=all&src=pm |date=September 1, 1997 |first=John |last=Markoff |title=An 'Unknown' Co-Founder Leaves After 20 Years of Glory and Turmoil |url=https://www.nytimes.com/1997/09/01/business/an-unknown-co-founder-leaves-after-20-years-of-glory-and-turmoil.html?pagewanted=all&src=pm |url-status=live |work=The New York Times}} {{cite news |last1=Markoff |first1=John |date=September 1, 1997 |title=An 'Unknown' Co-Founder Leaves After 20 Years of Glory and Turmoil |url=https://www.nytimes.com/1997/09/01/business/an-unknown-co-founder-leaves-after-20-years-of-glory-and-turmoil.html?pagewanted=all&src=pm |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20111008123353/http://www.nytimes.com/1997/09/01/business/an-unknown-co-founder-leaves-after-20-years-of-glory-and-turmoil.html?pagewanted=all&src=pm |archive-date=October 8, 2011 |access-date=February 4, 2011}}
History of Apple Inc. {{Cite web |access-date=June 14, 2017 |archive-date=July 2, 2017 |archive-url=https://web.archive.org/web/20170702024415/http://www.nytimes.com/2010/05/27/technology/27apple.html |author2-link=Ashlee Vance |date=May 26, 2010 |first1=Miguel |first2=Ashlee |last1=Helft |last2=Vance |title=Apple Passes Microsoft as No. 1 in Tech |url=https://www.nytimes.com/2010/05/27/technology/27apple.html |url-status=live |website=[[The New York Times]]}} {{cite web |last1=Helft |first1=Miguel |last2=Vance |first2=Ashlee |date=May 26, 2010 |title=Apple Passes Microsoft as No. 1 in Tech |url=https://www.nytimes.com/2010/05/27/technology/27apple.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20170702024415/http://www.nytimes.com/2010/05/27/technology/27apple.html |archive-date=July 2, 2017 |access-date=June 14, 2017}}
History of Apple Inc. {{Cite web |access-date=June 14, 2017 |archive-date=April 21, 2017 |archive-url=https://web.archive.org/web/20170421054932/http://www.reuters.com/article/us-apple-stock-idUSTRE64P5PE20100526 |date=May 26, 2010 |first=Bill |last=Rigby |publisher=[[Thomson Reuters]] |title=Apple overtakes Microsoft as biggest tech company |url=https://www.reuters.com/article/us-apple-stock-idUSTRE64P5PE20100526 |url-status=live |website=[[Reuters]]}} {{cite web |last1=Rigby |first1=Bill |date=May 26, 2010 |title=Apple overtakes Microsoft as biggest tech company |url=https://www.reuters.com/article/us-apple-stock-idUSTRE64P5PE20100526 |url-status=live |work=[[Reuters]] |publisher=[[Thomson Reuters]] |publication-place=London, United Kingdom |archive-url=https://web.archive.org/web/20170421054932/http://www.reuters.com/article/us-apple-stock-idUSTRE64P5PE20100526 |archive-date=April 21, 2017 |access-date=June 14, 2017}}
History of Apple Inc. {{Cite web |access-date=June 14, 2017 |archive-date=September 8, 2017 |archive-url=https://web.archive.org/web/20170908112421/http://www.nytimes.com/2011/04/29/technology/29microsoft.html |date=April 28, 2011 |first=Verne G. |last=Kopytoff |title=PC Sales Off, Games Buoy Microsoft |url=https://www.nytimes.com/2011/04/29/technology/29microsoft.html |url-status=live |website=[[The New York Times]]}} {{cite web |last1=Kopytoff |first1=Verne G. |date=April 28, 2011 |title=PC Sales Off, Games Buoy Microsoft |url=https://www.nytimes.com/2011/04/29/technology/29microsoft.html |url-access=limited |url-status=live |work=[[The New York Times]] |archive-url=https://web.archive.org/web/20170908112421/http://www.nytimes.com/2011/04/29/technology/29microsoft.html |archive-date=September 8, 2017 |access-date=June 14, 2017}}
History of Apple Inc. {{Cite web |access-date=June 14, 2017 |archive-date=October 19, 2013 |archive-url=https://web.archive.org/web/20131019115501/http://www.theguardian.com/technology/2011/apr/28/microsoft-falls-behind-apple |date=April 28, 2011 |first=Charles |last=Arthur |title=Microsoft falls behind Apple for first time in 20 years |url=https://www.theguardian.com/technology/2011/apr/28/microsoft-falls-behind-apple |url-status=live |website=[[The Guardian]]}} {{cite web |last1=Arthur |first1=Charles |date=April 28, 2011 |title=Microsoft falls behind Apple for first time in 20 years |url=https://www.theguardian.com/technology/2011/apr/28/microsoft-falls-behind-apple |url-status=live |work=[[The Guardian]] |publication-place=London, United Kingdom |archive-url=https://web.archive.org/web/20131019115501/http://www.theguardian.com/technology/2011/apr/28/microsoft-falls-behind-apple |archive-date=October 19, 2013 |access-date=June 14, 2017}}
History of Apple Inc. {{Cite news |access-date=2024-06-14 |archive-date=December 13, 2023 |archive-url=https://web.archive.org/web/20231213192034/https://www.nytimes.com/2020/02/17/technology/apple-coronavirus-economy.html |date=2020-02-17 |first=Daisuke |issn=0362-4331 |language=en-US |last=Wakabayashi |title=Apple Signals Coronavirus's Threat to Global Businesses |url=https://www.nytimes.com/2020/02/17/technology/apple-coronavirus-economy.html |url-status=live |work=The New York Times}} {{cite news |last1=Wakabayashi |first1=Daisuke |date=2020-02-17 |title=Apple Signals Coronavirus's Threat to Global Businesses |url=https://www.nytimes.com/2020/02/17/technology/apple-coronavirus-economy.html |url-access=limited |url-status=live |work=[[The New York Times]] |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20231213192034/https://www.nytimes.com/2020/02/17/technology/apple-coronavirus-economy.html |archive-date=December 13, 2023 |access-date=2024-06-14}}
History of Apple Inc. {{Cite news |access-date=2024-06-14 |archive-date=June 15, 2024 |archive-url=https://web.archive.org/web/20240615074727/https://www.nytimes.com/2024/06/11/technology/apple-vision-pro-needs.html |date=2024-06-11 |first=Kevin |issn=0362-4331 |language=en-US |last=Roose |title=Can Apple Rescue the Vision Pro? |url=https://www.nytimes.com/2024/06/11/technology/apple-vision-pro-needs.html |url-status=live |work=The New York Times}} {{cite news |last1=Roose |first1=Kevin |date=2024-06-11 |title=Can Apple Rescue the Vision Pro? |url=https://www.nytimes.com/2024/06/11/technology/apple-vision-pro-needs.html |url-access=limited |url-status=live |work=[[The New York Times]] |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20240615074727/https://www.nytimes.com/2024/06/11/technology/apple-vision-pro-needs.html |archive-date=June 15, 2024 |access-date=2024-06-14}}
History of Apple Inc. {{Cite news |access-date=2024-06-14 |archive-date=June 14, 2024 |archive-url=https://web.archive.org/web/20240614021614/https://www.nytimes.com/2023/12/22/technology/apple-ai-news-publishers.html |date=2023-12-22 |first1=Benjamin |first2=Tripp |issn=0362-4331 |language=en-US |last1=Mullin |last2=Mickle |title=Apple Explores A.I. Deals With News Publishers |url=https://www.nytimes.com/2023/12/22/technology/apple-ai-news-publishers.html |url-status=live |work=The New York Times}} {{cite news |last1=Mullin |first1=Benjamin |last2=Mickle |first2=Tripp |date=2023-12-22 |title=Apple Explores A.I. Deals With News Publishers |url=https://www.nytimes.com/2023/12/22/technology/apple-ai-news-publishers.html |url-access=limited |url-status=live |work=[[The New York Times]] |language=en-US |issn=0362-4331 |archive-url=https://web.archive.org/web/20240614021614/https://www.nytimes.com/2023/12/22/technology/apple-ai-news-publishers.html |archive-date=June 14, 2024 |access-date=2024-06-14}}
No One Is Talking About This {{Cite web |access-date=2022-02-09 |date=2021-02-12 |language=en |title=No One Is Talking About This by Patricia Lockwood review – life in the Twittersphere |url=http://www.theguardian.com/books/2021/feb/12/no-one-is-talking-about-this-by-patricia-lockwood-review-life-in-the-twittersphere |website=the Guardian}} {{cite web |date=2021-02-12 |title=No One Is Talking About This by Patricia Lockwood review – life in the Twittersphere |url=http://www.theguardian.com/books/2021/feb/12/no-one-is-talking-about-this-by-patricia-lockwood-review-life-in-the-twittersphere |work=[[The Guardian]] |language=en |publication-place=London, United Kingdom |access-date=2022-02-09}}
No One Is Talking About This {{Cite news |access-date=March 3, 2021 |date=February 4, 2021 |first=Rhiannon Lucy |language=en-US |last=Cosslett |title=What can the modern novel tell us about life in the age of the internet? |url=https://www.theguardian.com/commentisfree/2021/feb/04/internet-novel-patricia-lockwood-lauren-oyler-grief |work=[[The Guardian]]}} {{cite news |last1=Cosslett |first1=Rhiannon Lucy |date=February 4, 2021 |title=What can the modern novel tell us about life in the age of the internet? |url=https://www.theguardian.com/commentisfree/2021/feb/04/internet-novel-patricia-lockwood-lauren-oyler-grief |work=[[The Guardian]] |department=Opinion |language=en-US |publication-place=London, United Kingdom |access-date=March 3, 2021}}
No One Is Talking About This {{Cite news |access-date=22 November 2021 |publisher=New York Times |title=100 Notable Books of 2021 |url=https://www.nytimes.com/interactive/2021/11/22/books/notable-books.html}} {{cite news |title=100 Notable Books of 2021 |url=https://www.nytimes.com/interactive/2021/11/22/books/notable-books.html |url-access=limited |work=[[The New York Times]] |access-date=22 November 2021}}
No One Is Talking About This {{Cite web |access-date=July 27, 2021 |title=Women's prize for fiction shortlist entirely first-time nominees |url=http://www.theguardian.com/books/2021/apr/28/womens-prize-for-fiction-shortlist-susanna-clarke-yaa-gyasi-patricia-lockwood |website=[[the Guardian]]}} {{cite web |title=Women's prize for fiction shortlist entirely first-time nominees |url=http://www.theguardian.com/books/2021/apr/28/womens-prize-for-fiction-shortlist-susanna-clarke-yaa-gyasi-patricia-lockwood |work=[[The Guardian]] |publication-place=London, United Kingdom |access-date=July 27, 2021}}
LaMDA {{Cite news |access-date=June 18, 2022 |archive-date=June 12, 2022 |archive-url=https://web.archive.org/web/20220612174014/https://www.theguardian.com/technology/2022/jun/12/google-engineer-ai-bot-sentient-blake-lemoine |date=June 12, 2022 |first=Richard |issn=0261-3077 |last=Luscombe |newspaper=[[The Guardian]] |title=Google engineer put on leave after saying AI chatbot has become sentient |url=https://www.theguardian.com/technology/2022/jun/12/google-engineer-ai-bot-sentient-blake-lemoine |url-status=live}} {{cite news |last1=Luscombe |first1=Richard |date=June 12, 2022 |title=Google engineer put on leave after saying AI chatbot has become sentient |url=https://www.theguardian.com/technology/2022/jun/12/google-engineer-ai-bot-sentient-blake-lemoine |url-status=live |work=[[The Guardian]] |publication-place=London, United Kingdom |issn=0261-3077 |archive-url=https://web.archive.org/web/20220612174014/https://www.theguardian.com/technology/2022/jun/12/google-engineer-ai-bot-sentient-blake-lemoine |archive-date=June 12, 2022 |access-date=June 18, 2022}}
LaMDA {{Cite web |access-date=July 23, 2022 |archive-date=July 23, 2022 |archive-url=https://web.archive.org/web/20220723030358/https://www.reuters.com/technology/google-fires-software-engineer-who-claimed-its-ai-chatbot-is-sentient-2022-07-23/ |date=July 23, 2022 |first=Akanksha |last=Khushi |publisher=[[Reuters]] |title=Google fires software engineer who claimed its AI chatbot is sentient |url=https://www.reuters.com/technology/google-fires-software-engineer-who-claimed-its-ai-chatbot-is-sentient-2022-07-23/ |url-access=limited |url-status=live}} {{cite web |last1=Khushi |first1=Akanksha |date=July 23, 2022 |title=Google fires software engineer who claimed its AI chatbot is sentient |url=https://www.reuters.com/technology/google-fires-software-engineer-who-claimed-its-ai-chatbot-is-sentient-2022-07-23/ |url-access=limited |url-status=live |work=[[Reuters]] |department=Technology |publisher=[[Thomson Reuters]] |publication-place=London, United Kingdom |archive-url=https://web.archive.org/web/20220723030358/https://www.reuters.com/technology/google-fires-software-engineer-who-claimed-its-ai-chatbot-is-sentient-2022-07-23/ |archive-date=July 23, 2022 |access-date=July 23, 2022}}
LaMDA {{Cite news |access-date=June 18, 2022 |archive-date=June 12, 2022 |archive-url=https://web.archive.org/web/20220612202836/https://www.nytimes.com/2022/06/12/technology/google-chatbot-ai-blake-lemoine.html |date=June 12, 2022 |first1=Nicole |first2=Cade |issn=0362-4331 |last1=Grant |last2=Metz |newspaper=[[The New York Times]] |title=Google Sidelines Engineer Who Claims Its A.I. Is Sentient |url=https://www.nytimes.com/2022/06/12/technology/google-chatbot-ai-blake-lemoine.html |url-access=limited |url-status=live}} {{cite news |last1=Grant |first1=Nicole |last2=Metz |first2=Cade |date=June 12, 2022 |title=Google Sidelines Engineer Who Claims Its A.I. Is Sentient |url=https://www.nytimes.com/2022/06/12/technology/google-chatbot-ai-blake-lemoine.html |url-access=limited |url-status=live |work=[[The New York Times]] |issn=0362-4331 |archive-url=https://web.archive.org/web/20220612202836/https://www.nytimes.com/2022/06/12/technology/google-chatbot-ai-blake-lemoine.html |archive-date=June 12, 2022 |access-date=June 18, 2022}}
LaMDA {{Cite news |access-date=February 6, 2023 |archive-date=January 20, 2023 |archive-url=https://web.archive.org/web/20230120081118/https://www.nytimes.com/2023/01/20/technology/google-chatgpt-artificial-intelligence.html |date=January 20, 2023 |first=Nico |issn=0362-4331 |last=Grant |newspaper=[[The New York Times]] |title=Google Calls In Help From Larry Page and Sergey Brin for A.I. Fight |url=https://www.nytimes.com/2023/01/20/technology/google-chatgpt-artificial-intelligence.html |url-access=limited |url-status=live}} {{cite news |last1=Grant |first1=Nico |date=January 20, 2023 |title=Google Calls In Help From Larry Page and Sergey Brin for A.I. Fight |url=https://www.nytimes.com/2023/01/20/technology/google-chatgpt-artificial-intelligence.html |url-access=limited |url-status=live |work=[[The New York Times]] |issn=0362-4331 |archive-url=https://web.archive.org/web/20230120081118/https://www.nytimes.com/2023/01/20/technology/google-chatgpt-artificial-intelligence.html |archive-date=January 20, 2023 |access-date=February 6, 2023}}
LaMDA {{Cite news |access-date=March 21, 2023 |archive-date=March 21, 2023 |archive-url=https://web.archive.org/web/20230321140334/https://www.nytimes.com/2023/03/21/technology/google-bard-chatbot.html |date=March 21, 2023 |first1=Nico |issn=0362-4331 |last1=Grant |newspaper=[[The New York Times]] |title=Google Releases Bard, Its Competitor in the Race to Create A.I. Chatbots |url=https://www.nytimes.com/2023/03/21/technology/google-bard-chatbot.html |url-access=limited |url-status=live}} {{cite news |last1=Grant |first1=Nico |date=March 21, 2023 |title=Google Releases Bard, Its Competitor in the Race to Create A.I. Chatbots |url=https://www.nytimes.com/2023/03/21/technology/google-bard-chatbot.html |url-access=limited |url-status=live |work=[[The New York Times]] |issn=0362-4331 |archive-url=https://web.archive.org/web/20230321140334/https://www.nytimes.com/2023/03/21/technology/google-bard-chatbot.html |archive-date=March 21, 2023 |access-date=March 21, 2023}}
Thomas Mott Osborne {{Cite news |accessdate=2011-05-04 |date=November 20, 1914 |newspaper=[[New York Times]] |quote=Thomas Mott Osborne of Auburn, N.Y., retired manufacturer, world traveler, lecturer, writer, and prison reformer, has accepted the offer of John B. Riley, State Superintendent of Prisons, of the post of the Warden of Sing Sing Prison. He will take office on Dec. 1, and will relieve ex-Judge George S. Weed, who was temporarily assigned to Sing Sing, when Warden Thomas J. McCormick was ousted on Oct. 30 as the result of the Sullivan scandal. ... |title=T. M. Osborne To Be Warden At Sing Sing. Noted Prison Reformer Will Take Office on Dec. 1. Approved by Glynn and Whitman. Big Shake-Up Predicted. Warden-Elect Disapproves of Capital Punishment, but Would Make Executions 'Public Exhibitions |url=https://www.nytimes.com/1914/11/20/archives/tm-osborne-to-be-warden-at-sing-sing-noted-prison-reformer-will.html}} {{cite news |date=November 20, 1914 |title=T. M. Osborne To Be Warden At Sing Sing. Noted Prison Reformer Will Take Office on Dec. 1. Approved by Glynn and Whitman. Big Shake-Up Predicted. Warden-Elect Disapproves of Capital Punishment, but Would Make Executions 'Public Exhibitions |url=https://www.nytimes.com/1914/11/20/archives/tm-osborne-to-be-warden-at-sing-sing-noted-prison-reformer-will.html |url-access=limited |work=[[The New York Times]] |access-date=2011-05-04 |quote=Thomas Mott Osborne of Auburn, N.Y., retired manufacturer, world traveler, lecturer, writer, and prison reformer, has accepted the offer of John B. Riley, State Superintendent of Prisons, of the post of the Warden of Sing Sing Prison. He will take office on Dec. 1, and will relieve ex-Judge George S. Weed, who was temporarily assigned to Sing Sing, when Warden Thomas J. McCormick was ousted on Oct. 30 as the result of the Sullivan scandal. ...}}
Thomas Mott Osborne {{Cite news |accessdate=2011-05-04 |date=October 21, 1926 |newspaper=[[Associated Press]] in the [[New York Times]] |quote=Thomas Mott Osborne, noted prison reform advocate and former Warden of Sing Sing Prison, dropped dead on the street here tonight. ... |title=T. Mott Osborne, Reformer, is Dead. Body of Former Warden of Sing Sing, Heart Victim, Found in Auburn (N.Y.) Street. He Championed Prisoners. After Occupying Cell Himself, He Began Reform Drive. First Was Active in Politics |url=https://www.nytimes.com/1926/10/21/archives/t-mott-osborne-reformer-is-dead-body-of-former-warden-of-sing-sing.html}} {{cite news |date=October 21, 1926 |title=T. Mott Osborne, Reformer, is Dead. Body of Former Warden of Sing Sing, Heart Victim, Found in Auburn (N.Y.) Street. He Championed Prisoners. After Occupying Cell Himself, He Began Reform Drive. First Was Active in Politics |url=https://www.nytimes.com/1926/10/21/archives/t-mott-osborne-reformer-is-dead-body-of-former-warden-of-sing-sing.html |url-access=limited |work=[[The New York Times]] |access-date=2011-05-04 |quote=Thomas Mott Osborne, noted prison reform advocate and former Warden of Sing Sing Prison, dropped dead on the street here tonight. ...}}


When editing a template, to improve readability it will also apply a consistent format and naming convention. This involves converting parameters away from aliases to their primary values, and placing the parameters into the following order:

Order
  1. author, last1, or vauthors
  2. first1
  3. author-link1
  4. last2
  5. first2
  6. author-link2
  7. lastN
  8. firstN
  9. author-linkN
  10. display-authors
  11. author-mask
  12. collaboration
  13. editor, editor1-last, or veditors
  14. editor1-first
  15. editor1-link
  16. editor2-last
  17. editor2-first
  18. editor2-link
  19. editorN-last
  20. editorN-first
  21. editorN-link
  22. display-editors
  23. editor-mask
  24. translator1-last or vtranslator
  25. translator1-first
  26. translator1-link
  27. translator2-last
  28. translator2-first
  29. translator2-link
  30. translatorN-last
  31. translatorN-first
  32. translatorN-link
  33. display-translators
  34. translator-mask
  35. interviewer1-last or vinterviewer
  36. interviewer1-first
  37. interviewer1-link
  38. interviewer2-last
  39. interviewer2-first
  40. interviewer2-link
  41. interviewerN-last
  42. interviewerN-first
  43. interviewerN-link
  44. display-interviewers
  45. subject1-last or vsubject
  46. subject1-first
  47. subject1-link
  48. subject2-last
  49. subject2-first
  50. subject2-link
  51. subjectN-last
  52. subjectN-first
  53. subjectN-link
  54. display-subjects
  55. subject-mask
  56. others
  57. display-contributors
  58. contributor-mask
  59. name-list-style
  60. date
  61. year
  62. orig-date
  63. df
  64. title
  65. script-title
  66. trans-title
  67. title-link
  68. url, article-url, chapter-url, contribution-url, entry-url, map-url, or section-url
  69. url-access, article-url-access, chapter-url-access, contribution-url-access, entry-url-access, map-url-access, or section-url-access
  70. url-status
  71. format
  72. work
  73. script-work
  74. trans-work
  75. page
  76. pages
  77. at
  78. department
  79. type
  80. series
  81. language
  82. volume
  83. issue
  84. others
  85. edition
  86. location
  87. publisher
  88. publication-date
  89. publication-place
  90. agency
  91. no-pp
  92. arxiv
  93. asin
  94. bibcode
  95. bibcode-access
  96. doi
  97. doi-access
  98. doi-broken-date
  99. hdl
  100. hdl-access
  101. isbn
  102. issn
  103. jfm
  104. jstor
  105. jstor-access
  106. lccn
  107. mr
  108. oclc
  109. ol
  110. ol-access
  111. osti
  112. osti-access
  113. pmc
  114. pmc-embargo-date
  115. pmid
  116. rfc
  117. ssrn
  118. ssrn-access
  119. s2cid
  120. s2cid-access
  121. zbl
  122. id
  123. archive-url
  124. archive-date
  125. archive-format
  126. access-date
  127. via
  128. quote
  129. trans-quote
  130. postscript
  131. ref
  132. mode
  133. postscript

Discussion

I'd prefer if this bot (and every bot) stopped short of reordering template parameters. Doing a full reorganisation on any template edited will make it much more difficult to tell what changes have been made when reviewing diffs. Folly Mox (talk) 09:23, 16 July 2024 (UTC)[reply]
We can trust our bots that much, I'd say. And it shouldn't be much of a problem if you compare the diffs in visual diff mode, try here. In my experience, it's much easier for a bot (program) to reassemble a template in some predefined order. Having data in the order of final appearance does help with readability (BilledMammal: that'd be url?, author(s) data, date, title…).Ponor (talk) 06:48, 18 July 2024 (UTC)[reply]
@Ponor: Currently, author(s) data, date, title, url - the full order can be seen in the final collapsed box. However, that is easy to change.
It wouldn't be difficult to put it back in the original order (although it would result in new fields being dumped at the end), but personally I believe it is better to reorganize it, as while it makes it harder for editors using non-visual viewer to identify the changes, it easier for editors to parse the template going forward. BilledMammal (talk) 23:05, 18 July 2024 (UTC)[reply]
I support putting the params in some canonical order, my only question is which one it should be. VisualEditor (TemplateData), IAbot, maybe even reFill, probaly use the same one ("Full parameter set in horizontal format" from {{Cite web}}?), which is what I'd use as well. Up to you, though. Ponor (talk) 14:05, 19 July 2024 (UTC)[reply]
I started with the full parameter set from Template:Cite news, but quickly found that "full parameter set" doesn’t actually mean "full parameter set".
I see the two templates differ in where to put the URL; I think Cite news' method is better, as the URL is difficult to read so better to put that at the end. BilledMammal (talk) 14:11, 19 July 2024 (UTC)[reply]
The order is probably from the order used by TemplateData as that is where ProveIt takes its order from. Gonnym (talk) 11:07, 4 August 2024 (UTC)[reply]
I think consensus would need to be established for this at other venues. The part of the proposal regarding adding links where none exist has the potential to conflict with WP:WHENINROME. voorts (talk/contributions) 21:18, 16 August 2024 (UTC)[reply]
That aspect doesn’t need to be enabled; exactly how this functions depends entirely on the configuration file.
However, that aspect isn’t covered by WP:WHENINROME, which says If all or most of the citations in an article consist of bare URLs, or otherwise fail to provide needed bibliographic data – such as the name of the source, the title of the article or web page consulted, the author (if known), the publication date (if known), and the page numbers (where relevant) – then that would not count as a "consistent citation style" and can be changed freely to insert such data.
Emphasis mine. BilledMammal (talk) 18:24, 17 August 2024 (UTC)[reply]
I was referring to the part of WHENINROME that states: Editors should not attempt to change an article's established citation style, merely on the grounds of personal preference or to make it match other articles, without first seeking consensus for the change. For example, if an article has proper citation formatting, but none of the publication titles are wikilinked, or only the first instance is, running this bot to add wikilinks to each publication parameter would run afoul of WHENINROME. In any event, given that we have a reasonable disagreement on this point, I think consensus would be needed to implement that part of the bot. voorts (talk/contributions) 18:28, 17 August 2024 (UTC)[reply]
Ah, I misunderstood. The configuration file can be updated to not replace unlinked, but otherwise correct, source names, if such behaviour is desirable.
With that said, I’m not sure whether the decision to Wikilink or not falls under WP:WHENINROME, as such a decision appears to go beyond referencing style and instead fall under MOS:LINK, specifically MOS:UL, which says Proper names that are likely to be unfamiliar to readers - which would include virtually all source names, as few have worldwide recognition - should be linked. BilledMammal (talk) 18:48, 17 August 2024 (UTC)[reply]
I broadly construe WHENINROME to avoid referencing conflicts since the MOS is a contentious topic. voorts (talk/contributions) 19:04, 17 August 2024 (UTC)[reply]
I don't necessarily have an issue with the rest of what the bot would do. Also, I would like to see a process for establishing consensus for what parameters should be included for each ref. For example, why doesn't The Guardian (Swan Hill) have a publication-place parameter? Why use publisher instead of publication-place for The Daily Telegraph(s)? These are things that might need to be worked out. voorts (talk/contributions) 18:31, 17 August 2024 (UTC)[reply]
The omissions for Swan Hill Guardian are primarily because I wanted an example of a minimally completed source, to demonstrate the tools range.
(The Daily Telegraph actually uses both)
The process I was planning was standard WP:CONSENSUS, with the requirement that consensus be obtained prior to changing the primary configuration file. Or do you think something more involved is needed? BilledMammal (talk) 18:48, 17 August 2024 (UTC)[reply]

I think even a rough consensus would be fine for the contents of the configuration file. I'd like to see it advertised at Wikipedia talk:Citing sources, Wikipedia talk:Manual of Style, and potentially other venues before this bot goes active. voorts (talk/contributions) 18:58, 17 August 2024 (UTC)[reply]

Good idea; I think WP:VPR would also be a good location, although I’ll wait till BAG gives preliminary approval before taking it to the wider community. BilledMammal (talk) 19:01, 17 August 2024 (UTC)[reply]
Apologies, have been meaning to tag this with   Needs wider discussion. but have had other things to deal with; I would like to see a rough consensus that this is a desired bot task. Primefac (talk) 12:02, 22 August 2024 (UTC)[reply]
I've opened a discussion at the Village Pump. BilledMammal (talk) 09:03, 25 August 2024 (UTC) Link expanded to include section, no other change made. Primefac (talk) 20:09, 25 August 2024 (UTC) discussion archived, link updated. Primefac (talk) 11:43, 20 October 2024 (UTC)[reply]
  Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. I do note a very weak consensus at the Pump that this will be a reasonable bot trial. For the sake of getting more eyes on this, please do not mark these edits as minor. Primefac (talk) 11:46, 20 October 2024 (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

  • I like this concept in general. I tried to make a user script that does this (User:Novem Linguae/Scripts/WatchlistAFD.js#L-89--L-105), but it doesn't work (I probably need to rewrite it to use MutationObserver). Would this bot be automatic for everyone, or opt in? Opt in may be better and easier to move forward in a BRFA. If not opt in, may want to start a poll somewhere to make sure there's some support for "on by default". –Novem Linguae (talk) 07:58, 17 July 2024 (UTC)[reply]
    I think it would be better to be on by default with the option for reviewers to disable. (t · c) buidhe 14:28, 17 July 2024 (UTC)[reply]
    Ah yes. "Opt out" might be a good way to describe this third option. –Novem Linguae (talk) 22:13, 17 July 2024 (UTC)[reply]
  • Support - seems like a good idea. I've reviewed several articles that I've tagged for notability or other concerns, only to just happen to notice them by chance a few days later get AfD'ed by someone else. A bot seems like a good idea, and I can't see a downside. BastunĖġáḍβáś₮ŭŃ! 16:31, 17 July 2024 (UTC)[reply]
  • This is the sort of thing that would be really good for some people (e.g., new/infrequent reviewers) and really frustrating for others (e.g., people who have reviewed tens of thousands of articles). If it does end up being opt-out, each message needs to have very clear instructions on how to opt out. It would also be worth thinking about a time limit: most people aren't going to get any value out of hearing about an article they reviewed a decade ago. Maybe a year or two would be a good threshold. Extraordinary Writ (talk) 18:48, 17 July 2024 (UTC)[reply]
  • The PREVIOUS_NOTIF regex should also account for notifications left via page curation tool ("Deletion discussion about xxx"). The notification also needs to be skipped if the previous reviewer themself is nominating. In addition, I would suggest adding a delay of at least several minutes instead of acting immediately on AfD creation – as it can lead to race conditions where Twinkle/PageTriage and this bot simultaneously deliver notifications to the same user. – SD0001 (talk) 13:41, 19 July 2024 (UTC)[reply]
  • {{Operator assistance needed}} Thoughts on the above comments/suggestions? Also, do you have the notice ready to go or is that still in the works? If it's ready, please link to it (or copy it here if it's hard-coded elsewhere). Primefac (talk) 12:48, 21 July 2024 (UTC)[reply]
    @Primefac I've implemented a few of the suggestions, I've reworked the code to exclude pages containing {{User:SodiumBot/NoNPPDelivery}}, which should serve as a opt out mechanism :) I've also reworked the code to include SD0001's suggestion of adding a significant delay by making the bot wait at least a hour and also added modified the regex to account for the messages sent by PageTriage.
    Wrt to Extraordinary Writ's suggestions, I have restricted the lookup to the last 3 years as well and created a draft User:SodiumBot/ReviewerAfdNotification which has instructions on how to opt out. Sohom (talk) 16:02, 21 July 2024 (UTC)[reply]
    Thanks, I'll leave this open for a few days for comment before going to trial. Primefac (talk) 16:07, 21 July 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 make sure this BRFA is linked in the edit summary. Primefac (talk) 23:50, 4 August 2024 (UTC)[reply]
  • I ran across Wikipedia:Bots/Requests for approval/SDZeroBot 6 today, which is a very similar task, and uses an "opt out" strategy. This suggests that the community may be OK with having AFD notifications be on by default for a bot task like this. –Novem Linguae (talk) 07:10, 8 August 2024 (UTC)[reply]

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

Time filed: 00:02, Thursday, May 9, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): JavaScript

Source code available: TBD

Function overview: Automatically mark redirects created by Wikipedia:Page movers as part of a page move as "patrolled" in the new page patrol / page curation system

Links to relevant discussions (where appropriate): Wikipedia talk:New pages patrol/Reviewers/Archive 51#Idea to reduce redirect backlog

Edit period(s): Continuous

Estimated number of pages affected: Lots

Exclusion compliant (Yes/No): No

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

Function details: The code will be added to my current redirect patrolling bot rules (see User:DannyS712 bot III/rules for the current rules) once I write it. You can see the implementation I intend to use is to patrol all redirects based on the query below.

If possible, I'd like to request speedy approval and/or a time-based trial, so that I don't need to add a whole bunch of logic to the bot to count how many redirects have already been patrolled in the trial.

Query to run
SELECT
	page_id AS 'pageid',
	page_title AS 'title',
	ptrpt_value AS 'target',
	actor_name AS 'creator'
FROM
	page
	JOIN pagetriage_page ON page_id = ptrp_page_id
	JOIN pagetriage_page_tags ON ptrp_page_id = ptrpt_page_id
	JOIN revision rv ON page_latest = rev_id
	JOIN actor ON rev_actor = actor_id
	JOIN user_groups ON actor_user = ug_user
WHERE
	ptrp_reviewed = 0
	AND ptrpt_tag_id = 9 # Snippet
	AND page_namespace = 0
	AND page_is_redirect = 1
	AND EXISTS (
		# Only 1 revision based on rev_count page triage tag
		SELECT 1
		FROM pagetriage_page_tags tags2
		WHERE tags2.ptrpt_page_id = page_id
		AND tags2.ptrpt_tag_id = 7
		AND tags2.ptrpt_value = 1
	)
	AND EXISTS (
		# Move log from the same time by the same person
		SELECT 1
		FROM logging_logindex lgl2
		WHERE log_namespace = page_namespace
		AND log_title = page_title
		AND log_timestamp = rev_timestamp
		AND log_actor = rev_actor
		AND log_type = 'move'
		AND log_action = 'move'
	)
	AND ug_group = 'extendedmover'

LIMIT 100;

Discussion

  Approved for trial (100 edits or 14 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. ProcrastinatingReader (talk) 10:58, 9 May 2024 (UTC) count updated. Primefac (talk) 17:03, 29 June 2024 (UTC)[reply]

@ProcrastinatingReader the bot reports to User:DannyS712 bot III/Redirects.json every 15 minutes with the redirects that it patrols and why - a 14 day trial will be 1344 entries to scan through, and I would expect that almost all of the relevant entries would be on the first run (for any existing backlog) - would a shorter trial be okay? Like a day (or even less)? --DannyS712 (talk) 16:13, 9 May 2024 (UTC)[reply]
(  Peanut gallery comment) I am BOLDly adding {{BAG assistance needed}}: {{BAG assistance needed}} HouseBlaster (talk · he/they) 03:32, 29 June 2024 (UTC)[reply]
I've tweaked the trial numbers. Primefac (talk) 17:03, 29 June 2024 (UTC)[reply]
Is there a reason that a single day trial (as requested by Danny) would be a Bad Thing? Of course, I am not a bot op, so there might be something I am unaware of :) HouseBlaster (talk · he/they) 22:39, 29 June 2024 (UTC)[reply]
I'm also wondering that - also the "whichever happens first" means I would still need to add some logic to count how many redirects have been patrolled in the trial already --DannyS712 (talk) 12:18, 1 July 2024 (UTC)[reply]
{{bag assistance needed}} (apologies for using this a lot as of late...) HouseBlaster (talk · he/they) 22:45, 6 July 2024 (UTC)[reply]
Though I cannot speak on his behalf, I imagine a concern that @Primefac: may have had would be that the bot might be done within a day. What are your thoughts, Primefac? Provided that it won't actually complete within a day, I don't see an issue with a 1 day trial. cc @DannyS712: --TheSandDoctor Talk 04:24, 9 July 2024 (UTC)[reply]
I had no concerns; I thought I was giving the botop what they wanted. They said 14 days was too long and there would be too many actions to look at. I threw out 100 as our standard number (which does happen to be "about a day's worth" when you do the maths) because on these "not sure how many per day" requests it might be only a few dozen over 14 days. Danny is a trusted botop and while it needs to go through a trial to make sure everything is working, we are not going to begrudge a handful of edits on either side of 100 if the task can be shown to be operating within expected parameters. So sure, run it for a day and see where you end up. Primefac (talk) 00:03, 10 July 2024 (UTC)[reply]
And yes, HouseBlaster, using the assistance template twice in ten days is a bit excessive. Primefac (talk) 00:03, 10 July 2024 (UTC)[reply]
@DannyS712: did you see the above? TheSandDoctor Talk 22:20, 13 July 2024 (UTC)[reply]
Yes, sorry, I was out of town for a while but am back and will do bot stuff again soon --DannyS712 (talk) 02:39, 21 July 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) @DannyS712: is there still interest in pursuing this task? or are you happy to mark this as withdrawn for the time being? ProcrastinatingReader (talk) 10:58, 29 September 2024 (UTC)[reply]
@DannyS712 seems to be away at the moment. I think we can safely mark this as inactive until they return or if the stand-in botop is willing to take over this item. pinging @DreamRimmer for attention. – robertsky (talk) 02:12, 5 October 2024 (UTC)[reply]
Out of 414 page movers, about 300 are either listed for redirect autopatrol or already have autopatrolled rights. Since this query shows no backlog, I think if we see a backlog of 100 or more, I will go ahead and add this functionality. For now, let's wait a little longer for Danny. – DreamRimmer (talk) 07:43, 6 October 2024 (UTC)[reply]

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]
  A user has requested the attention of the operator. Once the operator has seen this message and replied, please deactivate this tag. (user notified) 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]
[4][5][6][7][8][9] 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]

Bots that have completed the trial period

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

Time filed: 09:53, Thursday, November 21, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: currently not

Function overview: Add {{Orphan image}} to orphaned free files

Links to relevant discussions (where appropriate): Wikipedia:Bot requests#Replacing FastilyBot

Edit period(s): Weekly

Estimated number of pages affected: 100-150 per week

Exclusion compliant (Yes/No): Yes

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

Function details: This is a replacement for FastilyBot task 10. The current code is good, but it does not fit my environment and would be difficult for me to maintain. Therefore, I am rewriting it from scratch using the Pywikibot framework.

Discussion

  Trial complete. Edits. Everything looks good to me. It ignores files in categories listed in the config file, just like the previous bot. – DreamRimmer (talk) — Preceding undated comment added 17:16, 22 November 2024 (UTC)[reply]
@DreamRimmer, you might want to link to this page in the edit summary. Qwerfjkltalk 14:26, 23 November 2024 (UTC)[reply]
Sure, I will link it. I did not include this because Primefac did not mention this in the approval comment. – DreamRimmer (talk) 15:57, 23 November 2024 (UTC)[reply]

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

Time filed: 15:12, Thursday, October 24, 2024 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): AutoWikiBrowser

Source code available: AWB is open source

Function overview: CheckWiki error fixing bot operated using AWB

Links to relevant discussions (where appropriate): Wikipedia:Village pump (proposals)#Check Wiki error fixing AWB Bot for CW Error #3, though it does not have many comments. This is anyways an uncontroversial maintenance task

Edit period(s): Manual runs whenever new CheckWiki error dumps are posted

Estimated number of pages affected: ~1000 for each dump

Exclusion compliant (Yes/No): Yes

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

Function details: Fix Check Wiki errors on the affected pages with GenFixes turned on. Skip options in AWB, Page is in use, No changes made, Only cosmetic changes are made, will be turned on.

I intend to keep Auto Tagging and RegexTypoFixing on, but OK with turning it off if there is any opposition. With reference to this discussion, any page containing disambiguation after changes, will be skipped to avoid any misfires.

# Priority Cosmetic Error AWB Description
03
(dump)
High No Reference list missing / disambiguation page with disallowed <ref>  Y The article contains one or more <ref> tags, but is missing a {{Reflist}} or <references /> tag. Or a disambiguation page contains a disallowed <ref> tag, see WP:DABREF.
06 Low No DEFAULTSORT with special characters  Y Don't use special lettering in DEFAULTSORT
07
(dump)
Mid No Headlines all start with three "="  Y First headline starts with "=== XY ===". It should be "== XY ==" header. This causes organisational and accessibility problems.
36 Low No Redirect with incorrect syntax  Y Redirect will not work
37 Low No DEFAULTSORT missing for titles with special letters  Y Don't use special lettering for sorting. DEFAULTSORT should be set without the special lettering.
44 Low No Headlines with bold  Y A headline is all or partially bold. This should rarely be used and may or not be bold depending on the browser used.
45 Low No Interwiki duplication  Y Duplicate entry. Now that interwiki links have been moved to wikidata, this error is possibly due to wikilinks that ought to be rendered that omits the leading : in [[:pt:Jorge de Mascarenhas]]. Should often be converted to internal redlinks per WP:BUILD/WP:REDLINK.
48
(dump)
Low No Title linked in text  Y A wikilink of the article's title was found. This creates an unnecessary circular wikilink per MOS:OVERLINK/WP:SELFREDIRECT and inappropriately bolds the linked word.
54
(dump)
Low No Break in list  Y WP:LISTGAP
57 Low No Headlines end with a colon  Y Remove the :
61 Low No Reference before punctuation  Y <ref> comes after not before various punctuation marks (.,?:;!); see WP:REFPUNC
62 High No URL without http://  Y A URL was found that contained no http://. Example: [en.wikipedia.org Wikipedia]
63 Low No <small> in a <ref>, <sub> or <sup>  Y <ref> and <sub> tags already create smaller text. Adding a <small> would cause the text to be smaller than 85%. This goes against accessibility guidelines.
66 Low No Image description with full <small>  Y Image description text is already smaller. Adding a <small> would cause the text to be smaller than 85%. This goes against accessibility guidelines.
84 Off No Section without content  Y
86 High No External link with two brackets  Y Found an external links surround by double brackets.
Example: [[http://www.wikipedia.org Wikipedia]]
89 Low No DEFAULTSORT with no space after the comma  Y The script found a DEFAULTSORT without a space after the comma {{DEFAULTSORT:DuBois,Lewis}}. The causes the article to be sorted as the first DuBois article.
93 Mid No External link with double http://  Y The script found an external link that had double http://. An example would be [http://http://www.google.com]
101
(dump)
Low No Ordinal number found inside <sup> tags  Y Ordinal numbers should be in regular text, not inside <sup> tags See MOS:ORDINAL.

Above is the list of all the errors that I intend to fix using this bot task. Apart from CW Error #03 and CW Error #44, all of the cases of those errors can be fixed using AWB GenFixes without any intervention.

CW Error #03 - Reflist Missing task: A majority of my AWB edits were fixing this error, and I did not find a single wrong suggestion by AWB. I believe that AWB has been updated to not make a mistake about this task, and that it can be done without any supervision.

CW Error #44 - Headlines with bold: Again, I have done many tasks with fixing this error manually and have not found a single error.

Discussion

  Approved for trial (210 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Please do 10 for each error type. If an error has fewer than 10 pages listed, please indicate as such when you provide the diffs. Primefac (talk) 20:28, 17 November 2024 (UTC)[reply]

@Primefac Could you please add the bot to Wikipedia:AutoWikiBrowser/CheckPageJSON, or should I use my main account? ~/Bunnypranav:<ping> 10:19, 18 November 2024 (UTC)[reply]
Done, apologies for missing that. Primefac (talk) 15:38, 18 November 2024 (UTC)[reply]
@Primefac Gentle reminder to review the below. I am fine with withdrawing from tasks which trial has not been done on due to the queue being empty. The other errors have enough pages need fixing for the time being, and I will file another BRFA if I see a need to fix them. Thanks! ~/Bunnypranav:<ping> 12:37, 25 November 2024 (UTC)[reply]

  Trial complete. 123 Edits


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.