Jump to content

Wikipedia:Bots/Noticeboard/Archive 16

From Wikipedia, the free encyclopedia
Archive 10Archive 14Archive 15Archive 16Archive 17Archive 18Archive 19

Is it possible to block a bot from creating pages?

See User_talk:Bot1058#Talk:Basarabka_and_Moldovanka. The bot has been creating redirects in the talk namespace. Most are benign but just utterly useless blank pages, while several others are actually pages that have been properly deleted per WP:G8. The bot's task listing shows no tasks that would indicate that it should be creating pages. I'm loathe to pblock the bot from the talk: namespace as it actually does useful tasks there, but there's no reason why this should be creating pages, especially ones that have been G8'd. Hog Farm Talk 23:43, 9 October 2021 (UTC)

I've left the bot operator a note pointing them at this discussion this is likely something that they can fix ~TNT (she/her • talk) 23:48, 9 October 2021 (UTC)
The bot has made over 58,000 edits in talk namespace, only 237 of which were page creations, and 204 of those page creations were redirects. Of the 33 page creations that were not redirects, just 15 were blank pages. The lack of an edit summary indicates that the bot thought it was making null edits. Unfortunately null edits are necessary because of limitations of the MediaWiki software. I can't confirm what happened as I only keep the log of the most recent bot run on my machine, but likely these deleted pages were still populating a category that the bot patrols. I think I can patch my code to work around this by double-checking to make sure the pages I null-edit actually have content on them before editing, but as I've been taken to this noticeboard and threatened with a block I've taken tasks 3, 4 and 5 down as a precaution until I get around to fixing this. – wbm1058 (talk) 02:42, 10 October 2021 (UTC)
Apologies for coming across harshly, I didn't mean to. I was just a bit aggravated when I got a ping that a bot that isn't intended to create pages went and recreated something that I'd just deleted. I think the bot does good work, and would hate to see if down because I got testy. If all else fails, would it be possible for the bot to log pages it creates and then have someone go through and monitor to make sure they aren't restoring deleted pages? Hog Farm Talk 02:55, 10 October 2021 (UTC)
@Wbm1058 You can use nocreate=1 flag in your edit API call. That would prevent creation of the page if it doesn't already exist. – SD0001 (talk) 07:13, 10 October 2021 (UTC)
Thanks for the tip. I do recall running into this issue before and dealing with it relatively quietly. I think I was advised that another option was to use "purge" mode rather than "edit" mode. Noting that it's crept up for some reason. Of the 15 blank pages, just one happened in 2018, one in 2019, two in 2020 and eleven so far in 2021. Obviously I can't keep this on my back-burner of low-priority issues any longer, especially since the fix should be relatively easy. – wbm1058 (talk) 12:58, 10 October 2021 (UTC)
Heh, I just noticed that my inherited bot framework (previous authors are all retired or dead) has a function purgeCache in it! Which I've never used until now. I'm gonna run some trials to check out how well it works for making null edits. That would be easier than adding a new argument nocreate to function edit. – wbm1058 (talk) 16:36, 10 October 2021 (UTC)
Looking at the Purge API, I don't see any reason why I wouldn't always want to use forcerecursivelinkupdate – unless that's a really expensive operation? wbm1058 (talk) 19:47, 10 October 2021 (UTC)
IIRC, it puts all the transclusions onto the job queue for updating, much like a null edit. forcelinkupdate updates the links table entries for the current page (e.g. category membership), but doesn't queue up to reparse all pages transcluding the purged page. The operation without either of those parameters just updates the cached HTML without updating links tables. Anomie 00:26, 11 October 2021 (UTC)
Thanks. I'm still working on this. Testing just got a "mustbeposted" error: "The \"purge\" module requires a POST request." Assume this was something that was broken by previous API changes that nobody noticed previously because the framework's purgeCache function wasn't being used by anything. – wbm1058 (talk) 19:39, 11 October 2021 (UTC)
Yes, that would be the change that made it so there was a 'do you actually want to purge a page' interstitial when you purge a page, some several years ago now. Izno (talk) 21:30, 11 October 2021 (UTC)
 Fixed – the new bot version uses the updated botclasses.phpwbm1058 (talk) 20:42, 12 October 2021 (UTC)

Worst case solution: I have for some time blocked COIBot from creating pages in mainspace (which it should not do but did) until I figured out why it did that sometimes by creating an edit filter for it. That both resolves the problem ánd logs that the problem occurred while you debug/test/patch. --Dirk Beetstra T C 12:03, 10 October 2021 (UTC)

Agree, this is a bad, non-scalable solution - out of control bots should just be blocked, not use up valuable abusefilter conditions. — xaosflux Talk 19:28, 10 October 2021 (UTC)

General query

Last week, two bots that I check on, AdminStatsBot and BernsteinBot, both went off schedule. I checked to see if there was a lag which there wasn't. BernsteinBot started updating but irregularly and it didn't return the regular schedule it had previously maintained with no problems. I posted a note to each bot operator on their user talk pages but neither have been active here in over a month.

But I'm posting here just to see if there was some change or update that would cause both bots to stop updating. Other bots I work with such as AnomeBotIII and SDZeroBot didn't have problems so I'm not sure what is up. Thanks for any information you can provide. Liz Read! Talk! 04:47, 12 October 2021 (UTC)

FWIW, YiFeiBot stopped editing a little over four days ago as well (just after midnight UTC on the morning of 8 October). I have posted a note to the bot's talk page, but I thought I would mention it here as well. – Jonesey95 (talk) 05:15, 12 October 2021 (UTC)
Yes, it seems like something changed on October 7/8. Liz Read! Talk! 05:49, 12 October 2021 (UTC)
@Jonesey95 & User:Liz - I imagine this has been caused by the removal of some deprecated API parameters for obtaining tokens (see phab:T280806). There's nothing really we can do, the bot code will need updating. firefly ( t · c ) 06:11, 12 October 2021 (UTC)
Yes, this created problems in gadgets like LintHint too [1]. ಮಲ್ನಾಡಾಚ್ ಕೊಂಕ್ಣೊ (talk) 07:37, 12 October 2021 (UTC)
Yes this. According to WP:BAM, Lowercase sigmabot III, ClueBot III and Mathbot are also down since 7 October. – SD0001 (talk) 09:20, 12 October 2021 (UTC)
At least one bot was fixed by updating pywikibot, which doesn't sound too tricky to this non-botop. – Jonesey95 (talk) 13:59, 12 October 2021 (UTC)
Yes, as indicated at mediawikiwiki:MediaWiki 1.37/Deprecation of legacy API token parameters#Pywikibot, updating it to 6.6.1 or higher fixes the issue in PWB. --Izno (talk) 14:21, 12 October 2021 (UTC)
And you know, #Bots need to upgrade to Pywikibot 6.6.1 right above on this page :) Legoktm (talk) 17:16, 12 October 2021 (UTC)
BernsteinBot should mostly be back, each report is kind of handled individually so if specific reports are not updating I can take a look. And I've sent a pull request for Lowercase sigmabot III. Legoktm (talk) 17:18, 12 October 2021 (UTC)
Thanks everyone for all of the info on this. I rely on BernsteinBot and the bot was doing some updating, just not always the report I rely on. As for AdminStatsBot, I thought it was responsible not only for AdminStats page but for the templates many admins have on their User pages but the template is updating so I guess I was wrong about that. Liz Read! Talk! 21:40, 12 October 2021 (UTC)
I looked into AdminStatsBot, it's using an old version of wikitools, which should be straightforward to update, except the code has no license associated with it (I filed T293173 for it on the Toolforge side). Template:Adminstats is updated by Cyberbot I, which seems to be working fine. Legoktm (talk) 05:17, 13 October 2021 (UTC)
AdminStatsBot (talk · contribs) is now back up and running. — JamesR (talk) 11:50, 13 October 2021 (UTC)

What edits are flagged as bot edits?

Does anyone know why certain edits from bot accounts show up under Special:RecentChanges when the non-bot filter is selected? Winston (talk) 00:56, 18 October 2021 (UTC)

@Notsniwiast: in order for an edit to have the "bot" attribute, the edit must be declared as being made with the bot edit; to do this you have to have the bot permission, which the bot group infers. Not all edits made by "bot accounts" use this attribute, sometimes on purpose. Notably, antivandalism bots generally don't - so that if you look on your watchlist you can see that the vandalism on there was also reverted. If a bot account is "flooding" the recent changes or watchlist pages though - we can look in to it, but will need an example. — xaosflux Talk 01:17, 18 October 2021 (UTC)
Ok thank you, that makes it clear. Winston (talk) 01:18, 18 October 2021 (UTC)

Request for feedback on potential pywikibot script to update usage of Template:Row numbers

Template:Row numbers recently went through an RfD due to its inability to display (at all) on the mobile app. I modified it to work correctly on the app again, but this needs changes made to the articles. I wrote a pywikibot script to assist with this in semi-automated fashion, putting the edited articles on the clipboard and opening Firefox at the right page to paste and review. The script works pretty well, after some initial difficulties with finding precisely when to escape equals signs. See [2] for example edits - a couple of the first broke ref tags in a way I didn't initially spot, but after handling them specially in the script, all later edits have been correct.

However, verifying all the articles individually is slow and there are about 100 left. Would this sort of thing be acceptable to run unattended? I'll open a proper BRFA if so. The core part of the current script (which doesn't save anything) is below, based on scripts/basic.py in pywikibot.

class RowNumberingBot(
    SingleSiteBot,
    ConfigParserBot,
    ExistingPageBot,
    NoRedirectPageBot,
    AutomaticTWSummaryBot,
):

    summary_key = 'basic-changing'

    def __init__(self, generator, **kwargs) -> None:
        """
        Initializer.

        @param generator: the page generator that determines on which pages
            to work
        @type generator: generator
        """
        # Add your own options to the bot and set their defaults
        # -always option is predefined by BaseBot class
        self.available_options.update({
            'replace': False,  # delete old text and write the new text
            'summary': None,  # your own bot summary
            'text': 'Test',  # add this text from option. 'Test' is default
            'top': False,  # append text on top of the page
        })

        # call initializer of the super class
        super().__init__(site=True, **kwargs)
        # assign the generator to the bot
        self.generator = generator
        self.regex = re.compile('(?s){{\\s*[Rr]ow (numbers|counter|indexer)\\s*\\|(?:1=)?\\s*(<nowiki>(.*?)</nowiki>)')

    def treat_page(self) -> None:
        text = self.current_page.text
        while m := self.regex.search(text):
            text = text[:m.start(2)] + escape_equals(m.group(3)) + ' ' + text[m.end(2):]
        if text == self.current_page.text:
            print(f"Skipping {self.current_page.title()}.")
            return
        subprocess.run('xclip -i -sel c'.split(), input=text.encode())
        subprocess.run(['firefox', self.current_page.full_url() + '?action=edit&summary='
            + urllib.parse.quote_plus(self.opt.summary)])
        input("Press enter for next page...")

self_closing_ref_regex = re.compile(r'''<ref( +[^= <>]+ *= *("[^"]*"|'[^']*'|[^ "'>]*))* *\/$''')

def escape_equals(s):
    """
    Escape equals signs in string s with {{=}} unless they are already within
    double braces or a tag.
    """
    n_brace = 0
    n_square = 0
    b = 0
    ref = 0
    out = ''
    for i, ch in enumerate(s):
        if ch == '{':
            if n_brace < 0:
                n_brace = 1
            else:
                n_brace += 1
        elif ch == '}':
            if n_brace > 0:
                n_brace = -1
            else:
                n_brace -= 1
        elif ch == '[':
            if n_square < 0:
                n_square = 1
            else:
                n_square += 1
        elif ch == ']':
            if n_square > 0:
                n_square = -1
            else:
                n_square -= 1
        # It seems that ref tags are special.
        elif s[i:i+4] == '<ref':
            ref += 1
            assert ref == 1, s[:i] + '\n\nFAILED\n\n' + s[i:] + '\n\n'
        elif s[i:i+5] == '</ref' or (ch == '>' and self_closing_ref_regex.search(s[:i])):
            ref -= 1
            assert ref == 0, s[:i] + '\n\nFAILED\n\n' + s[i:] + '\n\n'
        else:
            n_brace, n_square = (0, 0)
        if n_brace == 2 or n_square == 2:
            b += 1
            n_brace, n_square = (0, 0)
        elif n_brace == -2 or n_square == -2:
            b -= 1
            n_brace, n_square = (0, 0)
            assert(b >= 0)
        if ch == '=' and b == 0 and ref == 0:
            out += '{{=}}'
        else:
            out += ch
    assert ref == 0 and b == 0,\
            f"{n_brace} {n_square} {ref} {b}"
    return out

User:GKFXtalk 21:42, 18 October 2021 (UTC)

By the time we got through trials and discussion the task would pretty much be done. If there are only 100 pages needing fixing, then it is best to just do it manually. A cross-post to request someone run an AWB task on similar code might help. Primefac (talk) 07:35, 19 October 2021 (UTC)

Non-talk discussion pages besides those in the project namespace?

What non-talk page discussion pages are there besides those in the Project namespace and the Template:Did you know nominations? This is relevant for bots working on discussion pages such as IndentBot. Winston (talk) 03:14, 23 October 2021 (UTC)

Help. This information is available in JavaScript via mw.config.get('wgExtraSignatureNamespaces'), which will be removed soon, and via mw.Title.wantSignaturesNamespace(). I bet it can also be retrieved through API, but I can't find it right now. Nardog (talk) 03:35, 23 October 2021 (UTC)
Could you give an example of a discussion page with signatures in the Help namespace? Basically I need the title prefixes of specific groups of pages, not just the fact that the namespace as a whole contains a discussion page. Since these seem hard to find, my hope is that there are so few such groups that they can be hard-coded. Winston (talk) 03:52, 23 October 2021 (UTC)
You can search for something like this. Granted, most of the results are false positives, and actual hits all have "/feedback" (or "/Feedback") in the title. There indeed appear to be only a handful of pages that actually have discussions in the Help namespace (six in my count if you exclude archives). Nardog (talk) 04:14, 23 October 2021 (UTC)
Hmm, seems like they are pretty much inactive. I'll probably just ignore them. Thanks for your help. Winston (talk) 04:17, 23 October 2021 (UTC)
User space has 262 transclusions of Template:YesAutoSign, FWIW. I don't know why. I don't see any transclusions of that template in other non-talk spaces except for one in Wikipedia space. ETA: I have been misreading this template's documentation for over a decade. What I was looking for, apparently, was pages in Category:Non-talk pages that are automatically signed. I see some User subpages in there, a couple of Portal pages, and one page in the Help space. I may have missed a couple. – Jonesey95 (talk) 04:18, 23 October 2021 (UTC)

