If you want to run a bot on the English Wikipedia, you must first get it approved. To do so, follow the instructions below to add a request. If you are not familiar with programming it may be a good idea to ask someone else to run a bot for you, rather than running your own.
Instructions for bot operators | |
---|---|
Bot-related archives (v·t·) |
---|
Current requests for approval
TFA Protector Bot 3
Operator: Legoktm (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 01:55, Thursday, September 8, 2022 (UTC)
Function overview: Semi-protect TFAs
Automatic, Supervised, or Manual: Automatic
Programming language(s): Rust
Source code available: [1]
Links to relevant discussions (where appropriate):
- Wikipedia:Village_pump_(proposals)/Archive_183#RFC:_Pending-changes_protection_of_Today's_featured_article
- Wikipedia_talk:Today's_featured_article/Archive_15#Bot_details
Edit period(s): Daily
Estimated number of pages affected: 1 per day
Namespace(s): mainspace
Exclusion compliant (Yes/No): No
Adminbot (Yes/No): Yes
Function details: Note: This has only been approved for a 30-day trial, at which point it would need further community consensus to keep running AIUI.
- This is fully independent of the move protection the bot already applies
- At 23:00 UTC, get the next day's TFA (following any redirect)
- Get edit protection status:
- If protection is indefinite, do nothing
- If protection expires after the article is off TFA, do nothing
- If protection expires before the article is off TFA, extend the current protection until it is off TFA (keeps existing protection level)
- If there is no protection, apply semi-protection until it is off TFA
I ran a simulation of the next 30ish TFAs (full logs): here's an example of a page that has no edit protection:
INFO tfa_semi_prot: 55 Wall Street needs protection! INFO tfa_semi_prot: Protection options: [["action","protect"],["title","55 Wall Street"],["protections","edit=autoconfirmed|move=sysop"],["expiry","2022-09-12T00:00:00Z|2022-09-12T00:00:00Z"],["reason","Upcoming TFA ([[WP:BOT|bot protection]])"]]
And here's an example of a page that has semi-protection, but it needs to be extended:
INFO tfa_semi_prot: A.C. Monza needs protection to be extended! INFO tfa_semi_prot: Protection options: [["action","protect"],["title","A.C. Monza"],["protections","edit=autoconfirmed|move=sysop"],["expiry","2022-09-21T00:00:00Z|2022-09-21T00:00:00Z"],["reason","Upcoming TFA ([[WP:BOT|bot protection]])"]]
Discussion
Notifications: Wikipedia_talk:Today's_featured_article#TFA_bot_semi-protection, @Hog Farm, Sdkb, ProcrastinatingReader, SD0001, and Peacemaker67:. Legoktm (talk) 02:09, 8 September 2022 (UTC)
- Thanks very much Legoktm. I can't speak for the code, but your efforts to operationalise this for the trial period is greatly appreciated. Regards, Peacemaker67 (click to talk to me) 03:46, 8 September 2022 (UTC)
William Avery Bot 5
Operator: William Avery (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 18:08, Friday, September 2, 2022 (UTC)
Function overview: A template, {{plain row headers}}, will be placed immediately before every table that currently uses "plain row headers" styling. The name of the CSS class used to achieve the plain row headers styling will be changed from "plainrowheaders" to "plain-row-headers". If a table has the "plainrowheaders" CSS class, but contains no row headers to be thus styled, the "plainrowheaders" CSS class will be removed from the table.
For background to this, and the motivation, see Wikipedia:TemplateStyles.
Automatic, Supervised, or Manual: Automatic
Programming language(s): Python
Source code available: pywikibot script plainrowheaders.py
Links to relevant discussions (where appropriate):
- Requested at WP:BOTREQ § TemplateStyles for plainrowheaders by User: Izno
For background see:
Edit period(s): Total edit time will be in the region of 9 days(~ 125,000 articles ÷ 600 edits per minute ÷ 24 hours a day), but will occur over a longer period than that. My plan is to concentrate on individual, heavily affected, subject areas in turn. Music, films, TV, theatre, sports, lists of historic buildings and species are areas where much data is tabulated in articles. I intend to do trials in each area before running batches of ~10,000 articles. This should also help shorten any period of watchlist disruption for individual editors down to a day or two.
After the initial processing, there will need to be further runs on a smaller scale, as editors will still be using the current construct, and pages may have been deep reverted for reasons unrelated to this processing.
Estimated number of pages affected: 125,000 per this search. Obviously there are very few pages with the {{plain row headers}} template in place as yet.
Namespace(s): Mainspace/Articles
Exclusion compliant: Yes, per pywikibot
Function details:
Each table in the page is processed. This only applies to tables started with {|
, not templates that output tables.
If the class attribute of the table contains the class name "plainrowheaders", that classname is replaced with "plain-row-headers".
If the table's class attribute now contains "plain-row-headers", several successive steps are taken to discover whether the table in fact makes use of the class, and therefore requires the {{plain row headers}} template.
- Each table header in the table, as parsed by mwparserfromhell, is examined for table headers with "scope=row".
- Table headers that start e.g.
!scope=row{{Some template|
may also be present. mwparserfromhell doesn't see the attribute because there is no following pipe. A regular expression can detect these, and output a warning with the name of the template. (Usually the template should be being invoked with a parameter such as "rowheader=true", rather than used in such a fashion.) - The table body markup may contain a template that is known to emit table headers with "scope=row", such as {{Single chart}}. These can be tested for with a regular expression. Some of these templates, such as {{Episode list}}, are intended for use within templates that emit a whole table, but they turn up in plain tables.
- If the markup of the table body looks like it contains templates (i.e. includes "{{"), the templates can be subst'ed and the resultant markup reparsed, as at step one. In practice this is only necessary for relatively few of the tables.
Each table using plain row header styling should be preceded by its own {{plain row headers}}, so the processing keeps track of whether such a template has been encountered since the last table. It assumes hat any such template is the one that belongs to the current table.
If no table header cells with scope=row were found or the "wikitable" class name is not among the table's classes, the "plain-row-headers" class is not producing any effect, and is removed from the table. Otherwise, if none is present, the styling template {{plain row headers}} is inserted before the table.
Care has been taken to ensure that if the processing is run for a second time on a page that has already been processed, it makes no changes.
To simplify checking, no standard fixes or cosmetic code changes are included.
Test edits have been carried out in the bot's userspace. e.g. here and here.
Division of work into batches
I use my own extension of the pywikibot.pagegenerators module, which can generate lists of pages to be processed from a custom database table, in this case prh_batch. I can populate this table using prh_batch.py. The search needs to be divided into slices because there is a limit of 10,000 on results. Once the list of pages is in the database table I can run queries against the enwiki_p database replica to assign them to Wikiprojects.
Discussion
Given the documented caveat that the ability to affect page content outside the template should not be relied on,[1] I do not think this task should proceed. — JJMC89 (T·C) 01:19, 3 September 2022 (UTC)
- Right, I thought that would be discussed, hence why I added
The wider community was notified and nothing of interest was discussed. In other discussion from the content transform team members, the HTML emitted does not make this an issue.
to the documentation of the template. Absolute crickets on the task of interest (phab:T176272) where I made clear what I intended. When I reviewed the background of why that caveat is there, it was more of a "wait and see" than the wording implies on that template. See the revision after the one you linked to (why did you add it as a permalink excluding that revision?) which points to phab:T155813#3037085 and related discussion. - Separately, the discussion there about scoped CSS is more or less irrelevant today and barely relevant when it was first discussed as some sort of thing that would be beneficial for VE. Though it seems to be making a comeback on the design side finally ([2]), it's been practically dead since around the time TemplateStyles was first discussed. Even then, it doesn't seem like a valuable restriction for end-users like us -- it was proposed entirely as a convenience for VE, and TBH looking at what it was suggested for in that context I don't think it's all that pertinent there either.
- To go a step further, there is a template (er, templates) that does similar today though at much smaller scale for this exact use case, which is Template:Import-blanktable/Template:Row hover highlight (~600 uses). Which, coincidentally, was recommended for use by one of the engineers who participated in the RFC linked above for how TemplateStyles would work.
- At worst, we have to go through N number of articles to remove this in the future if it completely breaks VE or some other system at some arbitrary time in the future, or WMF can't somehow work around it. Izno (talk) 02:41, 3 September 2022 (UTC)
References
- ^ mw:Extension:TemplateStyles#Caveats:
Styles included by a template can currently affect content on the page outside of the content generated by that template, but this ability may be removed in the future and should not be relied upon.
DoggoBot 9
Operator: EpicPupper (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 02:22, Friday, August 26, 2022 (UTC)
Automatic, Supervised, or Manual: automatic
Programming language(s): AutoWikiBrowser
Source code available: AWB, query.
Function overview: Tag disambiguation pages with the WikiProject Disambiguation banner
Links to relevant discussions (where appropriate): N/A
Edit period(s): Continous
Estimated number of pages affected: ~53,405 first run
Exclusion compliant (Yes/No): Yes
Already has a bot flag (Yes/No): Yes
Function details: This bot would tag the talk pages of disambiguation pages with the WikiProject Disambiguation banner, {{WikiProject Disambiguation}}, when it is not already present. This helps with categorization and the operation of external tools like XTools; for example, on my list of pages created, it lists 7 disambiguation pages as "Unknown" because the tag is not present; this task would allow them to display properly.
Discussion
- EpicPupper, doesn't this duplicate Wikipedia:Bots/Requests for approval/BattyBot 34? Pinging GoingBatty for comment as well. Primefac (talk) 09:42, 30 August 2022 (UTC)
- @Primefac - It looks the same as BattyBot's task, with one big exception.
- @EricPupper - Template:WikiProject Disambiguation states "Please do not use this template solely to create talk pages that otherwise have no content." I noticed the first page on your query is Boarding, which has no talk page, so a talk page should not be created for this. If you could update your query so it only lists existing talk pages, I could run my BattyBot task more often. GoingBatty (talk) 16:59, 30 August 2022 (UTC)
Bots in a trial period
C1MM-bot
Operator: C1MM (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 17:30, Friday, August 5, 2022 (UTC)
Function overview: This bot uploads images of assembly constituencies in Indian states to their Wikipedia pages.
Automatic, Supervised, or Manual: Automatic
Programming language(s): Python
Source code available: Standard Pywikipedia
Links to relevant discussions (where appropriate):
Edit period(s): Runs as requested
Estimated number of pages affected: 30-400/run, depends by specific category
Namespace(s): Articles
Function details: This bot takes pages of assembly constituencies in an Indian state (specified by category) and would extract the text of the page, and add a Commons file with a locator map of the constituency following a predetermined naming system (Constituency name+number) to the |image section of the {{Infobox Indian state assembly constituency}} if one is already not present. If there is no infobox, the constituency is skipped. If an image file is already present, it changes the current image file to the locator map. This follows a template set by several pages such as Villavancode and Ambur among others. See Anekal or Afzalpur for an example of the bot in action (I forgot that you needed to submit for approval, but still you can see 20 pages in this bot's edit history to see it in action). This bot is currently run locally on my machine using Pywikibot, but it would be ideal for the bot to run directly on Wikipedia servers without any connection to my local machine (if anyone could help me figure out how to do this, I would be glad of the help). None of the pages this bot is run on exclude bots.
Discussion
Few questions: this reads like a one-time run, but you say "as necessary"; once the maps are in place, they should stay static, yes? Second, you say if an image file is already present, it changes the current image file to the locator map
- is this desired behaviour, and is there a discussion saying that a user-determined image is better than a bot-supplied map? Third (and I suppose somewhat importantly) - where was this task requested, discussed, or otherwise determined to be a "good idea"? I'm not necessarily saying it's not useful, but if this is just something you've decided to do because you think it's a good idea, then you should probably get consensus somewhere first. I have other questions but these should get us started. (please do not ping on reply) Primefac (talk) 16:33, 6 August 2022 (UTC)
Once the maps are in-place, I won't modify them unless the constituencies are re-delineated and the maps of the constituencies change. The bot allows for you to specify not to replace images but in this case, user-determined images are nearly always bad .png versions of the same type of map with very few exceptions. And I although I do agree that consensus is important on this, there really isn't an active enough community on this subject to get a timely consensus. C1MM (talk) 03:47, 8 August 2022 (UTC)
- Note: This bot appears to have edited since this BRFA was filed. Bots may not edit outside their own or their operator's userspace unless approved or approved for trial. AnomieBOT⚡ 03:57, 13 August 2022 (UTC)
- Administrator note: This bot appears to have been running without BAG approval or a bot flag, so I've blocked it indefinitely pending the outcome of this discussion. --Blablubbs (talk) 16:18, 13 August 2022 (UTC)
- Also noting repeated errors: [3][4][5][6]. --Blablubbs (talk) 16:21, 13 August 2022 (UTC)
- Thank you for pointing this out and for stopping me. I just thought there was no criticism in so many days so it must be that it isn't very controversial to make these edits. Sorry about this. C1MM (talk) 16:41, 13 August 2022 (UTC)
- No worries, C1MM; Wikipedia processes can be pretty complicated on occasion. In order to run the bot, you will need a goahead from BAG for either a limited trial run or the full task (usually the latter is given once the former has been successful). If/when that happens, please give me a quick ping so I can unblock (I also don't have any objections to any other admin unblocking as they see fit without consulting me further). --Blablubbs (talk) 11:38, 14 August 2022 (UTC)
- Thank you for pointing this out and for stopping me. I just thought there was no criticism in so many days so it must be that it isn't very controversial to make these edits. Sorry about this. C1MM (talk) 16:41, 13 August 2022 (UTC)
- Also noting repeated errors: [3][4][5][6]. --Blablubbs (talk) 16:21, 13 August 2022 (UTC)
{{BAG assistance needed}} — Preceding unsigned comment added by C1MM (talk • contribs) 17:16, 1 September 2022 (UTC)
- Approved for trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. I am not overly thrilled with not having consensus, so please do not mark these as minor, and do not replace existing images. In other words, this task will be the minimum of what was discussed - adding images where there are none but should be. Primefac (talk) 08:36, 5 September 2022 (UTC)
Top25ReportBot
Operator: ElijahPepe (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 03:22, Sunday, September 4, 2022 (UTC)
Function overview: Automation of the Top 25 Report
Automatic, Supervised, or Manual: Automatic
Programming language(s): Python
Source code available: GitHub
Links to relevant discussions (where appropriate): Automating the Top 25 Report
Edit period(s): Weekly
Estimated number of pages affected: Indeterminate (see Function details)
Namespace(s): Wikipedia/Talk
Exclusion compliant (Yes/No): No
Function details: This bot takes the current date and determines the Sunday and Saturday of the week from the the date. Then, it determines an appropriate title for the Top 25 Report page for the week. It then analyzes the most visited pages for each day, excluding bogus entries, and recreates the list into a weekly list. The bot then creates the Top 25 Report page for the week using the top 25 most visited pages of the week and creates a new entry in its talk page with the top 50 most visited pages for each week.
Discussion
Approved for trial (28 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 08:26, 5 September 2022 (UTC)
NovemBot 5
Operator: Novem Linguae (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 23:17, Friday, August 26, 2022 (UTC)
Automatic, Supervised, or Manual: automatic
Programming language(s): PHP
Source code available:
Function overview: Keep AFC categories up-to-date, to help with identifying drafts eligible for CSD G13.
Links to relevant discussions (where appropriate): Wikipedia:Village pump (technical)#Problem with G13 eligible soon category
Edit period(s): Weekly
Estimated number of pages affected: 5,000
Exclusion compliant (Yes/No): No
Already has a bot flag (Yes/No): Yes
Function details: Weekly purge and forcelinkupdate
for all pages in the following categories: Category:Declined AfC submissions, Category:Rejected AfC submissions, Category:Pending AfC submissions. Goal is to keep these categories correctly filled. Currently, without thorough perging, the categories empty out over time due to editors not editing the drafts.
This is a takeover of part of Wikipedia:Bots/Requests for approval/ProcBot 6. User:ProcrastinatingReader appears to be inactive, and their bot is not operating.
Discussion
- Approved for trial (30 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Just want to make sure the wheels don't fall off. Primefac (talk) 09:38, 30 August 2022 (UTC)
Bot1058 8
Operator: Wbm1058 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 02:36, Saturday, June 25, 2022 (UTC)
Automatic, Supervised, or Manual: automatic
Programming language(s): PHP
Source code available: refreshlinks.php, refreshmainlinks.php
Function overview: Purge pages with recursive link update in order to refresh links which are old
Links to relevant discussions (where appropriate): User talk:wbm1058#Continuing null editing, Wikipedia talk:Bot policy#Regarding WP:BOTPERF, phab:T157670, phab:T135964, phab:T159512
Edit period(s): Continuous
Estimated number of pages affected: ALL
Exclusion compliant (Yes/No): No
Already has a bot flag (Yes/No): Yes
Function details: This task runs two scripts to refresh English Wikipedia page links. refreshmainlinks.php null-edits mainspace pages whose page_links_updated database field is older than 32 days, and refreshlinks.php null-edits all other namespaces whose page_links_updated database field is older than 80 days. The 32- and 80-day figures may be tweaked as needed to ensure more timely refreshing of links or reduce load on the servers. Each script is configured to edit a maximum of 150,000 pages on a single run, and restart every three hours if not currently running (thus each script may run up to 8 times per day).
Status may be monitored by these Quarry queries:
Discussion
I expect speedy approval, as a technical request, as this task only makes null edits. Task has been running for over a month. My main reason for filing this is to post my source code and document the process including links to the various discussions about it. – wbm1058 (talk) 03:02, 25 June 2022 (UTC)
- Comment: This is a very useful bot that works around long-standing feature requests that should have been straightforward for the MW developers to implement. It makes sure that things like tracking categories and transclusion counts are up to date, which helps gnomes fix errors. – Jonesey95 (talk) 13:30, 25 June 2022 (UTC)
- Comment: My main concerns are related to the edit filter; I'm not sure whether that looks at null edits or not. If it does, it's theoretically possible that we might suddenly be spammed by a very large number of filter log entries, if and when a filter gets added that widely matches null edits (and if null edits do get checked by the edit filter, we would want the account making them to have a high edit count and to be autoconfirmed, because for performance reasons, many filters skip users with high edit counts).
To get some idea of the rate of null edits: the robot's maximum editing speed is 14 edits per second (150000 × 8 in a day). There are 6,548,783 articles, 56,488,326 pages total (how did we end up with almost ten times as many pages as articles?); this means that the average number of edits that need making per day is around 825000 per day, or around 9.5 per second. Wikipedia currently gets around 160000 edits per day (defined as "things that have an oldid number", so including moves, page creations, etc.), or around 2 per second. So this bot could be editing four times as fast as everyone else on Wikipedia put together (including all the other bots), which would likely be breaking new ground from the point of view of server load (although the servers might well be able to handle it anyway, and if not I guess the developers would just block its IP from making requests) – maybe a bit less, but surely a large proportion of pages rarely get edited.
As a precaution, the bot should also avoid null-editing pages that contain
{{subst:
(possibly with added whitespace or comments), because null edits can change the page content sometimes in this case (feel free to null-edit User:ais523/Sandbox to see for yourself – just clicking "edit" and "save" is enough); it's very hard to get the wikitext to subst a template into a page in the first place (because it has a tendency to replace itself with the template's contents), but once you manage it, it can lay there ready to trigger and mess up null edits, and this seems like the sort of thing that might potentially happen by mistake (e.g. Module:Unsubst is playing around in similar space; although that one won't have a bad interaction with the bot, it's quite possible we'll end up creating a similar template in future and that one will cause problems). --ais523 23:06, 6 July 2022 (UTC)- While this task does not increase the bot's edit count, it has performed 7 other tasks and has an edit count of over 180,000 pages which should qualify as "high". wbm1058 (talk) 03:38, 8 July 2022 (UTC)
- There are far more users than articles; I believe User talk: is the largest namespace and thus the most resource-intensive to purge (albeit perhaps with a smaller average page size). wbm1058 (talk) 03:38, 8 July 2022 (UTC)
- The term "null edit" is used here for convenience and simplification; technically the bot purges the page cache and forces a recursive link update. This is about equivalent to a null edit, but I'm not sure that it's functionally exactly the same. – wbm1058 (talk) 03:38, 8 July 2022 (UTC)
- Ah; this seems to be a significant difference. A "purge with recursive link update" on my sandbox page doesn't add a new revision, even though a null edit does. Based on this, I suspect that purging pages is lighter on the server load than an actual null edit would be, and also recommend that you use "purge with recursive link update" rather than "null edit" terminology when describing the bot. --ais523 08:32, 8 July 2022 (UTC)
- Yes and just doing a recursive link update would be even lighter on the server load. The only reason my bot forces a purge is that there is currently no option in the API for only updating links. See this Phabricator discussion. – wbm1058 (talk) 12:42, 8 July 2022 (UTC)
- Ah; this seems to be a significant difference. A "purge with recursive link update" on my sandbox page doesn't add a new revision, even though a null edit does. Based on this, I suspect that purging pages is lighter on the server load than an actual null edit would be, and also recommend that you use "purge with recursive link update" rather than "null edit" terminology when describing the bot. --ais523 08:32, 8 July 2022 (UTC)
- As I started work on this project March 13, 2022 and the oldest page_links_updated date (except for the Super Six) is April 28, 2022, I believe that every page in the database older than 72 days has now been null-edited at least once, and I've yet to see any reports of problems with unintended substitution. wbm1058 (talk) 03:38, 8 July 2022 (UTC)
- This is probably a consequence of the difference between purges and null edits; as long as you stick to purges it should be safe from the point of view of unintended substitution. --ais523 08:32, 8 July 2022 (UTC)
- To make this process more efficient the bot bundles requests into groups of 20; each request sent to the server is for 20 pages to be purged at once. wbm1058 (talk) 03:38, 8 July 2022 (UTC)
- Comment: I've worked the refreshlinks.php cutoff from 80 down to 70 days; the process may be able to hold it there. I've been trying to smooth out the load so that roughly the same number of pages are purged and link-refreshed each day. – wbm1058 (talk) 11:49, 8 July 2022 (UTC)
- Note. This process is dependent on my computer maintaining a connection with a Toolforge bastion. Occasionally my computer becomes disconnected for unknown reasons, and when I notice this I must manually log back in to the bastion. If my computer becomes disconnected from the bastion for an extended time, this process may fall behind the expected
page_links_updated
dates. – wbm1058 (talk) 11:55, 12 July 2022 (UTC) - Another note. The purpose/objective of this task is to keep the pagelinks, categorylinks, and imagelinks tables reasonably-updated. Regenerating these tables for English Wikipedia using the rebuildall.php maintenance script is not practical for English Wikipedia due to its huge size. Even just running the RefreshLinks.php component of rebuildall is not practical due to the database size (it may be practical for smaller wikis). The goal of phab:T159512 (Add option to refreshLinks.php to only update pages that haven't been updated since a timestamp) is to make it practical to run RefreshLinks.php on English Wikipedia. My two scripts find the pages that haven't been updated since a timestamp, and then purge these pages with recursive link updates. Recursive link updates is what refreshLinks.php does. – wbm1058 (talk) 14:42, 16 July 2022 (UTC)
- Approved for trial (30 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Let's see if anything breaks. Primefac (talk) 16:24, 6 August 2022 (UTC)
- @Primefac: This task just purges the page cache and forces recursive link updates, so there are no relevant contributions and/or diffs for me to provide a link to. But I see that text is coming from the {{BotTrial}} template, so you probably didn't intend to make that request. As to "anything breaking", the bot went down sometime after I left on wikibreak, and now that I'm back it's catching up. In other words, the task as currently configured "breaks" easily and requires a lot of minding to keep it running. Perhaps it would be more reliable if I figured out how to set it up as a tool running from my Toolforge admin console. – wbm1058 (talk) 15:11, 25 August 2022 (UTC)
- To improve reliability, I suggest running the task on the toolforge grid. When running on the grid, the server running your code and the database are on the same hi-speed network. You appear to have tunnelled the toolforge database to local port 4711. This setup is only intended for development-time debugging and will be unreliable for long-running tasks, as you have discovered. Also, I suggest using significantly lesser limit than 150000 – that is a very large number of titles to expect from a single database call, and could cause timeouts and/or put too much pressure on the database. Instead process just 5-10k titles at a time, and run the script more frequently. – SD0001 (talk) 19:18, 29 August 2022 (UTC)
- @SD0001 and Primefac: I set up https://toolsadmin.wikimedia.org/tools/id/refreshlinks now I'm trying to figure out what to do with it. Apparently Grid is legacy and deprecated, and Jobs framework and Kubernetes are preferred for new bot setups. But before I automate this task on Toolforge I need to set it up there so I can manually run it. Per the Toolforge quickstart guide (which is anything but quick for helping me get started) I created my tool's code/html root directory:
mkdir public_html
but I don't need to create my bot's code, I just need to copy it to that directory. One of the files needed to run my bot is the file containing login passwords and I'm leery of copying that to a directory with "public" in its name! Some guidance on how to do this would be appreciated since the quickstart authors apparently felt that wasn't necessary. Microsoft Notepad probably isn't installed on the Toolforge and I probably need Linux rather than Microsoft commands. Can I import the files from wikipages (i.e. User:Bot1058/refreshlinks.php)? wbm1058 (talk) 19:09, 31 August 2022 (UTC)- @Wbm1058. All files in the tool directory (not just public_html) are public by default. Passwords, OAuth secrets and the like can be made private by using chmod,
chmod 600 file-with-password.txt
.
Since you're creating a bot and not than a webservice, the files shouldn't go into public_html. They can be in any directory. See wikitech:Help:Toolforge/Grid for submitting jobs to the grid. (The grid is legacy, yes, but the newer k8s-based Jobs framework is not that mature and can be harder to work with, especially for people not familiar with containers.)
To copy over files from a Windows system, IMO the best tool is WinSCP (see wikitech:Help:Access to Toolforge instances with PuTTY and WinSCP). It's also possible to edit files directly on toolforge, such as by using nano. – SD0001 (talk) 20:39, 31 August 2022 (UTC)
- @Wbm1058. All files in the tool directory (not just public_html) are public by default. Passwords, OAuth secrets and the like can be made private by using chmod,
- @SD0001 and Primefac: I set up https://toolsadmin.wikimedia.org/tools/id/refreshlinks now I'm trying to figure out what to do with it. Apparently Grid is legacy and deprecated, and Jobs framework and Kubernetes are preferred for new bot setups. But before I automate this task on Toolforge I need to set it up there so I can manually run it. Per the Toolforge quickstart guide (which is anything but quick for helping me get started) I created my tool's code/html root directory:
- To improve reliability, I suggest running the task on the toolforge grid. When running on the grid, the server running your code and the database are on the same hi-speed network. You appear to have tunnelled the toolforge database to local port 4711. This setup is only intended for development-time debugging and will be unreliable for long-running tasks, as you have discovered. Also, I suggest using significantly lesser limit than 150000 – that is a very large number of titles to expect from a single database call, and could cause timeouts and/or put too much pressure on the database. Instead process just 5-10k titles at a time, and run the script more frequently. – SD0001 (talk) 19:18, 29 August 2022 (UTC)
- @Primefac: This task just purges the page cache and forces recursive link updates, so there are no relevant contributions and/or diffs for me to provide a link to. But I see that text is coming from the {{BotTrial}} template, so you probably didn't intend to make that request. As to "anything breaking", the bot went down sometime after I left on wikibreak, and now that I'm back it's catching up. In other words, the task as currently configured "breaks" easily and requires a lot of minding to keep it running. Perhaps it would be more reliable if I figured out how to set it up as a tool running from my Toolforge admin console. – wbm1058 (talk) 15:11, 25 August 2022 (UTC)
GalliumBot
Operator: Theleekycauldron (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 04:02, Friday, April 29, 2022 (UTC)
Function overview: At WP:Did you know, an approved hook is moved by the "prep builder" into the prep sets of DYK. Often, prep builders and other uninvolved helpers will modify hooks. This bot records changes made to the hook at the talk page of the nomination.
Automatic, Supervised, or Manual: Automatic
Programming language(s): Javascript (and Python if necessary)
Source code available: Not yet available
Links to relevant discussions (where appropriate): Special:PermanentLink/1085217274#RfC: Post-promotion hook change recording bot
Edit period(s): Once every 1–3 hours
Estimated number of pages affected: 5–7 distinct pages per day
Namespace(s): Template talk (will be Wikipedia talk if we ever mmigrate)
Exclusion compliant (Yes/No): Yes
Function details: The bot will scan the following pages:
- The main page DYK template, Template:Did you know
- The DYK queues, 1 2 3 4 5 6 7
- The DYK prep sets, 1 2 3 4 5 6 7
It will analyze the eight hooks in the page, looking for any modifications made since its last run. If it finds one, it will leave a note at the nomination's talk page; for example, a modification made to the hook for C. J. Cregg (nom) will be recorded by the bot at Template talk:Did you know nominations/C. J. Cregg. This is my first BRFA, so pardon my inexperience with the process. Cheers! theleekycauldron (talk • contribs) (she/they) 04:02, 29 April 2022 (UTC)
Discussion
- Approved for trial (50 edits or 7 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. This seems like a straightforward task in a niche area, so I think the best way to judge its appropriateness (and work out bugs) is to chuck it to trial. Primefac (talk) 14:51, 7 May 2022 (UTC)
- trial not underway yet; unexpected technical issues popped up. Will leave a note here when the bot is reasonably operational. theleekycauldron (talk • contribs) (she/they) 19:16, 18 May 2022 (UTC)
- @Theleekycauldron: Hi there! It's been over three months since your last update. Are you still interested in this bot? Should this request be put on hold or withdrawn? Thanks! GoingBatty (talk) 04:33, 21 August 2022 (UTC)
- @GoingBatty: What does that process look like? I haven't worked on it in ages, but I don't want to drop this idea entirely... maybe on hold? theleekycauldron (talk • contribs) (she/they) 04:43, 21 August 2022 (UTC)
- @Theleekycauldron: It looks like this: On hold. Thanks! GoingBatty (talk) 15:54, 21 August 2022 (UTC)
- @GoingBatty: I have other tasks for GalliumBot that are basically up and ready to go, but this one is pretty stalled – should I file separate BRFAs, or just change this task? theleekycauldron (talk • contribs) (she/her) 21:23, 1 September 2022 (UTC)
- @Theleekycauldron I would suggest a separate BRFA, but would defer to @Primefac or other members of the Wikipedia:Bot Approvals Group. GoingBatty (talk) 22:39, 1 September 2022 (UTC)
- @GoingBatty: I have other tasks for GalliumBot that are basically up and ready to go, but this one is pretty stalled – should I file separate BRFAs, or just change this task? theleekycauldron (talk • contribs) (she/her) 21:23, 1 September 2022 (UTC)
- @Theleekycauldron: It looks like this: On hold. Thanks! GoingBatty (talk) 15:54, 21 August 2022 (UTC)
- @GoingBatty: What does that process look like? I haven't worked on it in ages, but I don't want to drop this idea entirely... maybe on hold? theleekycauldron (talk • contribs) (she/they) 04:43, 21 August 2022 (UTC)
- @Theleekycauldron: Hi there! It's been over three months since your last update. Are you still interested in this bot? Should this request be put on hold or withdrawn? Thanks! GoingBatty (talk) 04:33, 21 August 2022 (UTC)
- trial not underway yet; unexpected technical issues popped up. Will leave a note here when the bot is reasonably operational. theleekycauldron (talk • contribs) (she/they) 19:16, 18 May 2022 (UTC)
BareRefBot
Operator: Rlink2 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 21:35, Thursday, January 20, 2022 (UTC)
Function overview: The function of this bot is to fill in Bare references. A bare reference is a reference with no information about it included in the citaiton, example of this is <ref>https://wikipedia.org</ref> instead of <ref>{{cite web | url = https://encarta.microsoft.com | title = Microsoft Encarta}}</ref>. More detail can be found on Wikipedia:Bare_URLs and User:BrownHairedGirl/Articles_with_bare_links.
Automatic, Supervised, or Manual: Automatic, mistakes will be corrected as it goes.
Programming language(s): Multiple.
Source code available: Not yet.
Links to relevant discussions (where appropriate): WP:Bare_URLs, but citation bot already fills bare refs, and is approved to do so.
Edit period(s): Continuous.
Estimated number of pages affected: around 200,000 pages, maybe less, maybe more.
Namespace(s): Mainspace.
Exclusion compliant (Yes/No): Yes.
Function details: The purpose of the bot is to provide a better way of fixing bare refs. As explained by Enterprisey, our citation tools could do better. Citation bot is overloaded, and Reflinks consistently fails to get the title of the webpage. ReFill is slightly better but is very buggy due to architectual failures in the software pointed out by the author of the tool.
As evidenced by my AWB run, my script can get the title of many sites that Reflinks, reFill, or Citation Bot can not get. The tool is like a "booster" to other tools like Citation bot, it picks up where other tools left off.
There are a few exceptions for when the bot will not fill in the title. For example, if the title is shorter than 5 chacters, it will not fill it in since it is highly unlikely that the title has any useful information. Twitter links will be left alone, as the Sand Doctor has a bot that can do a more complete filling.
There has been discussion over the "incompleteness" of the filling of these refs. For example, it wouldn't fill in the "work="/"website=" parameter unless its a whitelisted site (NYT, Youtube, etc...). This is similar to what Citation bot does IIRC. While these other parameters would usually not filled, the consensus is that "perfect is the enemy of the good" and that any sort of filling will represent an improvement in the citation. Any filled cites can always be improved even further by editors or another bot.
Examples:
Special:Diff/1066367156
Special:Diff/1066364250
Special:Diff/1066364589
Discussion
Pre-trial discussion
|
---|
{{BotOnHold}} pending closure of Wikipedia:Administrators'_noticeboard/Incidents#Rlink2. ProcrastinatingReader (talk) 23:25, 20 January 2022 (UTC)
Initial questions and thoughts (in no particular order):
ProcrastinatingReader (talk) 23:25, 20 January 2022 (UTC)
Opening comments: I've seen <!--Bot generated title--> inserted in similar initiatives. Would that be a useful sort of thing to do here? It is acknowledged that the titles proposed to be inserted by this bot can be verbose and repetitive, terse or plainly wrong. Manual improvements will be desired in many cases. How do we help editors interested in doing this work?
Like ProcrastinatingReader I am interested in understanding bot permission precedence here. I'm not convinced that these edits are universally productive. I believe there has been restraint exercised in the past on bot jobs for which there is not a strong consensus that the changes are making significant improvements. I think improvements need to be large enough to overcome the downside of all the noise this will be adding to watchlists. I'm not convinced that bar is cleared here. See User_talk:Rlink2#A_little_mindless for background. ~Kvng (talk) 16:53, 21 January 2022 (UTC)
It looks like a lot of cites use
|
Source code
- Speaking of fine tuning, do you intend to publish your source code? I think we may be able to identify additional gotchas though code review. ~Kvng (talk) 22:44, 25 January 2022 (UTC)
- Hopefully, but not right now. It wouldn't be very useful for "code review" in the way you are thinking. If there are bugs though, you can always report it. Rlink2 (talk) 22:54, 25 January 2022 (UTC)
- @Rlink2: I have to disagree with you on this. As a general principle, I am very much in favour of open-source code. That applies even more strongly in a collaborative environment such as Wikipedia, so I approach bots with a basic presumption that the code should be available, unless there is very good reason to make an exception.
- Publishing the code brings several benefits:
- it allows other editors to verify that the code does what it claims to do
- it allows other editors to help find any bugs
- it helps others who may want to develop tools for related tasks
- So if a bot-owner does not publish the source code, I expect a good explanation of why it is being withheld. BrownHairedGirl (talk) • (contribs) 00:35, 26 January 2022 (UTC)
- @BrownHairedGirl: Ok, nice to see your perspective on it. I will definetly be making it open source then. When should I make it avaliable? I can provide a link later in the week, or should I wait until the bot enters trial? Where would I even post the code anyway? Thanks for your opinion. Rlink2 (talk) 00:39, 26 January 2022 (UTC)
- @Rlink2: Up to you, but my practice is to make it available whenever I am ready to start a trial. That is usually before a trial is authorised.
- I usually put the code in a sub-page (or pages) of the BRFA page. BrownHairedGirl (talk) • (contribs) 01:06, 26 January 2022 (UTC)
- @BrownHairedGirl: Sounds good, I will follow your example and make it avaliable as soon as I can (later this week). Subpage sounds great, good idea and keeps everything on wiki. Rlink2 (talk) 01:11, 26 January 2022 (UTC)
- There is preliminary code up on Wikipedia:Bots/Requests_for_approval/BareRefBot/Code. There is more to the script than that (eg: networking code, wikitext code ) but this is the core of it. Will be releasing more as time goes on and I have time to comment the additional portions. Rlink2 (talk) 20:08, 26 January 2022 (UTC)
- Code review comments and discussion at Wikipedia talk:Bots/Requests for approval/BareRefBot/Code
- There is preliminary code up on Wikipedia:Bots/Requests_for_approval/BareRefBot/Code. There is more to the script than that (eg: networking code, wikitext code ) but this is the core of it. Will be releasing more as time goes on and I have time to comment the additional portions. Rlink2 (talk) 20:08, 26 January 2022 (UTC)
- @BrownHairedGirl: Sounds good, I will follow your example and make it avaliable as soon as I can (later this week). Subpage sounds great, good idea and keeps everything on wiki. Rlink2 (talk) 01:11, 26 January 2022 (UTC)
- @BrownHairedGirl: Ok, nice to see your perspective on it. I will definetly be making it open source then. When should I make it avaliable? I can provide a link later in the week, or should I wait until the bot enters trial? Where would I even post the code anyway? Thanks for your opinion. Rlink2 (talk) 00:39, 26 January 2022 (UTC)
- Hopefully, but not right now. It wouldn't be very useful for "code review" in the way you are thinking. If there are bugs though, you can always report it. Rlink2 (talk) 22:54, 25 January 2022 (UTC)
Trial
Trial 1
|
---|
Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. As I mentioned above, this is most likely not going to be the only time the bot ends up in trial, and even if there is 100% success in this first round it might get shipped for a larger trial anyway depending on feedback. Primefac (talk) 14:12, 26 January 2022 (UTC)
Couple thoughts:
-- GreenC 15:18, 28 January 2022 (UTC)
I went through all 52 so that my contribution to this venture wouldn't be limited to re-enacting the Spanish Inquisition at ANI.
I wonder if the concerns in #1-4 could be addressed by simply adding
I've taken the time to review the first 25 edits. My findings:
Problems with bare link titles are mostly about the
Most of my concerns have to do with dead link detection. This is turning out to be the distraction I predicted. There were only 3 articles with bare link and dead link edits: [33], [34], [35]. Running these as separate tasks will require 12% more edits and I don't think that's a big deal. I again request we disable dead link detection and marking and focus on filling bare links now.
It's now over 7 days since the trial edits. @Rlink2: have you made list of what changes have been proposed, and which you have accepted? I think that a review of that list would get us closer to a second trial. --BrownHairedGirl (talk) • (contribs) 20:47, 5 February 2022 (UTC)
|
Trial 2
Trial 2
|
---|
Approved for extended trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Sorry for the delay here, second trial looks good. Primefac (talk) 14:35, 13 February 2022 (UTC)
VAR thisURL = "http://exmple.com/fubar" VAR domainName = FunctionGetDomainNamefromURL(thisURL) VAR articleTitle = FunctionGetTitleFromURL(thisURL) // start by setting default value for websiteParam VAR websiteParam = domainName // e.g. "magicseaweed.com" // now see if we can get a website name VAR foundWebsiteName == FunctionToFindWebsiteNameAndDoAsanityCheck() IF foundWebsiteName IS NOT BLANK // e.g. "Magic Seaweed" for https://magicseaweed.com/ THEN BEGIN websiteParam = foundWebsiteName IF articleTitle INCLUDES foundWebsiteName THEN BEGIN VAR trimmedArticleTitle = articleTitle - foundWebsiteName IF trimmedArticleTitle IS NOT BLANK OR CRAP THEN articleTitle = trimmedArticleTitle ENDIF END ENDIF END ENDIF FunctionMakeCiteTemplate(thisURL, articleTitle, websiteParam)
@Rlink2 and Primefac: it is now 4 weeks since the second trial, and Rlink2 has resolved all the issues raised. Isn't it time for a third trial? I suggest that this trial should be bigger, say 250 edits, to give a higher chance of detecting edge cases. --BrownHairedGirl (talk) • (contribs) 23:14, 12 March 2022 (UTC)
|
BareRefBot as a secondary tool
I would like to ask that BareRefBot be run as a secondary tool, i.e. that it should be targeted as far as possible to work on refs where the more polished Citation bot has tried and failed.
This is a big issue which I should probably have raised at the start. The URLs-that-Citation-but-cannot-fill are why I have been so keen to get BareRefBot working, and I should have explained this in full earlier on. Pinging the other contributors to this BRFA: @Rlink2, Primefac, GreenC, ProcrastinatingReader, Kvng, Levivich, Pppery, 1234qwer1234qwer4, and Thryduulf, whose input on this proposal would be helpful.
I propose this because on the links which Citation bot can handle, it does a very thorough job. It uses the zotero servers to extract a lot of metadata such as date and author which BareRefBot cannot get, and it has a large and well-developed set of lookups to fix issues with individual sites, such as using {{cite news}} or {{cite journal}} when appropriate. It also has well-developed lookup tables for converting domain names to work titles.
So ideally, all bare URLs would be filled by the well-polished Citation bot. Unfortunately, there are many websites which Citation bot cannot fill, because the zotero provides no data. Other tools such as WP:REFLINKS and WP:REFILL often can handle those URLs, but none of them works in batch mode and individual editors cannot do the manual work fast enough to keep up with Citation bot's omissions.
The USP of BareRefBot is that thanks to Rlink2's cunning programming, it can do this followup work in batch mode, and that is where it should be targeted. That way we get the best of both worlds: Citation bot does a polished job if it can, and BareRefBot does the best it can with the rest.
I am systematically feeding Citation bot with long lists of articles with bare URLs, in two sets:
- User:BrownHairedGirl/Articles with new bare URL refs, consisting of the Articles with bare URL refs (ABURs) which were in the latest database dump but not in the previous dump. The 20220220 dump had 4,904 new ABURS, of which there were 4,518 ABURs which still hsd bare URLs.
- User:BrownHairedGirl/Articles with bare links, consisting of articles not part of my Citation bot lists since a cutoff date. The bot is currently about halfway through a set of 33,239 articles which Citation bot had not processed since 1 December 2021.
If BareRefBot is targeted at these lists after Citation bot has done them, we get the best of both worlds. Currently, these lists are easily accessed: all my use of Citation bot is publicly logged in the pages linked and I will happily email Rlink2 copies of the full (unsplit lists) if that is more convenient. If I get run over by a bus or otherwise stop feeding Citation bot, then it would be simple for Rlink2 or anyone else to take over the work of first feeding Citation bot.
What do others think? --BrownHairedGirl (talk) • (contribs) 11:25, 2 March 2022 (UTC)
- Here is an example of what I propose.
- Matt Wieters is page #2178 in my list Not processed since 1 December - part 6 of 11 (2,847 pages), which is currently being processed by Citation bot.
- Citation bot edited the article at 11:26, 2 March 2022, but it didn't fill any bare URL refs. I followed up by using WP:REFLINKS to fill the 1 bare URL ref, in this edit.
- That followup is what I propose that BareRefBot should do. BrownHairedGirl (talk) • (contribs) 11:42, 2 March 2022 (UTC)
- I think first and foremost you should look both ways before crossing the road so you don't get run over by a bus. :-D It strikes me as more efficient to have BRB follow CB as suggested. I don't see any downside. Levivich 19:28, 2 March 2022 (UTC)
- @BrownHairedGirl
- This makes sense, I think that citation bot is better at filling out refs completely. One thing that would be intresting to know is if Citation Bot can improve already filled refs. For example, let's say we have a source that citation bot can get the author, title, name, and date for, but BareRefBot can only get the title. If BareRefBot only fills in the title, and citation bot comes after it, would citation bot fill in the rest?
and it has a large and well-developed set of lookups to fix issues with individual sites, such as using cite news or cite journal when appropriate.
I agree .It uses the zotero servers to extract a lot of metadata such as date and author which BareRefBot cannot get, and it has a large and well-developed set of lookups to fix issues with individual sites
Correct.It also has well-developed lookup tables for converting domain names to work titles.
Yes, do note that list could be ported to Bare Ref Bot (list can be found here)That way we get the best of both worlds: Citation bot does a polished job if it can, and BareRefBot does the best it can with the rest.
I agree. Let's see what others have to say Rlink2 (talk) 19:38, 2 March 2022 (UTC)- Glad we agree in principle, @Rlink2. You raise some useful questions:
One thing that would be intresting to know is if Citation Bot can improve already filled refs.
- yes, it can and does. But I don't think it overwrites all existing data, which is why I think it's better to give it the first pass.
For example, let's say we have a source that citation bot can get the author, title, name, and date for, but BareRefBot can only get the title. If BareRefBot only fills in the title, and citation bot comes after it, would citation bot fill in the rest?
- If an existing cite has only
|title=
filled, Citation Bot often adds many other parameters (see e.g. [48]). - However, I thought we had agreed that BareRefBot was always going to add and fill a
|website=
parameter? - My concern is mostly with the
|title=
. Citation Bot does quite a good job of stripping extraneous stuff from the title when it fills a bare ref, but I don't think that it re-processes an existing title. So I think it's best to give Citation Bot the first pass at filling the title.
- If an existing cite has only
- Hope that helps. Maybe CB's maintainer AManWithNoPlan can check my evaluation and let us know if I have misunderstood anything about how Citation Bot handles partially-filled refs. BrownHairedGirl (talk) • (contribs) 20:27, 2 March 2022 (UTC)
- I think you are correct. Citation bot relies mostly on the wikipedia zotero - there are a few that we go beyond zotero: IEEE might be the only one. A bit thing that the bot does is extensive error checking (bad dates, authors of "check the rss feed" and such). Also, almost never overwrites existing data. AManWithNoPlan (talk) 20:35, 2 March 2022 (UTC)
- Many thanks to @AManWithNoPlan for that prompt and helpful clarification. --BrownHairedGirl (talk) • (contribs) 20:51, 2 March 2022 (UTC)
- @BrownHairedGirl @AManWithNoPlan
But I don't think it overwrites all existing data, which is why I think it's better to give it the first pass.
Yeah, i think John raised up this point at the Citation Bot talk page, and AManWithNoPlan has said above that it can add new info but no overwrite the old ones..However, I thought we had agreed that BareRefBot was always going to add and fill a
Yes, this hasn't changed. I forgot to say "title and website" while Citation Bot can get author, title, website, date, etc.....So I think it's best to give Citation Bot the first pass at filling the title.
This makes sense.Citation Bot does quite a good job of stripping extraneous stuff from the title when it fills a bare ref,
I agree. Maybe AManWithNoPlan could share the techniques used so they can be ported to BareRefBot? Or is the stripping done on the Zotero servers? He would have more information regarding this.- I also have a question about the turnaround of the list making process. How long does it usually take for Citation Bot to finish a batch of articles? Rlink2 (talk) 20:43, 2 March 2022 (UTC)
- See https://en.wikipedia.org/api/rest_v1/#/Citation/getCitation and https://github.com/ms609/citation-bot/blob/master/Zotero.php it has list of NO_DATE_WEBITES, tidy_date function, etc. AManWithNoPlan (talk) 20:45, 2 March 2022 (UTC)
- @Rlink2: Citation Bot processes my lists of ABURs at a rate of about 3,000 articles per day. There's quite a lot of variation in that (e.g. big lists are slooow, wee stubs are fast), but 3k/day is a good ballpark.
- The 20220301 database dump contains 155K ABURs, so we are looking at ~50 days to process the backlog. BrownHairedGirl (talk) • (contribs) 20:47, 2 March 2022 (UTC)
- @BrownHairedGirl
- So every 50 days there will be a new list, or you will break the list up into pieces and give the list of articles citation bot did not fix to me incrementally? Rlink2 (talk) 21:01, 2 March 2022 (UTC)
- @Rlink2: it's in batches of up to 2,850 pages, which is the limit for Citation Bot batches.
- See my job list pages: User:BrownHairedGirl/Articles with bare links and User:BrownHairedGirl/Articles with new bare URL refs. I can email you the lists as they are done, usually about one per day. BrownHairedGirl (talk) • (contribs) 21:27, 2 March 2022 (UTC)
- I think you are correct. Citation bot relies mostly on the wikipedia zotero - there are a few that we go beyond zotero: IEEE might be the only one. A bit thing that the bot does is extensive error checking (bad dates, authors of "check the rss feed" and such). Also, almost never overwrites existing data. AManWithNoPlan (talk) 20:35, 2 March 2022 (UTC)
- Duh @me.
- @Rlink2, I just realised that in order to follow Citation Bot, BareRefBot's worklist does not need to be built solely off my worklists.
- Citation Bot has 4 channels, so my lists comprise only about a quarter of Citation Bot's work. The other edits are done on behalf of other editors, both as batch jobs and as individual requests. Most editors do not publish their work lists like I do, but Citation Bot's contribs list is a record of the pages which the bot edited on their behalf, so it is a partial job list (obviously, it does not include pages which Citation bot processed but did not edit).
- https://en.wikiscan.org/user/Citation%20bot shows the bot averaging ~2,500 edits per day. So if BareRefBot grab says the last 10,000 edits by Citation Bot, that will usually amount to about four days work by CB, which would be a good list to work on. Most editors do not not choose their Citation bot jobs on the basis of bare URLs, so the incidence of bare URLs in those lists will be low ... but any bare URLs which are there will have been recently processed by Citation Bot.
- Also, I don't see any problem with BareRefBot doing a run in which the bot does no filling, but just applies {{Bare URL PDF}} where appropriate. A crude search shows that there are currently over such 30,000 refs to be tagged, which should keep the bot busy for a few days: just disable filling, and let it run in tagging mode.
- Hope this helps. BrownHairedGirl (talk) • (contribs) 21:20, 4 March 2022 (UTC)
- @BrownHairedGirl:
BareRefBot's worklist does not need to be built solely off my worklists.
Oh yes, I forgot about the contribution list as well.So if BareRefBot grab says the last 10,000 edits by Citation Bot, that will usually amount to about four days work by CB, which would be a good list to work on.
I agree.Most editors do not not choose their Citation bot jobs on the basis of bare URLs, so the incidence of bare URLs in those lists will be low ... but any bare URLs which are there will have been recently processed by Citation Bot.
True. Just note that tying the bot to Citation bot will mean that the bot can only go as fast as citation bot goes, that's fine with me since there isn't really a big rush, but just something to note.Also, I don't see any problem with BareRefBot doing a run in which the bot does no filling,
Me neither. Rlink2 (talk) 01:44, 5 March 2022 (UTC)- Thanks, @Rlink2.
- I had kinda hoped that once BareRefBot was authorised, it could start working around the clock. At say 7 edits per minute. it would do ~10,000 pages per day, and clear the backlog in under 3 weeks.
- By making it follow Citation bot, we restrict it to about 3,000 pages per day. That means that it may take up to 10 weeks, which is a pity. But I think we will get better results this way. BrownHairedGirl (talk) • (contribs) 01:58, 5 March 2022 (UTC)
- @BrownHairedGirl: Maybe a hybrid model could work, for example it could avoid filling in refs for websites where the bot knows citation bot could possibly get better data (e.x: nytimes, journals, websites with metadata tags the barerefbot doesn't understand, etc..). That way we have the best of both worlds - the speed of barerefbot, and the (higher) quality of citation bot. Rlink2 (talk) 02:02, 5 March 2022 (UTC)
- @Rlink2: that is theoretically possible, but I think it adds a lot of complexity with no gain.
- The problem that BareRefBot exists to resolve is the opposite of that set, viz. the URLs which Citation bot cannot fill, and we can't get a definitive list of those. My experience of trying to make such a list for Reflinks was daunting: the sub-pages of User:BrownHairedGirl/No-reflinks websites list over 1400 sites, and it's far from complete. BrownHairedGirl (talk) • (contribs) 02:16, 5 March 2022 (UTC)
- @BrownHairedGirl: Maybe a hybrid model could work, for example it could avoid filling in refs for websites where the bot knows citation bot could possibly get better data (e.x: nytimes, journals, websites with metadata tags the barerefbot doesn't understand, etc..). That way we have the best of both worlds - the speed of barerefbot, and the (higher) quality of citation bot. Rlink2 (talk) 02:02, 5 March 2022 (UTC)
- Some numbers. @Rlink2: I did some analsysis of the numbers, using AWB's list comparer and pre-parser. The TL;DR is that there are indeed very slim pickings for BareRefBot in the other articles processed by Citation bot: ~16 per day.
- I took CB's latest 10,000 edits, as of about midday UTC today. That took me back to just two hours short of five days, on 28 Feb. Of those 10K, only 4,041 were not from my list. Only 13 of them still have a {{Bare URL inline}} tag, and 93 have an untagged, non-PDF bare URL ref. After removing duplicates, that left 104 pages, but 25 of those were drafts, leaving only 79 mainspace articles.
- So CB's contribs list gives an average of only 16 non-BHG-suggested articles per day for BareRefBot to work on.
- In those 5 days, I fed CB with 14,168 articles, on which the bot made just short of 6,000 edits. Of those 14,168 articles, 2,366 still have a {{Bare URL inline}} tag, and 10,107 have an untagged, non-PDF bare URL ref. After removing duplicates, that left 10,143 articles for BareRefBot to work on. That is about 2,000 per day.
- So in those 5 days, Citation bot filled all the bare URLs on 28.5% of the articles I fed it. (Ther are more articles where it filed some but not all bare refs). It will be great if BareRefBot can make a big dent in the remainder.
- Hope this helps. --BrownHairedGirl (talk) • (contribs) 20:03, 5 March 2022 (UTC)
- For what it's worth, I dislike the idea of having a bot whose sole task is to clean up after another bot; we should be improving the other bot in that case. If this bot can edit other pages outside of those done by Citation bot, then it should do so. Primefac (talk) 12:52, 27 March 2022 (UTC)
- @Primefac, well that's also a good way of thinking about it. I'm personally fine with any of the options (work on its own or follow citation bot), its up to others to come to a consensus over what is best. Rlink2 (talk) 12:55, 27 March 2022 (UTC)
- @Primefac: my proposal is not
clean up after another bot
, which describes one bot fixing errors by another. - My proposal is different: that this bot should do the tasks that Citation bot has failed to do. BrownHairedGirl (talk) • (contribs) 03:37, 28 March 2022 (UTC)
- BrownHairedGirl is right, the proposal is not cleaning up the other bots errors, it is with what Citation Bot is not doing (more specifically, the bare refs not being filled). Rlink2 (talk) 17:55, 28 March 2022 (UTC)
- @Primefac: Also, there seems to me to be no scope for extending the range of URLs Citation bot can fill. CB uses the zotero servers for its info on the bare URLs, and if the zotero doesn't provide the info, CB is helpless.
- It is of course theoretically conceivable that CB could be extended with a whole bunch of code of its own to gather data about the URLs which the zoteros can't handle. But that would be a big job, and I don't see anyone volunteering to do that.
- But what we do have is a very willing editor who has developed a separate tool to do some of what CB doesn't do. Please don't let the ideal of an all-encompassing Citation Bot (which is not even on the drawing board) become the enemy of the good, i.e. of the ready-to-roll BareRefBot.
- This BRFA is now Rlink2 in it tenth week. Rlink2 has been very patient, but please lets try to get this bot up and running without further long delay. BrownHairedGirl (talk) • (contribs) 18:25, 28 March 2022 (UTC)
- Maybe I misread your initial idea, but you have definitely misread my reply. I was saying that if this were just a case of cleaning up after CB, then CB should be fixed. Clearly, there are other pages to be dealt with, which makes that entire statement void, and I never suggested that CB be expanded purely to take over this task. Primefac (talk) 18:31, 28 March 2022 (UTC)
- @Primefac: maybe we went the long way around, but it's good to find that in the end we agree that there is a job for BareRefBot to do. Please can we try to get it over the line without much more time? BrownHairedGirl (talk) • (contribs) 20:11, 28 March 2022 (UTC)
- Maybe I misread your initial idea, but you have definitely misread my reply. I was saying that if this were just a case of cleaning up after CB, then CB should be fixed. Clearly, there are other pages to be dealt with, which makes that entire statement void, and I never suggested that CB be expanded purely to take over this task. Primefac (talk) 18:31, 28 March 2022 (UTC)
- BrownHairedGirl is right, the proposal is not cleaning up the other bots errors, it is with what Citation Bot is not doing (more specifically, the bare refs not being filled). Rlink2 (talk) 17:55, 28 March 2022 (UTC)
- @Primefac: my proposal is not
- @Primefac, well that's also a good way of thinking about it. I'm personally fine with any of the options (work on its own or follow citation bot), its up to others to come to a consensus over what is best. Rlink2 (talk) 12:55, 27 March 2022 (UTC)
Trial 3
Approved for extended trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Primefac (talk) 12:48, 27 March 2022 (UTC)
- @Rlink2: Has this trial happened? * Pppery * it has begun... 01:42, 17 April 2022 (UTC)
- @Pppery Not yet, busy with IRL stuff. But will get to it soon (by end of next week latest) Rlink2 (talk) 02:37, 17 April 2022 (UTC)
- @Rlink2, now? ― Qwerfjkltalk 20:08, 3 May 2022 (UTC)
- @Qwerfjkl Not yet, i am still tracting up after my mini wikibreak. I will try to get to it next week. At the absolute latest done by middle of next month (it will probably be done way sooner but I would rather provide a definite upper bound rather than say "maybe this week" and pass the deadline). Rlink2 (talk) 12:29, 4 May 2022 (UTC)
- @Rlink2: any news?
- It's now almost mid-June, which was your absolute latest target.
- What is your current thinking? Are you losing interest in this task? Or just busy with other things?
- We are all volunteers, so if you no longer want to put your great talents into this task, that's absolutely fine. But it's been on hold now for three months, so it would be helpful to know where it's going. BrownHairedGirl (talk) • (contribs) 09:19, 12 June 2022 (UTC)
- @Qwerfjkl Not yet, i am still tracting up after my mini wikibreak. I will try to get to it next week. At the absolute latest done by middle of next month (it will probably be done way sooner but I would rather provide a definite upper bound rather than say "maybe this week" and pass the deadline). Rlink2 (talk) 12:29, 4 May 2022 (UTC)
- @Rlink2, now? ― Qwerfjkltalk 20:08, 3 May 2022 (UTC)
- @Pppery Not yet, busy with IRL stuff. But will get to it soon (by end of next week latest) Rlink2 (talk) 02:37, 17 April 2022 (UTC)
I have done extensive testing since the 2nd trial and I think we are finally ready for a third one, after some turbelence. What do people here think? Rlink2 (talk) 08:35, 10 August 2022 (UTC)
- @Rlink2, Have you done the trial approved above? If so, can you link to the edits here? Otherwise, you should complete the trial and post the results here, then wait for feedback. — Qwerfjkltalk 06:44, 23 August 2022 (UTC)
AssumptionBot
Operator: AssumeGoodWraith (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 11:34, Wednesday, February 16, 2022 (UTC)
Function overview: Adds AFC unsubmitted templates to drafts.
Automatic, Supervised, or Manual: Automatic
Programming language(s): Python
Source code available: I think this works?
Links to relevant discussions (where appropriate): Wikipedia:Village pump (proposals) § Bot proposal (AFC submission templates)
Edit period(s): Meant to be continuous.
Estimated number of pages affected: ~100 a day, judging by the new pages feed (about 250 today) and assuming that not many drafts are left without the afc template
Namespace(s): Draft
Exclusion compliant (Yes/No): Yes (pywikibot)
Function details: Adds AFC unsubmitted templates ( {{afc submission/draft}} ) to drafts in draftspace that don't have them, the {{draft article}} template, or anything that currently redirects to those 2. See the examples in the VPR proposal listed above.
Discussion
- I'm not going to decline this outright, if only to allow for feedback and other opinions, but not all drafts need to go through AFC, and so having a bot place the template on every draft is extremely problematic. Primefac (talk) 12:22, 16 February 2022 (UTC)
- {{BotOnHold}} until the RFC (which I have fixed the link to) has completed. In the future, get consensus before filing a request. Primefac (talk) 12:22, 16 February 2022 (UTC)
- @Primefac: Not sure if this is a misunderstanding, but it's the unsubmitted template, not the submitted one (Template:afc submission/draft). — Preceding unsigned comment added by AssumeGoodWraith (talk • contribs) 12:28, 16 February 2022 (UTC)
- I know, and my point still stands - not every draft is meant to be sent for review at AFC, and so adding the template to every draft is problematic. Primefac (talk) 12:38, 16 February 2022 (UTC)
- @Primefac: I thought you interpreted the proposal as "automatically submitting all new drafts for review". I'll wait for the RFC. – AssumeGoodWraith (talk | contribs) 12:49, 16 February 2022 (UTC)
- I know, and my point still stands - not every draft is meant to be sent for review at AFC, and so adding the template to every draft is problematic. Primefac (talk) 12:38, 16 February 2022 (UTC)
- Note: This bot appears to have edited since this BRFA was filed. Bots may not edit outside their own or their operator's userspace unless approved or approved for trial. AnomieBOT⚡ 12:41, 18 February 2022 (UTC)
- I'm not a BAG member, but I'd like to point out that your code won't work as you expect for multiple reasons. First, Python will interpret
"{{afc submission".lower()
,"{{articles for creation".lower()
, etc. as separate conditions that are alwaysTrue
, meaning the only condition that is actually considered is"{{draft article}}".lower() not in page.text
. Also, yourtime.sleep
call is outside the loop, meaning it will never actually be run. Bsoyka (talk · contribs) 04:59, 25 February 2022 (UTC)- I'll figure it out when approved. – AssumeGoodWraith (talk | contribs) 05:09, 25 February 2022 (UTC)
- ... Or now. – AssumeGoodWraith (talk | contribs) 05:09, 25 February 2022 (UTC)
- I'll figure it out when approved. – AssumeGoodWraith (talk | contribs) 05:09, 25 February 2022 (UTC)
- I'd like to note that I've closed the RfC on this task. From the close: "There is consensus for such a bot, provided that it does not tag drafts created by experienced editors. The consensus on which users are experienced enough is less clear, but it looks like (auto)confirmed is a generally agreed upon threshold." Tol (talk | contribs) @ 19:06, 18 March 2022 (UTC)
- Approved for trial (50 edits or 21 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. This is based on the assumption that the bot will only be adding the template to non-AC creations. Primefac (talk) 12:37, 27 March 2022 (UTC)
- I may make another BRFA if I return to activity. – AssumeGoodWraith (talk | contribs) 03:23, 10 April 2022 (UTC)
- @AssumeGoodWraith, do you have any updates on this? 🐶 EpicPupper (he/him | talk) 02:38, 1 June 2022 (UTC)
- I may make another BRFA if I return to activity. – AssumeGoodWraith (talk | contribs) 03:23, 10 April 2022 (UTC)
- Approved for trial (50 edits or 21 days, whichever happens first). Please provide a link to the relevant contributions and/or diffs when the trial is complete. This is based on the assumption that the bot will only be adding the template to non-AC creations. Primefac (talk) 12:37, 27 March 2022 (UTC)
- @EpicPupper: I am on a break, and will probably finish this when I am back. – AssumeGoodWraith (talk | contribs) 02:51, 1 June 2022 (UTC)
I'm not sure I'll get this done soon due to loss of interest in Wikipedia. – AssumeGoodWraith (talk | contribs) 14:21, 27 June 2022 (UTC)
- On hold. No issue with putting it on hold, but please let us know if you wish to simply withdraw. Primefac (talk) 14:28, 27 June 2022 (UTC)
- @AssumeGoodWraith, I'm happy to write the code (running it is a different matter). ― Qwerfjkltalk 22:08, 1 July 2022 (UTC)
- @AssumeGoodWraith, Are you going to continue with this BRFA? As I said above, I'm willing to take it over. — Qwerfjkltalk 06:41, 23 August 2022 (UTC)
- I've basically stopped editing. You can take it over if you want.
- @Primefac, Is it okay if I do the trial? — Qwerfjkltalk 18:36, 23 August 2022 (UTC)
- A user has requested the attention of a member of the Bot Approvals Group. Once assistance has been rendered, please deactivate this tag by replacing it with
{{tl|BAG assistance needed}}
.— Qwerfjkltalk 20:10, 6 September 2022 (UTC)
- A user has requested the attention of a member of the Bot Approvals Group. Once assistance has been rendered, please deactivate this tag by replacing it with
Bots that have completed the trial period
Approved requests
Bots that have been approved for operations after a successful BRFA will be listed here for informational purposes. No other approval action is required for these bots. Recently approved requests can be found here (), while old requests can be found in the archives.
- TolBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13C) Approved 08:29, 5 September 2022 (UTC) (bot has flag)
- BattyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 68) Approved 09:45, 30 August 2022 (UTC) (bot has flag)
- WOSlinkerBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 23) Approved 14:34, 30 July 2022 (UTC) (bot has flag)
- Aidan9382-Bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Approved 18:26, 9 July 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13) Approved 18:20, 9 July 2022 (UTC) (bot has flag)
- MalnadachBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13) Approved 18:15, 9 July 2022 (UTC) (bot has flag)
- BattyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 67) Approved 15:28, 19 June 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 12) Approved 15:22, 19 June 2022 (UTC) (bot has flag)
- DoggoBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 7) Approved 15:17, 19 June 2022 (UTC) (bot has flag)
- ScannerBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 02:40, 13 June 2022 (UTC) (bot has flag)
- DatBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 11) Approved 23:39, 7 June 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 10) Approved 15:07, 7 May 2022 (UTC) (bot has flag)
- WOSlinkerBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 22) Approved 15:02, 7 May 2022 (UTC) (bot has flag)
- IndentBot (BRFA · contribs · actions log · block log · flag log · user rights) Approved 21:16, 3 May 2022 (UTC) (bot has flag)
- ProcBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 10b) Approved 13:19, 23 April 2022 (UTC) (bot has flag)
- NovemBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Approved 21:42, 22 April 2022 (UTC) (bot has flag)
- TolBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13B) Approved 15:50, 21 April 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 9) Approved 20:09, 11 April 2022 (UTC) (bot has flag)
- Roccerbot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Approved 12:46, 27 March 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 8) Approved 12:46, 27 March 2022 (UTC) (bot has flag)
- ProcBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 10) Approved 09:25, 24 March 2022 (UTC) (bot has flag)
- Dušan Kreheľ (bot) (BRFA · contribs · actions log · block log · flag log · user rights) Approved 14:22, 6 March 2022 (UTC) (bot has flag)
- BattyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 65) Approved 14:17, 27 February 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 7) Approved 14:12, 27 February 2022 (UTC) (bot has flag)
- WOSlinkerBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 21) Approved 13:55, 27 February 2022 (UTC) (bot has flag)
- WOSlinkerBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 20) Approved 15:00, 13 February 2022 (UTC) (bot has flag)
- DoggoBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 4) Approved 15:00, 13 February 2022 (UTC) (bot has flag)
- SdkbBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 3) Approved 15:48, 10 February 2022 (UTC) (bot has flag)
- TolBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 13A) Approved 20:53, 29 January 2022 (UTC) (bot has flag)
- Qwerfjkl (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 6) Approved 20:47, 29 January 2022 (UTC) (bot has flag)
Denied requests
Bots that have been denied for operations will be listed here for informational purposes for at least 7 days before being archived. No other action is required for these bots. Older requests can be found in the Archive.
- CapsuleBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 08:21, 27 May 2022 (UTC)
- BsoykaBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 17:50, 3 April 2022 (UTC)
- Dušan Kreheľ (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: III) Bot denied 17:24, 3 April 2022 (UTC)
- Dneo bot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 17:32, 6 March 2022 (UTC)
- DoggoBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 6) Bot denied 08:30, 6 March 2022 (UTC)
- BHGbot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 9) Bot denied 08:16, 16 December 2021 (UTC)
- Cewbot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 9) Bot denied 14:19, 19 September 2021 (UTC)
- Q28bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 1) Bot denied 10:28, 14 September 2021 (UTC)
- HooptyBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 10:31, 27 August 2021 (UTC)
- SWinxyTheBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 21:02, 22 August 2021 (UTC)
- ProcBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 9) Bot denied 21:02, 22 August 2021 (UTC)
- AWMBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Bot denied 02:05, 8 August 2021 (UTC)
- BattyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 58) Bot denied 19:16, 20 July 2021 (UTC)
- CountyBot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 23:10, 29 June 2021 (UTC)
- K.Kapil77 Bot (BRFA · contribs · actions log · block log · flag log · user rights) Bot denied 15:31, 10 June 2021 (UTC)
Expired/withdrawn requests
These requests have either expired, as information required by the operator was not provided, or been withdrawn. These tasks are not authorized to run, but such lack of authorization does not necessarily follow from a finding as to merit. A bot that, having been approved for testing, was not tested by an editor, or one for which the results of testing were not posted, for example, would appear here. Bot requests should not be placed here if there is an active discussion ongoing above. Operators whose requests have expired may reactivate their requests at any time. The following list shows recent requests (if any) that have expired, listed here for informational purposes for at least 7 days before being archived. Older requests can be found in the respective archives: Expired, Withdrawn.
- Fluxbot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 8) Withdrawn by operator 14:02, 29 August 2022 (UTC)
- ConservationStatusAndRangeMapBot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 16:06, 7 August 2022 (UTC)
- ButlerBlogBot (BRFA · contribs · actions log · block log · flag log · user rights) Expired 05:50, 20 June 2022 (UTC)
- NovemBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 4) Withdrawn by operator 16:29, 18 June 2022 (UTC)
- DoggoBot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 16:49, 1 June 2022 (UTC)
- ZabesBot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 02:40, 1 June 2022 (UTC)
- Buffalo Meatbot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 15:10, 26 May 2022 (UTC)
- Aidan9382-Bot (BRFA · contribs · actions log · block log · flag log · user rights) Withdrawn by operator 12:38, 8 May 2022 (UTC)
- Gaelan Bot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 2) Expired 15:02, 7 May 2022 (UTC)
- ElliBot (BRFA · contribs · actions log · block log · flag log · user rights) Expired 15:56, 21 April 2022 (UTC)
- DoggoBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 8) Withdrawn by operator 20:40, 17 April 2022 (UTC)
- Dušan Kreheľ (bot) (BRFA · contribs · actions log · block log · flag log · user rights) (Task: II) Withdrawn by operator 02:41, 4 April 2022 (UTC)
- BattyBot (BRFA · contribs · actions log · block log · flag log · user rights) (Task: 66) Withdrawn by operator 07:15, 28 March 2022 (UTC)