Why is MalnadachBot fixing signitures in User talk archives?

For example, this edit? How is this is "high priority" edit? Archives should usually be off limits to further editing. In this case, it's changing history even if correcting "errors" at the time. Jason Quinn (talk) 10:20, 23 October 2021 (UTC)

The particular lint errors being corrected may not display as one might prefer at some indeterminate time in the future. Separately, these edits preserve the quality of the signature. Why do you think edits should be "high-priority" to change an archive in a way that preserves the signatures in question? Izno (talk) 14:31, 23 October 2021 (UTC)
Separately, why did you not ask the bot operator first? Izno (talk) 14:32, 23 October 2021 (UTC)
Linter errors can cause various display problems in pages, many of which were not present when the problematic edit was made to the page. For example, most of the errors that this bot is fixing are of the "font tag wrapping a link with a color" type; changes to the MediaWiki software have made it so that those links may no longer work as they used to. The bot, and editors who make similar edits, are fixing syntax errors on pages so that they display in the way that they used to. It's the opposite of changing history: it's restoring history, or doing preservation work so that archives do not unexpectedly change when additional MediaWiki workarounds for bad syntax are removed. – Jonesey95 (talk) 17:34, 23 October 2021 (UTC)
Here's a concrete example: with this edit, the bot restored a User page link for User:James086 to its original #454545 color. It was that color when the editor put their signature on that page in 2013, but changes to MW software turned the link blue. The bot restored it, while also replacing deprecated font tags. – Jonesey95 (talk) 18:00, 23 October 2021 (UTC)
@Inzo: Because I basically followed what the breadcrumbs of instructions said to do. I first went to the bot's page which says "If this bot is malfunctioning, anyone can stop it by editing the bot talk page by removing the redirect. Other messages about the bot can be left at User talk:ಮಲ್ನಾಡಾಚ್ ಕೊಂಕ್ಣೊ". I first tried to figure out what redirect it was talking about and I was unable. The bot talk page redirects to the operator's talk page. So then I thought, "oh this must mean MalnadachBot 10's talk page"... but that is a red link. But the MalnadachBot 10 page does say "To request review of this BRFA, please start a new section at Wikipedia:Bots/Noticeboard". Jason Quinn (talk) 02:33, 24 October 2021 (UTC)
I thought the note at the top of bot userpage is clear enough. AWB has a setup such that any edit to the bot talkpage will automatically shutdown the bot. I have redirected the bot talkpage to mine so that the bot talkpage would need to be edited only for emergency stoppage of the bot if it is malfunctioning. Other things about the bot can be discussed in my talkpage. I don't get how this led you to the unrelated bot task 10.
Adding to the above replies, MalnadachBot only makes technical edits fixing syntax without changing the content. Web standards and Mediawiki software has changed a lot over the years, necessitating updation of old pages. ಮಲ್ನಾಡಾಚ್ ಕೊಂಕ್ಣೊ (talk) 05:13, 24 October 2021 (UTC)
I understand in hindsight what you mean by editing the redirect. But I was thinking there was some special template on the talk page itself and ended up looking at your personal talk page's source for it. As for task 10, I mistakenly thought it was the only one active because it was at the end of the list and all the other ones I thought were "completed". I didn't notice that task 2 was active as well. It would help if the bot's active tasks were more visibly distinctive. Jason Quinn (talk) 05:52, 24 October 2021 (UTC)
Fair enough, I have divided the active and completed tasks into separate tables. ಮಲ್ನಾಡಾಚ್ ಕೊಂಕ್ಣೊ (talk) 07:04, 24 October 2021 (UTC)

New template for easy contribution linking

Hello all (BAG, botops, etc), there is a new template {{Last N contributions}}, shortcut {{lnc}}, which allows for easy linking to a group of contributions for a user. For example, I can easily link to these 10 contributions going backwards from midnight last night. I think this will be extremely useful for BRFAs and giving trial diffs. The first point of this post is to notify about the template, the second is to ask a question: should the template be linked in {{BotTrial}}, specifically as provide a link, or is that just overkill? Is there a better way to let botops know about this new tool? Primefac (talk) 14:43, 23 October 2021 (UTC)

thoughts
  • use, or at least support, a properly formatted date for readability? {{lnc|monkbot|25|2021-10-06}}these 25 contributions; does not work, returns 25 edits from 2020-12-31
  • the returned list should include edits made on the date. {{lnc|monkbot|25|20211006}}these 25 contributions; does not work, returns 25 edits from 2021-09-25; the edits of interest were made on 2021-10-06 so the September list is counterintuitive and not helpful
  • with the above date issue addressed, make {{{2}}} optional? If blank, the template substs in today's date? Don't know if that is possible.
otherwise this might be a handy template.
Trappist the monk (talk) 15:13, 23 October 2021 (UTC)
As stated in the documentation, the second parameter is optional. So is the third. {{lnc|primefac|disp=this list}} gives this list of contribs from "now". Regarding the second point, if you want edits made on the date, then use {{lnc|monkbot|25|20211006235959}} (which gives this), because technically speaking your example is for 20211006000000 (midnight on the 6th). As far as the first point goes, that's a reasonable issue, and I'll see about allowing multiple date formats (though the main issue becomes one of "time"). Primefac (talk) 15:20, 23 October 2021 (UTC)
I should not have to specify 235959 (or any other specific time) on the day that I complete a trial to have a link to the diffs required by a bot trial (unless I have an active bot task running). When I add {{BotTrialComplete}} to a BRFA, the date of the trial's last edit is the date that I want to enter; not the date + 235959 because that is how I (and I dare say, most editors will) think about |ts=. To accomplish that easily, perhaps use &start= instead of &offset=? Here is the link currently produced by {{lnc|monkbot|25|20211006}}:
<span class="plainlinks">[//en.wikipedia.org/w/index.php?title=Special:Contributions&offset=2021-10-06&limit=25&target=monkbot&namespace=all these 25 contributions]</span>
these 25 contributions – not what I wanted
Changing &offset= to &start=:
<span class="plainlinks">[//en.wikipedia.org/w/index.php?title=Special:Contributions&start=2021-10-06&limit=25&target=monkbot&namespace=all these 25 contributions]</span>
these 25 contributions – what I wanted
Use &offset= only when |ts= has hour/minute/second precision?
I suggested substing the date because defaulting to 'now' means that 1 day from today, 10 days from today, the the link will point to a different location in Special:Contributions and that is not likely to make BAG editors happy.
Trappist the monk (talk) 16:35, 23 October 2021 (UTC)
Oppose requiring it or making the template output a link to it. No objection to mentioning it in documentation somewhere, although IMO it doesn't seem more useful than just pasting the appropriate link directly. Anomie 23:56, 23 October 2021 (UTC)
Wasn't thinking of making it mandatory, just figured it would be helpful for pasting contribs. As far as copy/pasting goes, my thought is that if you did a trial run on 25 October and were not planning on any other runs (for example, a newish or AWB bot that isn't going to be running constantly) you can post the timestamp as soon as it's finished without even needing to go to the contribs page. Primefac (talk) 08:29, 24 October 2021 (UTC)
I think this template is useful. The normal Special:Contributions page does not give an option for listing contribs from a specific time. Here are some of my thoughts.
  • I think the timestamp is non-inclusive, so if an edit was made at 11:50:21, you would have to use the timestamp for 11:50:22. The documentation should make this explicit. In particular, you probably mean {{lnc|monkbot|25|20211007}} instead of {{lnc|monkbot|25|20211006235959}}.
  • I would stick with "offset" and just make clear that the contributions are from strictly before the timestamp, with omitted portions of the timestamp such as the hour, minute, and second defaulting to zero. The examples in the documentation should make things clear. You could say "20211007" is equivalent to "20211007000000". You could also be more explicit in the examples, e.g. saying that {{Last N contributions|Jimbo Wales|10|20030724}} would not give you contributions from the July 24th, but from July 23rd or earlier. Using two different parameters with different behaviors under different conditions would just complicates things.
  • I do see the ambiguity with defaulting to "now" meaning either the time of inclusion in the wikitext or just the most recent contribs with no specific offset. One must decide if both options should be available from the template, and figure out how to deal with the ambiguity if so.
Winston (talk) 00:16, 24 October 2021 (UTC)
Rather than burden this template with multiple time or date params to handle "before this" and "on this date", which could be confusing, it seems like the "on this date" issue could be solved by creating a wrapper template which calls {{lnc}} with an appropriate timestamp param, and then everyone gets the param usage and results they want.
Winston, I've adjusted the template doc to address your concerns; can you see if it's clear enough now or still needs work? (please Reply to icon mention me on reply; thanks!) Mathglot (talk) 08:32, 24 October 2021 (UTC)
@Mathglot: I added "from strictly before" instead of "before". Looks good otherwise. Winston (talk) 08:41, 24 October 2021 (UTC)

Replacement for KasparBot?

I see T.seppelt doesn't feel they have time to make it comply w/ current guidelines, is there an alternative today? – SJ + 18:07, 28 October 2021 (UTC)

Given that the bot has been blocked since 2018, what indication is there that its tasks are now required? Primefac (talk) 18:15, 28 October 2021 (UTC)

Bot that applied ShadowsCommons tags

I distinctly remember that several years ago a bot ran that automatically applied {{ShadowsCommons}} tags to Wikipedia files that had a non-identical file on Commons with the same name. Is it just a figment of my imagination, or did it actually exist? Jo-Jo Eumerus (talk) 16:28, 25 October 2021 (UTC)

It was User:GreenC bot/Job 10 * Pppery * it has begun... 16:31, 25 October 2021 (UTC)
User:Jo-Jo Eumerus it was offline since May due to changes at WMF that disallowed cross database searches. As of November 8 it is up working again with a new solution (GitHub also updated). I'm not 100% confident it is finding everything it should, but it is getting some things example just not at the same rate before May. If you are aware of anything it might be missing, or other processes doing this, that would be helpful to know. -- GreenC 03:38, 24 November 2021 (UTC)
Oh. See, my impression was that back then ShadowsCommons situations were far more common than they are now. I've seen that many of the files on Wikipedia:Database reports/Non-free files shadowing a Commons file didn't have a shadows commons tag so I was wondering if the bot was tagging these. Jo-Jo Eumerus (talk) 10:48, 24 November 2021 (UTC)

DumbBOT

Hello, Bot group,

I rely on DumbBOT which updates the PROD lists but since September, the updating schedule has shifted several times. I have left inquiries about this on DumbBOT's talk page but today, after another updating change, I went to the user page of the bot operator, Tizio, and saw that he hasn't logged in for over a year. I don't want the bot disabled but it seems like it should have an active operator who still works on Wikipedia. In fact, I don't understand how the updating schedule keeps shifting if the bot operator has been absent so long! Any chance that someone else could take over as operator? Thanks for any assistance you can offer. Liz Read! Talk! 00:37, 24 November 2021 (UTC)

Hi Liz, not a member of BAG but I've sent them an email pointing them to this thread. Their user page says I rarely log in lately. In case of problems with the bot email me. so perhaps we'll get a reply. I agree that bot operators should be active, and would urge a RfC on adding this to policy ~TheresNoTime (to explain!) 00:48, 24 November 2021 (UTC)
I seem to recall discussion about adding this to policy wayyyyyyy back in the past when I was on BAG (you know, when we had to use punch cards and snail-mail them to the WMF :P). Clearly it didn't happen! I entirely agree that bot operators should be responsive to concerns/bug reports/etc. I'm less sure about them being active in terms of some minimum edit requirement - as long as they respond to bot issues, that'd be good enough for me. (Which reminds me, I owe Liz a reply about the G13-warning task...) firefly ( t · c ) 08:39, 24 November 2021 (UTC)
It never occurred to me that the schedule of updates was important to some people. I sometimes do test runs, but other than this I haven't changed the times the bot runs. Except for the last couple of days, due to hardware maintenance; this may last some other time. Still, the bot is still working properly, and doesn't seem to me that updates were delayed that much. Tizio 09:50, 24 November 2021 (UTC)
We recently changed policy such that the operator needs to be available by talk page notification at a minimum. See this diff and instituting discussion. As for activity, I believe you're looking for this 2018 discussion, which I am not going to hunt down the specific change. Izno (talk) 17:25, 24 November 2021 (UTC)
I ended up activating email notifications, so that I will know when someone writes something to my talk page or the bot's.Tizio 14:38, 25 November 2021 (UTC)

Double redirects not fixed for several days

Even double redirect-fixing bots, like humans, like to procrastinate. At Special:DoubleRedirects, there is a list of hundreds of double redirects that have not been fixed for several days. Could this be considered "bot procrastination", then? GeoffreyT2000 (talk) 15:00, 29 November 2021 (UTC)

@GeoffreyT2000: These are fairly easy to fix with the pywikibot script, mw:Manual:Pywikibot/redirect.py ― Qwerfjkltalk 20:08, 29 November 2021 (UTC)
Futher instructions

Follow the instructions on mw:Manual:Pywikibot/PAWS to create a server and set everything up, then open a terminal. Type pwb.py redirect.py double, and then review each change it suggests. Some example edits I just did:

 ― Qwerfjkltalk 17:26, 30 November 2021 (UTC)

When editing through your main account, don't put "Bot: " in the edit summary. – SD0001 (talk) 17:45, 30 November 2021 (UTC)
@SD0001: How do you change the summary? ― Qwerfjkltalk 18:46, 30 November 2021 (UTC)
Xqbot already runs that exact script, so I don't think there's any value in running it manually. If it's missing some page moves or edits, that should be reported as a bug against Pywikibot. Legoktm (talk) 22:17, 1 December 2021 (UTC)

Template Editor permission for bot

@Xaosflux and Ymblanter: In reference to this discussion, my bot was approved for another task that requires template-editor permission. After the issues with the last request, I completely forgot to request it again when the task was approved, and just realized now why edits haven't been going through. --Ahecht (TALK
PAGE
) 17:18, 6 December 2021 (UTC)

@Ahecht: it looks like @El C: just upgraded the protection on that page from ECP to TEP - perhaps ECP will suffice? — xaosflux Talk 17:32, 6 December 2021 (UTC)
@Xaosflux: I have no idea what page you're referring to. El_C 17:51, 6 December 2021 (UTC)
@El C: sorry, it is Special:Redirect/logid/123242534. — xaosflux Talk 18:50, 6 December 2021 (UTC)
@Ahecht: and you are the one that asked for this to be protected - breaking yourself! Why do these pages need TE protection? What is the actual usage count realized? — xaosflux Talk 18:52, 6 December 2021 (UTC)
That page is read by the WP:AFCH gadget (which is actively used by about 600 editors and was used to place WikiProject banners 110 times in the last month per quarry:query/60495), MediaWiki:AFC-add-project-tags.js gadget (which was used 867 times in the last month per quarry:query/60494, and which was switched to that file based on your comments here about not having mediawiki js pages calling a userspace page), and MediaWiki:AFC-submit-wizard.js (which was used 2802 times in the last month to add WikiProject banners per quarry:query/60496). It's also used by User:SD0001/draft-sort-burst.js and User:Ahecht/Scripts/draft-sorter.js. --Ahecht (TALK
PAGE
) 23:09, 6 December 2021 (UTC)
OK, so seems like ECP should be fine here - it is in relatively low use by a gadget and as a json page can't be used to inject commands? — xaosflux Talk 00:01, 7 December 2021 (UTC)
Done. At your command, technocrats! El_C 00:11, 7 December 2021 (UTC)

We have a bot that's supposed to patrol new redirects, but there are hundreds of unpatrolled ones from November

In Special:NewPagesFeed, filtering for redirects and sorting by oldest brings up hundreds of month-old redirects from November 9. Some of them are recently-redirected articles and similar things with complicated page histories, but others (like this one at American Chemical Manufacturing and Mining Company) have only had one revision that whole time. I see that DannyS712 bot III's Task 66 was approved to patrol redirects automatically (following this RfC)-- indeed, the bot's log shows it patrolled some new redirects just a few minutes ago, and its to-do list is empty -- so what's going on here? jp×g 23:38, 7 December 2021 (UTC)

Nota bene: I am posting this here because the bot's creator and maintainer, @DannyS712:, has said he's not around much anymore and hasn't edited since November 19. jp×g 23:40, 7 December 2021 (UTC)

Never mind, I am a fool -- in the bot's source code it fetches a whitelist from pageid 62534307, which is Wikipedia:New pages patrol/Redirect whitelist. jp×g 23:52, 7 December 2021 (UTC)

Bots Newsletter, December 2021

Bots Newsletter, December 2021
BRFA activity by month

Welcome to the eighth issue of the English Wikipedia's Bots Newsletter, your source for all things bot. Maintainers disappeared to parts unknown... bots awakening from the slumber of æons... hundreds of thousands of short descriptions... these stories, and more, are brought to you by Wikipedia's most distinguished newsletter about bots.

Our last issue was in August 2019, so there's quite a bit of catching up to do. Due to the vast quantity of things that have happened, the next few issues will only cover a few months at a time. This month, we'll go from September 2019 through the end of the year. I won't bore you with further introductions — instead, I'll bore you with a newsletter about bots.

Overall

  • Between September and December 2019, there were 33 BRFAs. Of these, Green checkmarkY 25 were approved, and 8 were unsuccessful (Dark red X symbolN2 3 denied, Blue question mark? 3 withdrawn, and Expired 2 expired).

September 2019

Look! It's moving. It's alive. It's alive... It's alive, it's moving, it's alive, it's alive, it's alive, it's alive, IT'S ALIVE!
  • Green checkmarkY Monkbot 16, DannyS712 bot 60, Ahechtbot 6, PearBOT 3, Qbugbot 3 · Dark red X symbolN2 DannyS712 bot 5, PkbwcgsBot 24 · Blue question mark? DannyS712 bot 61, TheSandBot 4
  • TParis goes away, UTRSBot goes kaput: Beeblebrox noted that the bot for maintaining on-wiki records of UTRS appeals stopped working a while ago. TParis, the semi-retired user who had previously run it, said they were "unlikely to return to actively editing Wikipedia", and the bot had been vanquished by trolls submitting bogus UTRS requests on behalf of real blocked users. While OAuth was a potential fix, neither maintainer had time to implement it. TParis offered to access to the UTRS WMFLabs account to any admin identified with the WMF: "I miss you guys a whole lot [...] but I've also moved on with my life. Good luck, let me know how I can help". Ultimately, SQL ended up in charge. Some progress was made, and the bot continued to work another couple months — but as of press time, UTRSBot has not edited since November 2019.
  • Article-measuring contest resumed: The list of Wikipedians by article count, which had lain dead for several years, was triumphantly resurrected by GreenC following a bot request.

October 2019

November 2019

Now you're thinking with portals.

December 2019

In the next issue of Bots Newsletter:
What's next for our intrepid band of coders, maintainers and approvers?

  • What happens when two bots want to clerk the same page?
  • What happens when an adminbot goes hog wild?
  • Will reFill ever get fixed?
  • What's up with ListeriaBot, anyway?
  • Python 3.4 deprecation? In my PyWikiBot? (It's more likely than you think!)

These questions will be answered — and new questions raised — by the January 2022 Bots Newsletter. Tune in, or miss out!

Signing off... jp×g 04:29, 10 December 2021 (UTC)


(You can subscribe or unsubscribe from future newsletters by adding or removing your name from this list.)

XLinkBot has forked an article! 😲

XLinkBot (t · th · c · del · cross-wiki · SUL · edit counter · pages created (xtools · sigma) · non-automated edits · BLP edits · undos · manual reverts · rollbacks · logs (blocks · rights · moves) · rfar · spi · cci) (assign permissions)(acc · ap · ev · fm · mms · npr · pm · pc · rb · te)

On 2020 July 3, XLinkBot has overwritten a redirect with the content of its target article, effectively creating a fork! Here's the diff: [3] - Waysidesc (talk) 18:32, 2 December 2021 (UTC)

XLinkBot reverted content for no apparent reason. Not the first time I have seen (on my watchlist) XLinkBot reverting content incorrectly. -- GreenC 18:42, 2 December 2021 (UTC)

I guess this should be reported to User:Versageek. -- GreenC 18:42, 2 December 2021 (UTC)
Operators notified of this discussion. — xaosflux Talk 19:10, 2 December 2021 (UTC)
The first one is 1.5 years ago, odd but untraceable why that happened (unless people can show me a pattern).
I hoped that I resolved the second last week, but apparently there is still an issue there. If that one persists please turn off editing in the settings until I can solve it). Dirk Beetstra T C 13:19, 3 December 2021 (UTC)
@GreenC: I applied a new patch to both m:User:LiWa3 (who is at the core of the problem) and User:XLinkBot (who should properly check that what LiWa3 is telling him is true). It is running from now, please ping me if you see the wrong reverting problem appear again from, say, tomorrow (there may still be old edits in parserqueues somewhere, though it should be instant - XLinkBot should throw an error on what LiWa3 still had in parserqueues was wrongly parsed). Dirk Beetstra T C 08:36, 4 December 2021 (UTC)
Thought I did .. seems like I broke the bots. --Dirk Beetstra T C 10:51, 5 December 2021 (UTC)
And fixed again. Dirk Beetstra T C 18:27, 5 December 2021 (UTC)
@Beetstra: happening again. -- GreenC 17:38, 7 December 2021 (UTC)
Bot is off for now. Dirk Beetstra T C 04:07, 8 December 2021 (UTC)
I did a handful of adaptations to both LiWa3 and XLinkBot, it looks better now. I have turned XLinkBot back on, but please check whether I really solved it (proof is in the pudding). --Dirk Beetstra T C 11:27, 14 December 2021 (UTC)

Unattended bots

Robert McClenon posted on the Teahouse (permalink to thread) about an action of Yapperbot (talk · contribs · deleted contribs · logs · filter log · block user · block log), whose maintainer Naypta has not edited since August 2020. While the issue they mentioned could be closed ("working as intended"), they mention that a bot should not run without supervision even if it works fine. I think that is correct; as WP:BOTCOMM requires bot maintainers to promptly reply to any concern about their bot operation, they should be active on the project or at least responsive to pings/talk page messages.

Are we really going to block Yapperbot in the absence of a malfunction? Yapperbot is only one example, I imagine[dubiousdiscuss] that there are quite a few bots that still run without a human at the other end of the leash. The question is what to do to enforce BOTCOMM.

I suspect the actual current enforcement scheme is that such "zombie" bots are left alone until they misbehave badly enough, at which point they are blocked, though no example comes to my mind (even though I have been reading this noticeboard for a few years). I also suspect that zombie bots would get blocked at the first sign of mischief, whereas bots with a responsive maintainer (who promises a fix is on the way) would be cut more slack. That is probably not what the letter of the policy says, but it is reasonable. TigraanClick here for my talk page ("private" contact) 13:09, 7 December 2021 (UTC)

Personally speaking, if a bot is acting as intended, I say let it run until a) its use is no longer required, or b) it starts messing up. I do agree with your hypothetical that we are often more lenient for an active-operator bot that is malfunctioning, but as has been seen with a few bots in the relatively-near past, sometimes they need to be blocked anyway. Primefac (talk) 13:15, 7 December 2021 (UTC)
I talk to the owner, if the owner does not respond after a 'real' error and the error repeats, I bluntly block the bot. If the owner does respond after the first error and promises to maintain I will allow for some more errors, but will then eventually also block the bot if the error is not resolved. I guess we will not know whether Naypta is responsive on the bot-error-part until we encounter bot errors. (P.S. did we try to email Naypta?). Dirk Beetstra T C 13:54, 7 December 2021 (UTC)
If a bot is malfunctioning, blocking is always an option. If it gets blocked and the operator is unresponsive then it just stays blocked. I'm not up to block a bot that is working properly just because the operator is slow to respond. This noticeboard is a fine place to discuss such situations case-by-case. — xaosflux Talk 14:26, 7 December 2021 (UTC)
User:Tigraan - Thank you for raising the issue here. First, to clarify, Yapperbot is working properly and is doing a service for the community. It should be allowed to continue running. The situation that I tried to report was something of a corner case in which an RFC was tinkered with in a way that the bot did not understand. Second, I agree with the other editors about the blocking of bots. They should be blocked quickly if there is no responsible human, and if there is a human, there should be discussion with the human. Third, however, is someone willing to take responsibility for the bot? This is a case where we only noticed that the bot is running correctly but without a human because the behavior of the bot was suboptimal when the behavior of a human editor was suboptimal. Is this the right place to call attention, non-urgently, to bots that don't have a bot operator? Robert McClenon (talk) 16:40, 7 December 2021 (UTC)
To answer your last question in as few words as necessary, yes. Primefac (talk) 20:50, 7 December 2021 (UTC)
Even if the operator were active and simply didn't want to fix the 'bug' in this example (due to time constraints etc), it wouldn't really warrant blocking the bot. An odd notification about a closed RfC due to some rare bug is not much of an inconvenience and it's very small in proportion to all edits. More could probably be done to aid in the maintainability of bots, like with scripts any IA is technically able to edit a script if required (for maintenance/bug fixes); not as simple for a bot which runs on a server of its operator (or even Toolforge, given the strict policy for unmaintained tools). ProcrastinatingReader (talk) 23:19, 7 December 2021 (UTC)

An extreme case of this issue was Cydebot, which for about 15 years processed categories which WP:CFD had agreed to merge, rename, or delete. Cydebot did about 6.8 million edits in that time.

In the latter years, the bot owner @Cyde was around very rarely. That didn't matter while the bot did great work, but it became an issue when changes in bot functionality were needed. So a new bot was created, and when it was ready to roll, Cydebot was blocked to avoid clashes between two bots.

Cyde had done a magnificent job in creating a bot which ran error-free on such a huge scale for so long (average 1,200 edits per day for 15 years). There was no question of blocking the bot just 'cos Cyde wasn't around for chatter.

So I agree with Primefac: if a bot is acting as intended, I say let it run until a) its use is no longer required, or b) it starts messing up. --BrownHairedGirl (talk) • (contribs) 01:52, 16 December 2021 (UTC)

BHGbot 9 review sought

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.



Yesterday, I sought outside views on Wikipedia:Bots/Requests for approval/BHGbot 9, after failing to reach agreement with Headbomb and ProcrastinatingReader. See this request[4], at WP:Bots/Requests_for_approval/BHGbot_9#Other_views_sought

Unfortunately, instead of leaving it to previously-uninvolved BAG members, Headbomb decided to respond aggressively,[5] accusing me of being a dumb-as-a-brick-no-context-mindless-automaton, and falsely accusing me of making a personal judgement about the validity of a ref which had ben correctly tagged by another editor 4 years ago.

Headbomb has now declined[6] the BRFA, bizarrely accusing me of taking a general WP:BATTLEGROUND mentality -- even though it was Headbomb who responded with a BATTLEGROUND mentality to a reasoned request.

When I had specifically sought the views of BAG members other than PR & Headbomb, it was thoroughly inappropriate of Headbomb to close the BRFA before those outside views had been given.

Please can an uninvolved BAG member either reopen this BRFA, or review it? BrownHairedGirl (talk) • (contribs) 17:04, 16 December 2021 (UTC)

Oh my, there certainly seems a lot to unwind there. At its face, this seems like it should be a fairly uncontroversial task (remove a cleanup banner that is no longer needed) - something that I would expect an editor would do unceremoniously; it also seems fairly low volume. The impasse seems to be around what page conditions should or shouldn't warrant this template's use, and those same use cases should be or not be a problem for a human editor as well I would think? Is that being an unresolved question for human editors the crux of the conflict? — xaosflux Talk 17:17, 16 December 2021 (UTC)
@Xaosflux: the sticking point is quite simple, and quite bizarre.
In some rare cases, a tag such as {{better source needed}} has been mistakenly applied inside <ref>...</ref> tags. Even if the link is otherwise bare, the misplaced tag causes the bot to not recognise it as bare.
However, my view is that this actually a good glitch, because it is utterly daft to retain the big banner {{Cleanup bare URLs}} tag on a page where the only URL which could be counted as bare is one which has already been tagged for removal or replacement. That is in effect an inviting editors to fix a ref before someone removes it 'cos it should never have been there. Basically, "improve this before we bin it".
My view is supported by WP:CLEANUPTAG guidance: "If an article has many problems, tag only the highest priority issues" and "Don't insert tags that are similar or redundant".
Headbomb has chosen for some reason to take a stand to insist that the bot must leave such inappropriate {{Cleanup bare URLs}} tags in place, and do so with aggression which they have most unpleasantly tried to blame on me. BrownHairedGirl (talk) • (contribs) 17:49, 16 December 2021 (UTC)
@BrownHairedGirl: OK, so there is some sort of edge case where the page may be tagged that there are bareurls, when there are actually bareurls, for example if it included something like <ref>http://bare.url{{Better source needed}}</ref> correct? A wise human editor cleaning up that page should move that template to where it belongs, and then also improve the ref, then remove the bareurl cleanup tag - correct? I wouldn't expect a bot to be able to do all of that appropriately of course, however a bot could still detect that a bareurl is in ref tags, so long as it is also wrapped in a template, yes - that seems like the real check - a url in a ref should only be allowed if that url is contained within SOME template, or the url includes any other labeling. Yes, this would lead to some false negatives (extra skips) but that's OK. Can something like that be accommodated - and if so, will it resolve the dispute? I'd rather a bot skip something that is better done by a human in most cases. — xaosflux Talk 19:34, 16 December 2021 (UTC)
@Xaosflux: Your description of the issue and the human response sounds good. However, I am sorry, but I am not clear on what you are proposing the bot should do.
If it was easy to code for these exceptions, I would have sighed and done the coding, and accepted a few un-needed skips. However, it's actually quite a complex bit of coding (a monster regex to include a dozen template names and all their many redirects), which will be error-prone and not transparent.
I am also convinced that it is not just unnecessary, but actually undesirable. The effect of detecting these glitches would be to detect that a page which has a ref such as (in the disputed trial edit) <ref>https://www.imdb.com/title/tt0108956/technical?ref_=tt_dt_spec {{better source needed|date=October 2017}}</ref>, and treat that as a bare URL, and retain the {{Cleanup bare URLs}} tag.
That would be deeply undesirable and contrary to WP:CLEANUPTAG. I can see no circumstances whatsoever in which we should have a banner at the top of the page inviting editors to fill a bare URL ref in a case where that ref has already been identified as something which should be removed. Can you?
Headbomb wants to retain the {{Cleanup bare URLs}} tag in such circumstances, but has offered zero justification of how or why that is desirable or how it is compatible with WP:CLEANUPTAG. BrownHairedGirl (talk) • (contribs) 20:09, 16 December 2021 (UTC)
PS @Xaosflux: to simplify matters, please look at the diff[7] of the contested edit.
Was it appropriate to have the {{Cleanup bare URLs}} banner on that page as it then stood?
I say it would have been clearly wrong to retain that banner, and that the bot correctly removed it. What say you? BrownHairedGirl (talk) • (contribs) 20:15, 16 December 2021 (UTC)
I don't want perfection to get in the way of good; in this case there actually is a "bare url", having the page tagged as having a bad url seems appropriate, it is usually hard to determine the motivations of some editors - and it is also possible that whomever added the better sources tag is overruled, perhaps the source is a good enough source already. As to the perfection argument - this is garbage in garbage out, as the editor that added that tag inside the ref added "garbage". Do we have any feeling for how prevalent this type of edge case is? — xaosflux Talk 20:49, 16 December 2021 (UTC)
@Xaosflux: I am sorry to say that the declining of this bot request is not even a case of perfection to getting in the way of good. It is a case of narrow pedantry missing the point of the banner template, and demanding that the bad triumphs over the good.
Cleanup tags are not a scientific classification system. They are an invitation to editors to fix a problem, and the guidance at WP:CLEANUPTAG is very clear that we should focus on the actual problem: "If an article has many problems, tag only the highest priority issues", and "Don't insert tags that are similar or redundant".
In this case, the {{Cleanup bare URLs}} banner is redundant to the {{better source needed}} tag, because the priority is to replace the ref, not to fill it.
In fact, far from tagging that IMDB ref as bare and in need of filing (as Headbomb wants), it would be much better to have an opposite tag: one which says "this ref is a bare URL, but for god's sake don't waste your time filing it".
It may be that in some cases {{better source needed}} may be applied inappropriately, but that applies to any cleanup tag. I think this bot should act on the assumption that the {{better source needed}} tag has been reasonably applied, as it has clearly been in this case.
I would not object to the IMDB ref being tagged with a {{Bare URL inline}} tag; superfluous, but not harmful. However, we really do not need a a big fill-the-ref banner at the top of the page for a single bare ref which should NOT be filled.
I did a quick scope check. {{better source needed}} has 15,127 transclusions. Of those, 117 are inside the <ref>...</ref> tags. That's 0.77%.
So this bot has been declined because of Headbomb's desire that less than 1% of the pages should retain a banner which WP:CLEANUPTAG tells us doesn't belong there. Bizarre. BrownHairedGirl (talk) • (contribs) 21:19, 16 December 2021 (UTC)
Your summary of dumb-as-a-brick-no-context-mindless-automaton mischaracterizes what Headbomb said. He is characterizing the bot as such an automaton, not the proposed bot operator. I've only just gotten to this line, so there may be other merit to the OP. --Izno (talk) 19:10, 16 December 2021 (UTC)
@Izno: Headbomb may be referring to the bot, but by extension that is an attack on the bot-owner who programmed it.
Such pejorative language is inflammatory and uncivil. Even if Headbomb was referring to the bot, it's a pointless comment, because every bot is an automaton. If being an automaton is grounds for rejecting a bot, we should shut down all bots.
And this bot is clearly not dumb-as-brick". It includes (in step 5) a deep layer of sophistication which I think is superfluous and which no other commenter at BRFA wanted, but which I added at Headbomb's request.
I strongly object to the fact that Headbomb used this BATTLEGROUND language, and then accused me of having a BATTLEGROUND mentality. BrownHairedGirl (talk) • (contribs) 19:23, 16 December 2021 (UTC)
I think you're seeing intent there that doesn't exist as, since you agree, it is more or less a statement of fact to call it a no-context-mindless automaton. I won't comment too much more on the one point. Izno (talk) 19:32, 16 December 2021 (UTC)
@Izno: that comment was at best redundant, and the hyperbolic hostile terminology does not belong in a civil discourse. BrownHairedGirl (talk) • (contribs) 21:56, 16 December 2021 (UTC)
  • My take from reading that entire BRFA: Bot as written will remove bare urls - including ones which are valid but other issues apply (eg better source required). Despite going over these issues over an extended period of time (the comment from Headbomb as to the bot's mindlessness is entirely appropriate given the context of the discussion and the point at which it was made), bot operator is not interested in altering bot to accomodate this and cannot demonstrate consensus for the task. Absent any community consensus for the automated task, bot not approved.
Even given my repeated and extensive criticism of BAG's lax attitude to BOT oversight (I doubt I am on any of their christmas cards lists), I cant find any fault here bar perhaps Headbomb's techyness after going round in circles. To be blunt BHG, you failed to both understand and take note of issues which were explained a number of times and in different ways and repeatedly kept pressing for a resolution (to let you do what you want) without substantively addressing them. Asking for an answer repeatedly after being given an answer is enough to try anyone's patience. You were given a way forward: demonstrate with a clear RFC at an appropriate venue that the task should go ahead. Perhaps you should try that, because absent consensus to perform the task *with its shortcomings clearly explained* the decision is the correct one. Only in death does duty end (talk) 09:52, 17 December 2021 (UTC)
@Only in death: on the contrary, I understand the issues very well and have taken full note of them.
In a nutshell: the bot does have a glitch which remove the {{Cleanup bare URLs}} banner from a small number of pages which do have a bare URL. On that we all agree.
But the crucial point which most commentators here (including yourself) overlook, in every such case, the URL in question is also tagged with a more specific and appropriate tag. Therefore, per WP:CLEANUPTAG, the big banner tag at the top is superfluous ... and the glitch is not just a non-problem, it's a helpful (tho unintended) bonus.
Since that is existing, stable, guidance, no RFC is required. Consensus is demonstrated by WP:CLEANUPTAG's bolded guidance:
  • "If an article has many problems, tag only the highest priority issues"
  • "Don't insert tags that are similar or redundant"
So I'll ask you the same two question as I have asked others:
  1. how does it help editors to have at the top of the page a big banner message saying that refs should be filled, when the actual action needed is that the ref should be removed or replaced? That banner is telling editors to fill an ref before removing it
  2. How is such a banner compatible with WP:CLEANUPTAG? BrownHairedGirl (talk) • (contribs) 17:26, 17 December 2021 (UTC)
Or you could take the advice you have been given. As it stands you are either unable to understand your problem, or you are deliberately engaging in sealioning in order to wear people out. We are well past the point where having a discussion with you is productive, and I am uninterested in re-running a BRFA (here) where people with greater knowledge than you and more patience than me have devoted more than a reasonable amount of time to discussing this with you. Suffice to say, unless you make changes to address the issues, or gain some community consensus to perform the automated task despite its shortcomings, you are not going to get the result you want. This could have been resolved months ago and you know what you have to do. Only in death does duty end (talk) 19:04, 17 December 2021 (UTC)
@Only in death: that is a very arrogant and uncivil response.
I have demonstrated a clear understanding of the problem, and have asked you to explain your position on it. Sadly you have chosen not address the substance, but to attack me for asking that you address the core issue: that in my view, the existing guidance at WP:CLEANUPTAG supports the bots actions, which is evidence of consensus.
Your dismissal of that simple question is very poor conduct, and your choice to criticise me for asking it is even worse. It seems from your response so far that you are wholly uninterested in the existing guidance, and are concerned only to support a colleague. I hope you will correct that impression. BrownHairedGirl (talk) • (contribs) 19:14, 17 December 2021 (UTC)
So sealioning it is then. Good luck in your endevours. I will significantly oppose any bot request you now put forward unless you can clearly demonstrate community consensus for the task. Only in death does duty end (talk) 19:31, 17 December 2021 (UTC)
@Only in death: wow!
You adamantly refuse to answer the simple question of why I should seek an RFC for a side-effect which is supported by existing guidance, and which in any case effects only a trivial number of articles.
And you follow that up with a promise of ongoing prejudice against me: that your grudge at being asked a simple, civil question is enough for you to promise ongoing hostility. That is WP:BATTLEGROUND conduct taken to an extreme. BrownHairedGirl (talk) • (contribs) 19:58, 17 December 2021 (UTC)
  • If it was easy to code for these exceptions, I would have sighed and done the coding, and accepted a few un-needed skips. However, it's actually quite a complex bit of coding (a monster regex to include a dozen template names and all their many redirects), which will be error-prone and not transparent.
Correct me if I am wrong, but it seems to me the basic problem is one of design/flow logic. The current design matches bare URLs fairly strictly, and then does an action only if URLs were not matched, which results in people getting potentially angry because actions are taken too liberally. Accepting to over-match bare URLs, and therefore under-remove tags, would be the obvious option.
How about accepting as bare URLs stuff that is tagged with any template? I suppose in the regex <ref[^>]*?>\s*\[?\s*https?:[^>< \|\[\]]+\s*\]?\s*<\s*/\s*ref, this can be done by replacing the bolded part: \s*({{.*}}|\s)*. (Not tested, possibly there is some greedy match issue etc. etc. but even as a regex newbie I feel this can be done). Surely this would cause false positives (i.e. non-bare URLs that are considered bare), but I speculate it would still cause very few cases to not be detagged by the bot.
The only comment I will make about how the BRFA played out is that there are two very stubborn people and it would not be very productive to try to assess who is the stubbornest and by how much. (Unless my proposal above is insufficient for some reason obvious to both of those people, I see them missing it as strong evidence of my "stubborn" assessment.) TigraanClick here for my talk page ("private" contact) 14:40, 17 December 2021 (UTC)
I think that the approach here of trying to parse wikitext is a bit backwards. The better solution would be to grab the parsed page (via the API action=parse, for example) and look for /(?<!href=")https?:\/\//. Of course, that would require a little more coding knowledge that just plugging a regex into AWB. --Ahecht (TALK
PAGE
) 15:46, 17 December 2021 (UTC)
@Ahecht: parsing wikitext is AFAIK the only option available to an AWB module.
I someone wants to code a bot for this task in some other language or framework, then good luck. BrownHairedGirl (talk) • (contribs) 17:33, 17 December 2021 (UTC)
@Tigraan: the reason for not ignoring any template inside the <ref>...</ref> tags is that one template inside the ref tags is a valid reason for not treating the URL as bare for the purposes : {{Dead link}}. That is because it would be absurd to ask editors to fill a link which is dead.
I explained this several times in the BRFA. BrownHairedGirl (talk) • (contribs) 17:30, 17 December 2021 (UTC)
Still requires human judgement. If an archive is available (on web.archive.org or archive.is, for example) then it wouldn't be absurd to ask editors to fill a link which is dead. ProcrastinatingReader (talk) 21:34, 17 December 2021 (UTC)
@ProcrastinatingReader: if a suitable archived copy is found, then of course the the ref should be filled. But unless and until the archive is found, it cannot be filled.
So if a bare URL tagged as dead, the first step is to find an archive. So adding a "bare URL" tag to a tagged dead link is redundant ... and that is just the sort of issue covered by WP:CLEANUPTAG's guidance "Don't insert tags that are similar or redundant" and "If an article has many problems, tag only the highest priority issues".
I find it frustrating and depressing to have to repeatedly draw the attention of BAG members to existing guidance which they seem determined to ignore. BrownHairedGirl (talk) • (contribs) 22:21, 17 December 2021 (UTC)
@ProcrastinatingReader: it would be great if you could respond on this point.
You did not mention dead links in your 20 October review[8] of the trial.
I explained my reasoning on dead links to you in a pinged reply on 1 November[9]. I explained it again in my reply to Headbomb on 3 November[10], a post to which you replied on 11 November[11] without raising the issue. I explained yet again in my reply to you on 12 December.[12].
So it is very odd that you should raise the issue now as a barrier, and when it was not a barrier before. BrownHairedGirl (talk) • (contribs) 02:05, 22 December 2021 (UTC)
The two relevant point you see are "Don't insert tags that are similar or redundant" and "If an article has many problems, tag only the highest priority issues". I don't see the tags as redundant. See text on WP:BAREURL which says Note how much more information is available. Even if the link no longer works, one can see that it previously linked to a web page containing some technical discussion revolving around a specific Nikon firmware update that might be obtainable through other means. A reference about a dead link can still be filled, and it being a bare URL is a separate problem from the deadness of the link. You fix dead links by adding parameters such as an archive URL/archive date, or replacing the ref altogether. You fix bare URLs by adding information about the reference. I suppose a person fixing one or the other would take care of both issues, but that doesn't make them the same issue. That's the way I saw it anyway, I understand you might see it differently or may think this is a wrong way of seeing it, which is why I left the option for another BAG member (who may see things differently) to assess the BRFA. ProcrastinatingReader (talk) 10:05, 22 December 2021 (UTC)
@ProcrastinatingReader: you write A reference about a dead link can still be filled. But then you go on to explain (correctly) that the actions are to replace it or archive ... at which point it is no longer dead. But so long as it is dead, it cannot be filled.
And I still don't see why you didn't raise this at the BRFA. BrownHairedGirl (talk) • (contribs) 12:42, 23 December 2021 (UTC)
I feel you missed my point. I assume that {{dead link}}, or other templates, might be markers of non-bare URLs that you might want to match but that my approach would ignore. Unless you have evidence that it would cause more than 10% of false negatives, I would not care. The current situation is 100% of false negatives, because you’re not getting BAG approval as-is. And removing 90% of wrong tags would already be quite a feat IMO. TigraanClick here for my talk page ("private" contact) 09:02, 20 December 2021 (UTC)
@Tigraan: OK, I had missed your point: that simple code to ignore any template would cause maybe 10% (guesstimate) of pages to be skipped because a dead link is wrongly treated as bare ... but that a 10% skip rate is better than no bot.
However, why degrade the bot in that way?
The reason given is that some refs appear non-bare only because an inline cleanup tag has been misplaced ... and that seems like a terrible trade-off, because those much fewer misplaced inline cleanup tags all mark a ref which should be removed or replaced.
I have repeatedly asked here at at BRFA for BAG members to look at how WP:CLEANUPTAG supports tagging only by the priority issues, and have not got a clear answer from anyone. Why do we need a big banner {{Cleanup bare URLs}} tag at the top of the page when the only bare URL on the page is a ref which should be removed or replaced? How does that banner help editors? And how is its presence compatible with WP:CLEANUPTAG?
It's not a complicated question, so I am bewildered by the failure of anyone to try to answer it. BrownHairedGirl (talk) • (contribs) 01:34, 22 December 2021 (UTC)
For a start, WP:CLEANUPTAG does not support tagging only by the priority issues, it says that If an article has many problems, tag only the highest priority issues (my emphasis added). Do we need an entire banner for a singular bare URL? Probably not, especially if the inline template will suffice, but if it's the only issue on the page there's no harm in having it. But if there is a bare URL, and there is already the maintenance tag, then the tag should not be removed until the bare URL is fixed.
In looking through the discussion (particularly the back-and-forth starting 16 Dec on the BRFA, which is the first mention of CLEANUPTAG), there is a conflation of issues stemming from a single IMDb reference. BHG is arguing that the IMDb reference is inappropriate, and thus should be removed, regardless of whether it is a bare URL. Headbomb, on the other hand, is saying that the maintenance tag (whether inline or bannered) is appropriate regardless of whether it is a good or bad reference. The entire point of this bot run is to remove a maintenance tag where it is no longer required. From the perspective that task, therefore, I find myself agreeing with Headbomb - the question being asked by the bot is not "is this a good URL?" but rather "are there bare URLs?" The actual substance and status of the URL in question is irrelevant. Primefac (talk) 15:38, 22 December 2021 (UTC)
@Primefac: I am disappointed to see you agreeing with Headbomb's view of the cleanup tag. I think it is mistaken, because the purpose of a cleanup tag is not to note that an issue exists; the tag is to invite editors to fix a particular issue. From WP:CLEANUPTAG: Their purposes are to foster improvement of the encyclopedia by alerting editors to changes that need to be made
Since the purpose of cleanup tags is to draw the attention of editors to problems which need to be fixed, why do we need to ask editors to fill a ref which should be removed?
Please note that:
  1. this issue impacts only a small minority of uses. I guesstimate ~0.5% to 3%
  2. the total number of {{Cleanup bare URLs}} tags to be removed is ~1,400, so the number of articles impacted by this issue is in a rage of ~15-40 pages
  3. Nearly all of those {{Cleanup bare URLs}} tags were added by me in May. In no case did I add a {{Cleanup bare URLs}} tag because of refs of the form <ref>https://www.example.com/title {{some misplaced cleanup tag}}</ref>
  4. You agree that we probably don't need a big banner for single bare URL where the bareness is the problem to be fixed. In previous discussions about adding {{Cleanup bare URLs}}, several editors insisted that it should be added only where a 25% or more of refs were bare. They would not be at all pleased to find its removal being barred for a ref which shouldn't exist.
So it makes no sense to me that you support declining the bot to keep a big tag asking editors to fill which shouldn't be there, which the person who added the tag wants to remove it, and where only a tiny fraction of cases have this issue.
The result of that decision is that on over 1,000 articles, editors and readers will encounter a big cleanup tag which should no longer be there ... and I have wasted about 40 hours of my time.
This should all have been a very simple task. At Headbomb's request, I put a huge effort into making the bot retain the banner where there were bare URL external links etc, even though nobody supported Headbomb's demand. Headbomb ignored both a ping and a talkpage message from me asking for feedback on the trial. Then Headbomb goldplated the task even further, and when I asked for third-party review he hijacked the discussion, insulted me by accusing me of making a bot that was "dumb as a brick" (I have never seen a brick with 171 lines of C# code), and then closed the discussion to prevent anyone else commenting, and took the final word to falsely accuse me of battleground conduct.
I have no idea of Headbomb's motivations. But if Headbomb's aim was to waste my time by developing a bot which would never been approved, and which would allow him to aggressively insult me and discourage me from ever filing a BRFA again, then Headbomb handled this perfectly. If that was not their aim, then Headbomb has screwed up badly, both in substance and conduct.
Headbomb's conduct throughout, and esp their closing remarks, makes it very clear to me that any further work I put into the bot would be futile: they are uninterested in civil discussion of a disagreement, and will just find yet more reasons to oppose.
Whatever the motivation, it is sad to see again that nobody else in BAG is willing to challenge Headbomb's determination to act as an aggressive judge on his own decisions. Early in his thread, Xaosflux correctly noted that this seems like it should be a fairly uncontroversial task (remove a cleanup banner that is no longer needed) - something that I would expect an editor would do unceremoniously; it also seems fairly low volume.
Why on earth is nobody in BAG willing to acknowledge that this task is being wildly goldplated? BrownHairedGirl (talk) • (contribs) 12:07, 23 December 2021 (UTC)
I was responding entirely to your concerns about Headbomb's comments re: CLEANUPTAG, which in my opinion is a binary question, answering "should we remove this tag" with "are there still bare refs?". If the consensus (which I will be honest I have not seen a link to) is that the tag should only be placed (or kept) if there are <25% refs being bare, then by all means we should change that question to "are there <25% refs bare?"
I did not participate in the original BRFA because I saw a very long discussion with two BAGs and genuinely thought that my opinions would be just one more cook in the kitchen (thus causing me to miss the call for more opinions on the matter before it was closed). At any point in the discussion either one of you could have asked for other BAG thoughts at this noticeboard, but things got heated and Headbomb closed the discussion before that could happen.
I'm not quite sure the best way to proceed with your primary issue you raise (re-review, re-open, etc) but I will give it some thought. Primefac (talk) 12:23, 23 December 2021 (UTC)
@Primefac: thanks for that thoughtful response.
However, I want to correct you on point: things got heated and Headbomb closed the discussion before that could happen. Actually, things were very calm and amicable until my civil request for outside views was met with aggression by Headbomb. The heat and the denial of outside views were entirely Headbomb's doing. BrownHairedGirl (talk) • (contribs) 13:37, 23 December 2021 (UTC)
@BrownHairedGirl: At that point, whether your argument is correct or not is irrelevant: the BRFA is not passing as-is. What you call degrad[ing] the bot, I call "compromising to get stuff done".
Surely that is not be the first time you find yourself in a minority of one while thinking your argument is ironclad. (I have been in that situation twice already, and I am a much younger Wikipedian than you.) It happens, life goes on. In this case you have a solution to achieve 90% of what you want at almost zero coding effort, so I am baffled that you would not take it. TigraanClick here for my talk page ("private" contact) 10:44, 23 December 2021 (UTC)
@Tigraan: my objection is not that I am thinking [my] argument is ironclad. My substantive objection is that nobody even tried to address the WP:CLEANUPTAG guidance until Primefac's reply above, which I have only just seen 'cos I wan't pinged.
And I have a procedural objection: that my call for uninvolved voices was hijacked by Headbomb, who had already been involved; that Headbomb falsely and aggressively accused me of having created a bot which is dumb as a brick. A brick doesnt have 171 lines of code, so the only purpose of that comment was to insult and belittle me. Headbomb then closed the BRFA before anyone else could comment, doing so with a false assertion that I was engaging in battleground conduct,; and because the discussion was closed with that false assertion, I could not reply to it. Using disparaging language in response to a civil and reasonable request and then accusing your target of misconduct is a particularly vicious form of bullying, which tries to invert reality. It is especially inappropriate when the request was for others to review Headbomb's comments, and Headbomb should have recused themself to allow others to comment.
I still hope that Headbomb will retract those bogus allegations, so that I do not have to escalate. BrownHairedGirl (talk) • (contribs) 11:07, 23 December 2021 (UTC)

Arbitrary break

A few things

  1. Re: "Headbomb will retract those bogus allegations". These allegations are not bogus. All bots are dumb-as-a-brick, and cannot determine proper context. This is important because what you want to do is have a bot that ignores context. I will also note that you have repeatedly pinged me as several point during the 5-month long BRFA to give my feedback on it. It's a bit grand that you now refuse said feedback when it doesn't suit your needs.
  2. WP:CLEANUPTAG is very broad guidance, not sacrosanct thou must at all times only tag the highest priority issue (note the singular). It says tag only the highest priority issues (note the plural). Which are the highest priority issues is not something a bot can decide. I will also note that WP:CLEANUPTAG says Don't do "drive-by" de-tagging, which is exactly what this bot would do.
  3. There is substantial and susbtantive objection to your bot's logic, not only by me, but by other BAG members. (And from others too, as seen above.)
  4. You made it crystal clear you were not interested in "add[ing] yet more layers of complexity to cope with misplaced cleanup tags". I will further note here that this is your view that these tags are misplaced. You can demonstrate that your view is shared by the community with an RFC. And you can gain approval for the task by demonstrating, via RFC, that the community supports the systematic removal of all {{Cleanup bare URLs}} tags, even when bare URL remain in the articles, if the URLs are otherwise problematic. This is a context-sensitive task, unlike the removal of {{Cleanup bare URLs}} tags only when no bare URLs remain in the article.
  5. As such, there is (currently at least) no consensus for your bot, or any other bot, to carry out the removal of {{Cleanup bare URLs}} tags when bare url remains in an article.

I have no grounds for recusal, and my closure stands. Either resubmit the task without the problematic bit, or carry out an RFC establishing consensus to carry out the removal of {{Cleanup bare URLs}} tags when bare url remains in an article (including under what conditions it would be appropriate for the removal). Headbomb {t · c · p · b} 12:15, 23 December 2021 (UTC)

@Headbomb:
  1. Your point #1
    • You write All bots are dumb-as-a-brick, and cannot determine proper context. If that is genuinely your view, then logically you should decline all bots. Since you don't actually want to ban all bots, then your comment has no relevance to the decision to be made, and its only purpose was to insult ad attack me.
    • You write what you want to do is have a bot that ignores context. Utterly false; it has 171 lines of code to determine context. I am astonished that you have made such an absurd assertion.
      The disagreement is about one minor issue of context, whose relevance is disputed between us.
  2. After your enthusiasm for context, it is very disappointing that you quote WP:CLEANUPTAG without the crucial context which negates your point. Yes, it says "Don't do "drive-by" de-tagging", but it clarifies that by saying "please provide a similar rationale for removing a template".
    The Bot proposal clearly says that the bot provides an edit summary "WP:BHGbot 9: removed {{Cleanup bare URLs}}. This page currently has no bare URLs", and the bot's trial run used that edit summary. That satisfies WP:CLEANUPTAG.
  3. Yes, there is a BAG pile-on. But nobody has attempted to claim that having a big banner "fill the bare URL" message at the top of the page is helpful to readers or editor when the only bare URL is one which should be removed.
  4. that this is your view that these tags are misplaced. No, it is not ... and this is far from the first time in this episode that you have falsely claimed that something is my personal view.
    Take a look at Template:Better source needed: it clearly says "place the template outside the ref tags" (emphasis added).
    So why do you claim this is your view that these tags are misplaced. You can demonstrate that your view is shared by the community with an RFC????
    Your assertion is utter nonsense; I didn't write the template doc. So why you do you claim that is my personal view? Did you not read the template doc before making yet another demonstrably false assertion? Or did you read it and decide to misrepresent it in order to make me look bad?
  5. As such, there is (currently at least) no consensus for your bot.
    Actually, the "as such" that I see is that for whatever reason you are making stuff up as you go along. The more you write, the worse it gets -- I am appalled to see so much readily-falsifiable nonsense from someone who has using decision-making powers. So, again I urge you to retract your false allegations, rather than keep adding to them ... and unless you can make a rapid turn away from this serial falsification, you are building a strong case for your removal from BAG.
And above all ... do you really really really really really really really really really really really really really believe that it in any way helps readers or editors to leave at the top of World War II: When Lions Roared a big banner asking editors to fill a bare link to an unreliable source? Do you really really really believe that we need an RFC to decide that it removal would be appropriate?
As I wrote above, all your actions so far are wholly compatible with the possibility that you have throughout been looking for a way to prevent that bot being authorised. Your latest post adds a lot of weight to that sad possibility. BrownHairedGirl (talk) • (contribs) 13:29, 23 December 2021 (UTC)
I'm not sure point #3 is as strong or as necessary of an argument as you think it is; the bot task is "are there bare URLs", the quality of those bare URLs is (more or less) irrelevant for the purposes of this task.
Point #1 is a false equivalence. All bots are dumb, to a certain extent - they can only do what they are told. If I tell a bot to remove a navbox from a page, that is all it is going to do. If I want a bot to remove a template from a page only if there is a different template on the page, and convert it otherwise, I have given it the context and conditions to perform the run. Outside of the context I have provided, it will do nothing else. I think Headbomb's point, if somewhat blunt, is still accurate, and does not mean that "all bots should be declined", just that all bots should have enough information programmed into it to make the appropriate edits when necessary and skip if they do not have all of the information required.
I don't have much to say about your other points other than that everyone seems to be nitpicking grammar and nuance when there is really a simple question here: are there bare URLs on the page, and thus should there be a maintenance tag indicating it. If the common consensus is "as long as there are <X% bare URLs the tag can be removed" then there needs to be a link to that discussion (which is Headbomb's main point re: RFCs), otherwise "0 bare URLs" is the only acceptable time to remove the tag.
I think this task can be easily approved if resubmitted if it's simple, straight-forward, and not quite as steeped in convoluted wordplay. Primefac (talk) 13:55, 23 December 2021 (UTC)
Re "all your actions so far are wholly compatible with the possibility that you have throughout been looking for a way to prevent that bot being authorised". If you needed proof you're approaching this with a WP:BATTLEGROUND mentality, reread your last few comments and reevaluate what you wrote in light of WP:AGF. Our job as BAG is to ensure bots have consensus, and in my qualified opinion as a BAG member, you do not have that consensus. No one else in the BAG seems to think you have consensus either. No one outside the BAG seems to think you have that consensus either. It's certainly possible the community feels differently. You have a clear path ahead, make an RFC showing that there is a community consensus for your bot to carry out the removal of {{Cleanup bare URLs}} tags under the conditions you are proposing to remove them, or modify the task to be inline with what everyone else seems to think is consensus. Headbomb {t · c · p · b} 14:28, 23 December 2021 (UTC)
@Primefac: thanks, but I am not willing to resubmit on that basis.
The rigid binary seems (0% or not) to me to be deeply mistaken.
This is not a question of the bot positively deciding to remove the tag in edge cases. This is a matter of a very small number of edge cases where the bot may fail to detect that there is a ref which a) may be regarded as technically bare, but b) where a big banner tag would be wholly inappropriate, not just disproportionate but actually requesting the wrong action by editors. It's a rare glitch, but it is a bonus when it happens.
As noted above, coding to eliminate this glitch would mean either
  1. A huge amount of extra code, to specifically check for many possible inline templates and their redirects;
    or
  2. simple code which would treat tagged dead links as bare, and wrongly leave the banner in place for them.
I am not wiling to do either. Option #1 is far too much work, on a task to which I have already given way too much time (I could have cleared all these tags in other ways many times over in the hours I have wasted on this failed BRFA). Option #2 is silly; there are way more articles with dead links than with these misplaced tags, and it would daft to leave a big "fill the ref" banner for dead links.
All this drama is to prevent the bot unintentionally removing a big "fill the bare URLs" banner on page with a ref to user-generated source. Does anyone really honestly think that such a removal will generate objections? Or that any such objection cannot reasonably dismissed by noting WP:CLEANUPTAG?
As to your defence Headbomb's point #1, you lead me no closer to seeing any merit in claiming 171 lines of code to be "dumb as a brick". That's just antagonistic hyperbole, and when placed in context of Headbomb's repeated claims that decisions by others are my "personal view", I give Headbomb no benefit of the doubt. There is only so so much unretracted smearing that I will take, and I have zero tolerance for Headbomb's viciously nasty game here of acting aggressively and then using his powers to falsely accuse me of taking a battleground stance. Enough.
This absurd goldplating of a simple task has been a depressing episode. I thought that the removal of these redundant tags would be best done as a bot job, to go easy on watchlists. Evidently not. BrownHairedGirl (talk) • (contribs) 14:56, 23 December 2021 (UTC)
I think option 2 is the way forward here. I'm not sure why you're unwilling to do that as "silly". Surely it covers the vast majority of detagging cases and leaves a handful left for manual review. For what it worth, I disagree with Headbomb's demeanour but not the substance of what he's trying to get across. It seems like you're trying to reframe this problem as was it okay for the bot to remove the template in this specific case from the test sample, and while the removal may have been fine taking into account the rest of CLEANUPTAG, and nuances of if the ref should have just been removed, that's not the logic the bot is working on. BAG need to take into consideration if the actual logic the bot used to make the decision is valid, not if it "got lucky" because the removal can be justified for other reasons. - Kingpin13 (talk) 16:52, 23 December 2021 (UTC)
@Kingpin13: No, {{Dead link}} goes inside the ref tags. By contrast, the other cleanup tags.are supposed to go outside: e.g. {tl|Better source needed}}, {{Failed verification}}, {{Unreliable source?}}, {{Promotional source}}, {{COI source}}, {{Obsolete source}}, {{Irrelevant citation}}, {{Self-published inline}}, {{Unreliable fringe source}}. The issue here is that a few strays are placed inside.
The actual logic is valid, because while it was unintended, it is actually a valid bonus. In every case, the tag which might be misplaced inside the ref is one which says that ref should be removed or replaced. We do not need a big "fill the bare ref" banner at the top of the page for a ref which should not be filled, just as don't need a big "fill the bare ref" banner at the top of the page for a ref which cannot be filled because it is dead.
The mathematical approach being taken by Headbomb and his followers ignores the fact that in the tiny minority of cases where a misplaced tag causes a bare link to be seen by the bot as not-bare, the nature of the misplaced tag means that the glitch actually produces a good outcome which accords with WP:CLEANUPTAG.
I am not going to mangle the bot to make it leave a "fill the bare ref" banner where the only ref to be filled is dead. Asking readers to fill a dead ref is bonkers.
Nor am I going to add a big layer of complexity to make the bot leave a "fill the bare ref" banner where the only ref to be filled is one which should be removed or replaced. That would be lots of work to create an outcome which invites editors to do something which would also be bonkers.
I feel that I am repeatedly explaining this same issue to people who are not interested in the purpose of the banner tag.
The huge irony here is that Headbomb's nastiness included allegations that I am taking a crude robotic approach. The reality is the exact opposite of that: I am applying common sense to the exceptions. The robotic stance is the demand that the "fill bare URL" banner be left in place for these rare exceptions, which IN EVERY GODDAMN CASE ARE REFS WHICH SHOULD NOT BE FILLED.
Anyway, I am clearly wasting my time here. Good day to y'all. BrownHairedGirl (talk) • (contribs) 20:26, 23 December 2021 (UTC)
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Bot to tag unused fair use files for deletion

Hello! Does anyone know of a bot that tags unused fair use files for delayed speedy deletion under criterion F5? I'm going through the list of them right now, and some have been unused for a while — for example, File:"Mookajjiya Kanasugalu", Film Poster.jpg, which hasn't been used in Mookajjiya Kanasugalu (film) for more than seven weeks. (If there isn't a bot, I think I'd like to make one.) Tol (talk | contribs) @ 00:18, 16 December 2021 (UTC)

@Tol: I think that B-Bot does this (recent taggings) you could ask the operator about their process first. — xaosflux Talk 00:23, 16 December 2021 (UTC)
@Xaosflux: Thank you, that was what I was looking for! It looks like B-Bot tends to tag the file a few days after it's no longer used — I'm not sure why some files slip through the cracks. I'll contact the operator. Thanks again! Tol (talk | contribs) @ 00:29, 16 December 2021 (UTC)
@Tol and Xaosflux: I'm out of the country at the moment (returning December 24) so I can't make changes to my code until I get back. The list of orphans I am using is Wikipedia:Database reports/Unused non-free files. Further, it's waiting 24 hours after it first sees a file appear on that list before tagging it (so due to when the list is updated vs when I am tagging it may be 2 days). The reason for the wait is that when the bot was approved, one of the concerns expressed was that some users considered it obnoxious if a page was undergoing revision or was vandalized and we tagged an image as an orphan moments later. (I don't share this concern - but this was requested in the approval discussion.) I was previously doing a direct database query using Quarry and using this database report page only as a backup, but the Quarry page changed and I need to update my code to use the new version of it. I'm not sure why File:"Mookajjiya Kanasugalu", Film Poster.jpg wasn't picked up, but it's not on the database report page and from spot-checking the history, I don't see where it ever has been listed there. So I'm not sure where the breakdown is. When I get back, I will update the code to use the new version of Quarry and we can see if that works better. --B (talk) 20:49, 18 December 2021 (UTC)
Alright; thank you! Tol (talk | contribs) @ 21:46, 18 December 2021 (UTC)

As a followup, the bot is updated so that it is using Quarry once again (and only relying on the on-wiki database report as a backup). Hopefully that will resolve the issue. --B (talk) 23:23, 25 December 2021 (UTC)

That sounds great; thank you! Tol (talk | contribs) @ 19:47, 31 December 2021 (UTC)

Double redirects for user's scripts

A special page for double redirects contains a few hundreds double redirects for user's scripts which my bot can't process due to no permission. May be someone with sysop rights can process them? --Emaus (talk) 13:03, 1 January 2022 (UTC)

Genuinely out of curiosity, can you (or any other respondents) think of a reason to keep those old user script pages? I would assume they exist due to user renames, so they would not be viable and could likely just be deleted outright. Primefac (talk) 13:17, 1 January 2022 (UTC)
Not sure these pages are really necessary so the deletion can be the best solution. --Emaus (talk) 13:26, 1 January 2022 (UTC)
There may be some userscripts that someone else has imported. The rest might as well be deleted I believe. --Trialpears (talk) 13:35, 1 January 2022 (UTC)
@Primefac: if any of the "from" links on these are for accounts that no longer exist, we really should delete them for beans reasons. — xaosflux Talk 13:33, 1 January 2022 (UTC)
Good point. And for the pages like User:Akbys/vector.js, which I suspect will be few and far between (only four that I counted in the first 25), we update manually? Primefac (talk) 13:36, 1 January 2022 (UTC)
I deleted a bunch of settings ones. I'll keep looking. Izno (talk) 00:19, 2 January 2022 (UTC)
I've deleted most of the rest citing either U2 or G6, with a handful of edits to the ones in the same user space, as suggested above. Feel free to review the ones still linked in blue text or in my contribs. The only ones I've left behind deliberately are for Silver Master, which is a CU-blocked account that got renamed and probably should be reported as having been renamed out of order, Izno (talk) 05:17, 3 January 2022 (UTC)
(And now I'm almost winning for most deletions in 2022. Hard to catch up to Explicit, and I've only got Liz by 1 right now.) Izno (talk) 05:19, 3 January 2022 (UTC)

Rlink2 Bot

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


The Rlink2 Bot is adding ghostarchive links to NYTimes citations with the edit summary "Adding archives to assist with Wikipedia:Verifiability, WP:SOURCEACCESS". Was it approved for that purpose? Is ghostarchive an approved archive? The bot is not adding "url-status=live" to the citations.

Examples
https://en.wikipedia.org/w/index.php?title=European_Union&curid=9317&diff=1063238337&oldid=1063219228
https://en.wikipedia.org/w/index.php?title=Cocaine&curid=7701&diff=1063234152&oldid=1062962495

More at https://en.wikipedia.org/wiki/Special:Contributions/Rlink2

cc Primefac, TheSandDoctor --Whywhenwhohow (talk) 05:50, 2 January 2022 (UTC)

@Whywhenwhohow: This appears to fall under Wikipedia:Bots/Requests for approval/Rlink2 Bot 2 but it doesn't appear that it has been approved for trial. @Rlink2: please cease immediately and explain. --TheSandDoctor Talk 06:36, 2 January 2022 (UTC)
I got my tabs confused so striking part of that. @Whywhenwhohow: if it isn't running on Rlink2 Bot, then it isn't a problem from a BAG or BOTPOL perspective and this would be better queried on the editor's talk page or on the open BRFA. --TheSandDoctor Talk 06:40, 2 January 2022 (UTC)
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Original research noticeboard

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Old threads at WP:ORN is not getting archived by the assigned bot User:Lowercase sigmabot III. In particular, the section Wikipedia:No_original_research/Noticeboard#Yahwism#Torah_appears_to_be_OR from September 5 is still at the top of the page. –LaundryPizza03 (d) 06:52, 11 January 2022 (UTC)

This should fix it. Majavah (talk!) 06:57, 11 January 2022 (UTC)
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

TolBot 10

@ProcrastinatingReader and TheSandDoctor: Recently approved TolBot 10 created Austin Vedder

1. Redirecting to Austin A. Vedder, which is another redirect (from a misspelling, no less). The bot should not create double redirects.

2. Inserted {{DEFAULTSORT:Vedder, Austin}} inside the {{Redirect category shell}} sandwich. This is not a redirect category template so it should be placed outside of the sandwich.

3. Placed {{R from short name}} inside the sandwich. This is not a valid short name, so this template should not have been put there; rather {{R from misspelling}} would be the appropriate template to put there.

wbm1058 (talk) 02:20, 15 January 2022 (UTC)

These are base WP:BOTISSUE issues, best resolved by contacting the operator and asking them to make changes. It seems this hasn’t been discussed yet with them, and they haven’t been notified to this discussion? For one and three, it seems like the bot could either resolve double redirects, and change the rcat in case of double redirect, or (more simply) not process pages which themselves are redirects at all, which would probably be better. ProcrastinatingReader (talk) 09:46, 15 January 2022 (UTC)
I wanted to report this at the BRFA but since it was closed already, and I saw this message at the bottom:
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at Wikipedia:Bots/Noticeboard.
That's why I came here. Maybe a bit out of frustration over my experience that I've generally had to wait weeks for some of my bots to get approved. Hopefully User:Tol sees our pings and resolves this. I don't want to make too much of a deal about it since so far it seems to be a one-off. wbm1058 (talk) 17:13, 15 January 2022 (UTC)
Left operator a talk page note, agree that starting with operator talk would have been best at this point - I don't think the entire BRFA is defective. — xaosflux Talk 17:36, 15 January 2022 (UTC)
Thanks. I just found a second instance, Brian Garner. Same issues. – wbm1058 (talk) 18:47, 15 January 2022 (UTC)
Hi all! I just noticed this. I'm sorry about that; I should have considered double redirects. I'll write a script to check all of the pages it's created for double redirects, and manually check all of them. Thanks for letting me know. Tol (talk | contribs) @ 20:35, 15 January 2022 (UTC)
I have a list of problematic redirects and am working on them now. Approximately 244 (1.3%, 1 in 75) of redirect creations were problematic. As for placing defaultsort inside the redirect category shell, I was following the advice at Template:Redirect category shell#Other templates, which states that "This template may also carry and hold other [non-rcat] templates ... Even the {{DEFAULTSORT}} magic word and a sort key may be used either inside this template or below it." For all of the double redirects, I will convert them to Template:R avoided double redirect. Tol (talk | contribs) @ 22:00, 15 January 2022 (UTC)
 Done all with AWB. Thanks again for letting me know, and my apologies for the problem. Tol (talk | contribs) @ 22:26, 15 January 2022 (UTC)
Thanks for that link to the documentation; I didn't know that it was apparently boldly updated to say that back in July 2016. – wbm1058 (talk) 19:03, 16 January 2022 (UTC)
No problem. Tol (talk | contribs) @ 23:30, 19 January 2022 (UTC)

Suggestion for bot page banner

 You are invited to join the discussion at Template talk:Bot § Handles bots with multiple tasks poorly. {{u|Sdkb}}talk 07:35, 2 January 2022 (UTC)

Rlink2 Bot

Page watchers may be interested in WP:ANI#Rlink2. Izno (talk) 23:24, 18 January 2022 (UTC)

Task tweak

Would a BAGger please look at Wikipedia talk:Bots/Requests for approval/Fluxbot 6 and advise? Thank you! — xaosflux Talk 16:59, 19 January 2022 (UTC)

Bots Newsletter, January 2022

Bots Newsletter, January 2022
BRFA activity by month

Welcome to the ninth issue of the English Wikipedia's Bots Newsletter, your source for all things bot. Vicious bot-on-bot edit warring... superseded tasks... policy proposals... these stories, and more, are brought to you by Wikipedia's most distinguished newsletter about bots.

After a long hiatus between August 2019 and December 2021, there's quite a bit of ground to cover. Due to the vastness, I decided in December to split the coverage up into a few installments that covered six months each. Some people thought this was a good idea, since covering an entire year in a single issue would make it unmanageably large. Others thought this was stupid, since they were getting talk page messages about crap from almost three years ago. Ultimately, the question of whether each issue covers six months or a year is only relevant for a couple more of them, and then the problem will be behind us forever.

Of course, you can also look on the bright side – we are making progress, and this issue will only be about crap from almost two years ago. Today we will pick up where we left off in December, and go through the first half of 2020.

Overall
In the first half of 2020, there were 71 BRFAs. Of these, Green checkmarkY 59 were approved, and 12 were unsuccessful (with Dark red X symbolN2 8 denied, Blue question mark? 2 withdrawn, and Expired 2 expired).

January 2020

A python
A python
A python
0.4 pythons
Yeah, you're not gonna be able to get away with this anymore.

February 2020

Speaking of WikiProject Molecular Biology, Listeria went wild in February

March 2020

April 2020

Listeria being examined

Issues and enquiries are typically expected to be handled on the English Wikipedia. Pages reachable via unified login, like a talk page at Commons or at Italian Wikipedia could also be acceptable [...] External sites like Phabricator or GitHub (which require separate registration or do not allow for IP comments) and email (which can compromise anonymity) can supplement on-wiki communication, but do not replace it.

May 2020

We heard you like bots, so we made a bot that reports the status of your bots, so now you can use bots while you use bots

June 2020

A partial block averted at the eleventh hour for the robot that makes Legos

Conclusion

  • What's next for our intrepid band of coders, maintainers and approvers?
  • Will Citation bot ever be set free to roam the project?
  • What's the deal with all those book links that InternetArchiveBot is adding to articles?
  • Should we keep using Gerrit for MediaWiki?
  • What if we had a day for bots to make cosmetic edits?

These questions will be answered — and new questions raised — by the February 2022 Bots Newsletter. Tune in, or miss out!

Signing off... jp×g 23:22, 31 January 2022 (UTC)


(You can subscribe or unsubscribe from future newsletters by adding or removing your name from this list.)

NPOV disputes categories

Lots of categories named "NPOV disputes from Month Year" have been moved to the "Wikipedia neutral point of view disputes from Month Year" name by JJMC89 bot III as a result of Wikipedia:Categories for discussion/Log/2021 December 23#Category:NPOV disputes. Since then, most of them have been deleted by Fastily due to an automatic G6 notice for empty monthly categories. After that, some of them have been recreated by AnomieBOT and then the recreated categories have again been moved by JJMC89 bot III and deleted by Fastily. To prevent an endless cycle of creation by AnomieBOT, moving by JJMC89 bot III, and deletion by Fastily, all of the "Wikipedia neutral point of view disputes from Month Year" categories that were deleted by Fastily should be undeleted, any recreated category by AnomieBOT should be history-merged with the old history at the new name, and the corresponding templates should be modified to prevent the categories from being empty again. Also, both JJMC89 bot III and AnomieBOT should be temporarily disabled until all this is sorted out. GeoffreyT2000 (talk) 21:16, 19 January 2022 (UTC)

SilkTork should not have listed the categories at WP:CFDW since manual work is required. (See bolded note at the top of the bot work section.) I've reverted the addition which will stop my bot. — JJMC89(T·C) 21:31, 19 January 2022 (UTC)
I have requested undeletion at Wikipedia:Requests for undeletion#NPOV disputes categories. GeoffreyT2000 (talk) 22:22, 19 January 2022 (UTC)
As I appear to be the one that has caused the problem I will sort it out, though I am unsure what needs to be done. After I manually rename the cats, what should I then do to prevent problems? GeoffreyT2000, JJMC89, are you able to advise? SilkTork (talk) 08:47, 20 January 2022 (UTC)
As the categories are populated by templates, what you'll need to do is update the relevant templates to populate the new categories. You'll also need to move Category:NPOV disputes itself and the related stuff referred to at Wikipedia:Creating a dated maintenance category so AnomieBOT will work correctly.
There's probably no need to worry about the "NPOV disputes from Month Year" categories themselves, once you've done the other work they'll be emptied and someone (e.g. Fastily) will delete them, while AnomieBOT will create the new "Wikipedia neutral point of view disputes from Month Year" categories as they're populated. Just check later on that they did eventually get emptied and deleted. Anomie 13:20, 20 January 2022 (UTC)
I clearly should not have stepped into this. It seemed a simple closure, and it turns out to be somewhat more complicated and esoteric. Would someone advise me what the "relevant templates" are and how to update them "to populate the new categories". SilkTork (talk) 18:40, 20 January 2022 (UTC)
Dated maintenance categories aren't the most straightforward to deal with. I think I got everything that needed doing. — JJMC89(T·C) 02:59, 21 January 2022 (UTC)
This is why I haven't gone into closing CFD discussions, they can have repercussions. Liz Read! Talk! 04:17, 21 January 2022 (UTC)
Thanks JJMC89. Yes, I can now see why that discussion was unclosed after two months even with a clear consensus to rename. My attention was drawn to the discussion by a pink link, and after reading it I was going to add my support for a rename, but when I saw how old the discussion was, I thought the more appropriate thing to do was close it. And then I followed the instructions for what to do after closing such a discussion. I probably missed some instructions on that page for special cases like this. Anyway, lesson learned - like Liz I shall stay away from closing CFD discussions in future! SilkTork (talk) 08:57, 21 January 2022 (UTC)
This is not what should be happening. The overwhelming majority of CFD discussions can be closed by just listing the categories at CFDW, or at least doing so will not cause a disaster. * Pppery * it has begun... 15:12, 21 January 2022 (UTC)
Well, * Pppery *, I think there needs to be a "Dummies Guide" to closing CfD discussions because I've read over the instructions several times over the past few years and found them intimidating enough that I never started doing closings. I think I need someone to walk me through it and to admit that is humbling. Liz Read! Talk! 02:40, 25 January 2022 (UTC)
It's really not that hard.
  • For discussions where the result is "Keep" or "No consensus" , you can just use XfDCloser, which should handle all required actions.
  • For discussions where the result is "Delete", you can use XfDCloser to close the discussion, and then list the name of the category at Wikipedia:Categories for discussion/Working#Empty then delete in the format specified in HTML comments on that page. For some categories additional manual actions are necessary, but nothing will go wrong if the category sits there and you let one of the people who watch that page do the manual work.
  • "Merge" results follow the same procedure (with the same caveat), except the section to use is Wikipedia:Categories for discussion/Working#Merge then delete
  • "Rename" results can be done following a similar procedure (using Wikipedia:Categories for discussion/Working#Move). There's slightly more potential for things to go wrong there, because the bot moves the category without leaving a redirect and tries to update all uses. If it fails for whatever reason, then the result will be pages in red-linked categories. Usually they get fixed properly by whoever patrols that list (or a CFDW watcher), but occasionally something goes wrong.
I can say for sure that it is not possible to recreate this specific mess (a "rename" case in which an incomplete implementation of the rename caused clashes with other bots) by closing any of the pending CfD discussions. * Pppery * it has begun... 03:00, 25 January 2022 (UTC)
Why do the instructions not say this simple version? I had the same reaction as Liz. :) Izno (talk) 03:45, 25 January 2022 (UTC)
I'm not the person who wrote the instructions, so don't know for sure, although my hunch would be they predate XfDCloser, and also the way I phrased it delegates some of the hard work to other people. Feel free to copy some version of what I wrote above to that page if you want to. * Pppery * it has begun... 03:53, 25 January 2022 (UTC)
* Pppery *, I see an exciting career ahead of you in software documentation! Wooo! I don't know why the CFD instructions are unnecessarily confusing and complex, you make it sound very straightforward. Many thanks. It's on my "To Do" list to try to take on some more simple closures next month. Liz Read! Talk! 05:17, 29 January 2022 (UTC)
I guess that would be down to me in most part, to address various things that went wrong in the past. Nice work, Pppery! I will look at further updating the instructions after I've had some practice using XFDCloser. – Fayenatic London 17:09, 2 February 2022 (UTC)

user:legobot spamming MFD archives

see here. Bot is not respecting {{bots}}. In a hurry right now can't type anything else —GMX(on the go!) 21:15, 26 January 2022 (UTC)

Bleh, thanks for the report and partial block, looking into it now. Legoktm (talk) 04:54, 27 January 2022 (UTC)
@PorkchopGMX (on the go):  Donexaosflux Talk 15:43, 3 February 2022 (UTC)

I disabled the automatic running of the MFD archiver script. I have some new code which should be ready to go, but I'll run it manually for a few days before automating it. There are no MFDs needing archiving right now so I'll give it a shot tomorrow and lift the partial blocks then. Legoktm (talk) 07:19, 4 February 2022 (UTC)

Inactive bots - February 2022

It looks like we have a few inactive bots by definition (both account and operator haven't edited in 2 years) according to the Majavah report. (Majavah, if there's a listed operator, could you get their contribs or something and add that to the report too? Maybe even a column to indicate mutual activity e.g. {{cross}} where neither are and a {{check}} where both are. This was painful. :)

Pending removals

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Required notifications

All operators notified on their talk pages. — xaosflux Talk 14:22, 1 February 2022 (UTC)

The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Forward outlook

And a few more in a month or so:

Long inactives but not outside of policy

We should consider asking the active bot operators whether all the rest of the bot accounts that haven't edited since a while ago (pick a number, 5 years seems fine generally) still need a bot flag. These particularly stand out...:

Discussion

These ones seem like low-hanging fruit, but I think the rest should be queried as well. Izno (talk) 05:30, 1 February 2022 (UTC)

This was actually the subject of a proposal I was about to make -- I think it might be useful for a bot task that monitored the on-wiki activity of bot maintainers. Either "last edit date", or "edits in last 180 days", or something along those lines -- this could either go on a central status page or on the infobox of a bot's userpage. Oftentimes, the writers and maintainers of bots will go inactive for a long time, which makes it a little discouraging to report bugs / suggest new features, as it's likely they will fall into a black hole. Sjp×g 07:45, 1 February 2022 (UTC)
This seems like a good idea, but relies on something we don't actually have: a programmatic listing of all bot:operator relationships! I'd actually like to see a page/table for this. (which could then also possible be bot-updated with the last edit/action dates of each periodically) - but bootstrapping it takes some effort. — xaosflux Talk 10:53, 1 February 2022 (UTC)
Picking a couple recently-approved BRFAs at random, it looks like "Operator:" is formatted relatively consistently between 2013 and now -- I might be able to scrape through these and come up with something. Maybe something that had to be manually verified, but it'd be something. jp×g 11:36, 1 February 2022 (UTC)
Hell, even this one from 2007 has the operator noted the same way. jp×g 11:38, 1 February 2022 (UTC)
Here's an idea, your idea might be better though: There's bot userboxes that are posted on the owner's page and indicate the operated bot as one of the parameters. Example: {{Template:User bot owner|Acebot}}. There's probably userboxes or templates for the bot's page too. These templates also populate categories such as Category:Wikipedia bot operators. –Novem Linguae (talk) 11:43, 1 February 2022 (UTC)
It's only somewhat related but I'd like to see a list of active approved bot tasks. There are lots of pages in Category:Approved Wikipedia bot requests for approval but this includes tasks that finished, op went inactive, are obsolete, consensus changed, bot went down, etc...
A useful way would be for the closing BAG to add a characteristic of a task (eg the task # in edit/action summaries) to Wikipedia:Bot activity monitor going forward, which would achieve that. Then maybe old tasks can be added on an ad-hoc basis. ProcrastinatingReader (talk) 12:40, 1 February 2022 (UTC)
It would likely be a "going forward" for now, with potential retroactive categorisation later, but we could always base it on the "Edit period(s)" section of the task - if it's a One-Time-Run, sub-categorise it as such, otherwise put it into some sort of "ongoing" subcat. Primefac (talk) 20:53, 1 February 2022 (UTC)
I added a column to User:MajavahBot/Bot status report for the last recorded activity (any edit or publicly logged action) for any listed operator. Majavah (talk!) 11:05, 1 February 2022 (UTC)

Question about making edits for semi-automation

I recently posted on the help desk (Wikipedia:Help desk#Confusion on bot policy regarding semi-automated editing) where I explained my confusion on how one should approach/implement semi-automated edits. You may read the section I linked if you wish to. In a nutshell, I would like to semi-automate edits from a script I am running. I do not wish to create a bot account and would like to have the edits be on my main account (once I get more comfortable with the API I may consider expanding the script and may look into bot creation).

My requirements seem simple. However, according to mw:API:Edit I require a CSRF token, but apparently I can't just lazily do mw.user.tokens.get( 'csrfToken' ) and call it a day cause that does not work. As the code samples demonstrate, there is a 4-step process. Fine, but I'm confused about the second step (POST with lgname+lgpassword+lgtoken), because those parameters are to be obtained from Special:BotPasswords which states Make sure you are logged into your bot's account, and not the owner's account, before creating a bot password. , and as per WP:SEMIAUTOMATED, A bot account should not be used for assisted editing, unless the task has been through a BRFA.. So, I should not use a bot account, but I still need a 'bot password' from an account which it seems to imply cannot be my own?

Side note: MediaWiki JS sample code works fine. What I do not like about this however is that it needs to be done in a JS console on the wiki. I'd much prefer to have a script running in a terminal (ie. using NodeJS/Python).

Side side note: Psst while I have you nerds here, can someone point me to some docs explaining how I can achieve the functionality reFill achieves by sending you to a page that shows a diff with some changes made without making those changes. My script updates statistics, since I am semi-automating it, I would love for the script to run, and then show a diff so that I can visually confirm what it has done and then just publish the changes. Satricious (talk) 16:09, 20 February 2022 (UTC)

I think that I do something vaguely similar with awb. IANA periodically update their language-subtag-registry file. My AWB script reads that file and then updates Module:Language/data/iana languages, Module:Language/data/iana scripts, Module:Language/data/iana regions, Module:Language/data/iana variants, Module:Language/data/iana suppressed scripts, and Module:Language/data/ISO 639-1 from the subtag registry. Because it is not fully automated, I see a diff of the change before I manually save each module's update – all of this within awb. So, you might want to consider that as an option.
Trappist the monk (talk) 16:44, 20 February 2022 (UTC)
Thanks for your input! I had no idea AWB was capable of that, I now see that as an option worth exploring. While that might actually be the best solution to my problem. I'd still love to hear from others about how I could achieve this using the API. Just because I'd prefer to do this myself without the use of a tool which I feel might restrict me. But you've definitely convinced me to try out AWB at some point in the future :p Satricious (talk) 17:25, 20 February 2022 (UTC)
Special:BotPasswords is to be used while logged into the account from which you're planning to do the edits. That's usually a dedicated bot account for large-scale edit operations, but in your case ("semi-automation"), it would be just your own account. And by the way, you probably want to use a bot framework (see mw:API:Client code#JavaScript) which would avoid having to write boilerplate code for logging in, maintaining the session, handling tokens, etc which are both tedious and error-prone. – SD0001 (talk) 19:01, 20 February 2022 (UTC)
Thanks for the clarification! I think my question has been answered now. I'd still like to know what API calls to make to show diffs before making changes (as reFill does). Do you how I might achieve this? Satricious (talk) 05:08, 21 February 2022 (UTC)
Like this (taken from User:Novem Linguae/Scripts/DraftCleaner.js):
function goToShowChangesScreen(titleWithNamespaceAndUnderscores, wikicode, editSummary) {
	let titleEncoded = encodeURIComponent(titleWithNamespaceAndUnderscores);
	let wgServer = mw.config.get('wgServer');
	let wgScriptPath = mw.config.get('wgScriptPath');
	let baseURL = wgServer + wgScriptPath + '/';
	// https://stackoverflow.com/a/12464290/3480193
	$(`<form action="${baseURL}index.php?title=${titleEncoded}&action=submit" method="POST"/>`)
		.append($('<input type="hidden" name="wpTextbox1">').val(wikicode))
		.append($('<input type="hidden" name="wpSummary">').val(editSummary))
		.append($('<input type="hidden" name="mode">').val('preview'))
		.append($('<input type="hidden" name="wpDiff">').val('Show changes'))
		.append($('<input type="hidden" name="wpUltimateParam">').val('1'))
		.appendTo($(document.body)) //it has to be added somewhere into the <body>
		.submit();
}
 ― Qwerfjkltalk 07:15, 21 February 2022 (UTC)
@Qwerfjkl: That works! Thanks a lot, I really appreciate it. Satricious (talk) 07:32, 21 February 2022 (UTC)
This question has been answered. Satricious (talk) 07:32, 21 February 2022 (UTC)

help creating a bot

Hello. I am not sure if this is the correct venue. If this cant be solved here, kindly let me know where should I go.
I currently have the AWB bot on enwiki, User:KiranBOT. It adds wikiproject banners on talkpage (simplest task, I think). In short: I need to create a fully automated/toolforge bot.

Prelude:Around 20 days ago, I got bot flag on mrwiki (AWB). Within less than 20 days (in around 7-8 runs), it racked-up more than 10k edits there (mr:special:contributions/KiranBOT). Because of the syntax of Marathi language, and word rules (not grammar rules), there are many uncontroversial find and replace tasks. But there are less than 10 active/regular editors, so such tasks have been piled up.

To the point: On mrwiki, I would like to run a simple bot — but the one with continuous editing, like DumbBOT. Few hours ago, I created an account on wikitech/toolforge, and requested for membership. But I am still not sure how, and where to upload the bot's code. I want to code it in C#. The bot will obviously be discussed/vetted on mrwiki, along with the keywords to be replaced (I have created a rudimentary list at mr:User:Usernamekiran/typos). Any help/guidence will be appreciated a lot. —usernamekiran • sign the guestbook(talk) 23:38, 31 December 2021 (UTC)

Hey there. Here's my notes for PHP programming language: User:Novem Linguae/Essays/Toolforge bot tutorial. In particular, you can use this to get your FTP client and console running. For C#, I think you would want to use this: wikitech:Help:Toolforge/Mono. And also Grid instead of Kubernetes. Hope that helps. –Novem Linguae (talk) 23:56, 31 December 2021 (UTC)
thanks. looking into it. —usernamekiran • sign the guestbook(talk) 23:59, 31 December 2021 (UTC)
The Novem Linguae tutorial looks good to get started, but two things to note:
1. It mentions use of an FTP client to transfer files to the host. There's another way – git. You can set up a repository on GitHub/Gitlab and push your code there. On the toolforge host, you can pull it. There are ways, using webhooks or GitHub Actions, through which you can even trigger pulls automatically on TF when you push locally.
2. It mentions use of Kubernetes for cron jobs. Using the grid is much easier (requires just adding a line to the crontab file). – SD0001 (talk) 04:01, 1 January 2022 (UTC)
dummy comment to avoid archiving. —usernamekiran • sign the guestbook(talk) 18:41, 17 January 2022 (UTC)

So I could transfer files using github, and also created files using mono on putty/CLI. But I couldnt execute the bot. First I went with C#, then python, but both didnt work. I have lots of material in .net to study/refer like dotnetwikibot framework, source code of AWB, and some other programs mentioned at mediawiki. All I need is a little guidance regarding how to compile and run it on toolforge. Your help will be appreciated a lot. Also pinging @Mz7, JPxG, and ST47: —usernamekiran • sign the guestbook(talk) 15:44, 18 January 2022 (UTC)

@Mz7, SD0001, and Novem Linguae: Hi. So I downloaded phthon, and pywikibot to my computer, and made a couple of edits using it. It was pretty straightforward. I made one or two edits using replace.py. I also made a couple of edits using my own kiran.py. But I havent figured/found out how to perform find and replace task. Would you kindlt help me? The less than 10 edits can be seen at mr:special:contributions/KiranBOT_II. —usernamekiran • sign the guestbook(talk) 20:06, 17 February 2022 (UTC)
I don't know Python, so I can't help with this particular question. But Python is one of the most popular wiki bot languages so I am sure someone can help. Discord's #technical channel may be a good resource. Good luck. –Novem Linguae (talk) 20:14, 17 February 2022 (UTC)
The documentation is at mw:Manual:Pywikibot/replace.py. Find & replace would be something like replace foo bar -search:"insource:\"foo\" ", or am I missing something? ― Qwerfjkltalk 20:31, 17 February 2022 (UTC)
Either that, or you can write your own python code for find and replace. Pywikibot just needs to be used to fetch the text in the beginning, and to save it in the end. – SD0001 (talk) 04:07, 18 February 2022 (UTC)
Qwerfjkl: Hi. For the quick background: I want to create an automated bot on Marathi (mrwiki) to find and replace certain words or set of words. The current list has 42 words to be replaced in mainspace, and is expected to grow upto around 200. @SD0001 I already successfully edited pages using my own script. The only two things I am currently stuck at is the working find and replace syntax for pywikibot, and to tell the script to edits pages from ns:0. The script I created, I had told it to edit one particular page. —usernamekiran • sign the guestbook(talk) 08:18, 18 February 2022 (UTC)
Have you tried the regex module for python? ― Qwerfjkltalk 08:39, 18 February 2022 (UTC)
@Qwerfjkl: Hi. Thanks for the response, but unfortunately, I had found the solution before seeing your reply. I have solved the find and replace issue, now the only thing that remains is, how to tell the script to edit the pages of certain namespace(s). Can you help me with that please? —usernamekiran • sign the guestbook(talk) 18:34, 18 February 2022 (UTC)
It depends on how you are supplying the pages to edit. ― Qwerfjkltalk 19:42, 18 February 2022 (UTC)
One technique would be to filter by namespace when you're generating your list of pages to edit. The details of that will depend on how you are generating your list of pages to edit. Are you using an API query, a pywikibot function, etc? I suggest sharing your code with us, you'll likely get more and better answers. –Novem Linguae (talk) 20:34, 18 February 2022 (UTC)
"Sharing you code" if you do so (and it's more than ~5-10 lines), either use a link to a repository, or a [13] to not overwhelm the page please. Headbomb {t · c · p · b} 21:31, 18 February 2022 (UTC)

Here is the code:

import pywikibot
from pywikibot import pagegenerators, textlib
import re

#retrieve the page
site = pywikibot.Site()
page = pywikibot.Page(site, u"user:usernamekiran/typos")
text = page.text

#edit the page
string = page.text
page.text = string.replace("abcusernamekiran", "xyz")

#save the page
page.save(u"experimental edit with modified script")

Thanks, —usernamekiran • sign the guestbook(talk) 09:54, 19 February 2022 (UTC)

@Usernamekiran: You could generate the pages something like this (untested):
import pywikibot
from pywikibot import pagegenerators, textlib
import re

#retrieve the pages
site = pywikibot.Site()
pages = site.search( "intitle:\"foo\"",  total=5, namespaces=0)
for page in pages:
    text = page.text

    #edit the page
     text = text.replace("abcusernamekiran", "xyz")
    # or using the re module:
    # text = re.sub( "abcusernamekiran", "xyz", text)

    #save the page
    page.save(u"experimental edit with modified script")text
 ― Qwerfjkltalk 10:40, 19 February 2022 (UTC)

Ahechtbot permission (again)

Continuation of the discussion at Wikipedia:Bots/Noticeboard/Archive_16#Template_Editor_permission_for_bot.

User:MusikBot II has template protected Module:Transclusion count/data/C so User:Ahechtbot can no longer update it. Either the bot will need Template Editor permissions, or User:MusikBot II/TemplateProtector/config will need to be edited to exclude the subpages of Module:Transclusion count/data. --Ahecht (TALK
PAGE
) 20:18, 1 April 2022 (UTC)

@Ahecht: I've added TE to the bot, edits should still be constrained to those approved in BRFA. — xaosflux Talk 20:59, 1 April 2022 (UTC)