To run abot on the English Wikipedia, you must first get itapproved. Follow the instructions below to add a request. If you are not familiar with programming, considerasking someone else to run a bot for you.
If your task could be controversial (e.g. most bots making non-maintenance edits to articles and most bots posting messages on user talk pages), seek consensus for the task. Common places to start includeWP:Village pump (proposals) and the talk pages of the relevant policies, guidelines, templates, and/or WikiProjects. Link to this discussion in your request for approval.
You will need to create an account for your bot if you haven't already done so. Clickhere when logged in to create the account, linking it to yours. (If you do not create the bot account while logged in, it is likely to be blocked as a possiblesockpuppet or unauthorised bot until you verify ownership)
Create a userpage for your bot, linking to your userpage (this is commonly done using the{{bot}} template) and describing its functions. You may also include an 'emergency shutoff button'.
II
Filing the application
easy-brfa.js can be used for quickly filing BRFAs. It checks for a bunch of filing mistakes automatically! It's recommended for experienced bot operators, but the script can be used by anyone.
Enter yourbot's user name in the box below and click the button. If this is a request for an additional task, put a task number as well (e.g.BotName 2).
Complete the questions on the resulting page and save it.
Your request must now be added to the correct section of the main approvals page:Click here and add{{BRFA}} to the top of the list, directly below the comment line.
For an additional task request: use{{BRFA|bot name|task number|Open}}
III
During the approvals process
During the process, anapprovals group member may approve a trial for your bot (typically after allowing time for community input), andAnomieBOT will move the request tothis section.
Run the bot for the specified number of edits/time period, then add{{Bot trial complete}} to the request page. It helps if you also link to the bot's contributions, and comment on any errors that may have occurred.
AnomieBOT will move the request to the'trial complete' section by moving the{{BRFA}} template that applies to your bot
If you feel that your request is being overlooked (no BAG attention for ~1 week) you can add{{BAG assistance needed}} to the page. However,please do not use it after every comment!
At any time during the approvals process, you may withdraw your request by adding{{BotWithdrawn}} to your bot's approval page.
IV
After the approvals process
After the trial edits have been reviewed and enough time has passed for any more discussion, a BAG member will approve or deny the request appropriately.
For approved requests: The request will be listedhere. If necessary, a bureaucrat will flag the bot within a couple of days and you can then run the task fully (it's best to wait for the flag, to avoid cluttering recent changes). If the bot already has a flag, or is to run without one, you may start the task when ready.
For denied/expired/withdrawn requests: The request will be listed at thebottom of the main BRFA page in the relevant section.
Estimated number of pages affected: Process all redirects in the NPP redirect queue, which currently contains over 37,000 redirects, and mark those that meet the criteria. The first run will cover around 10% of the total redirects.
I thinkJ947 is raising an interesting objection in the discussion above. I'd like to see if we can talk through it a bit; it might be that consensus is still clearly in favor of this, but it hasn't been that long and no one has really engaged with it. — The Earwig (talk)01:54, 5 November 2025 (UTC)[reply]
Function details: 1/ Get WTA profile from wikidata page. 2/ Get data (best ranks + career prize money) from WTA profile. 3/ Update best ranks if needed + update prize money if > $US10000 to not spam edit for "small" earns.
The bot has already edits pages on one loop. For inactive players, it is a one shot. For active players, there will be a weekly check. Next step will be to do it for men tennis players with atptour.com site to get ranks data. --Sisyph (talk)22:00, 23 October 2025 (UTC)[reply]
Discussion
I've reviewed a lot of the edits and they seem fine to me. This saves hours of manual labour on updating rankings and prize money. Do you feel it would be within scope for a bot to be able to update the win and loss totals as well? The only downside is that we'll have to follow the bot and manually update the 'last updated' timestamp at the bottom of the infobox, unless the bot is smart enough to do that too.Spiderone(Talk to Spider)13:53, 26 October 2025 (UTC)[reply]
I note whensomething similar came up recently, a suggestion was that this sort of thing should be done in Wikidata, or failing that a centralized data page (i.e. a template, a module, or a .json page that's read by a module), instead of making repeated bot edits to individual articles.Anomie⚔14:10, 26 October 2025 (UTC)[reply]
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⚡22:07, 26 October 2025 (UTC)[reply]
Hello, for win / loss total, it is posssible[1]. For the current rank, my issue is to get the date of this rank and mentionnent in the infobox, it must be :<!--ONLY UPDATE WITH LAST DATE THIS RANKING WAS HELD, NEVER UPDATE UNTIL THE WTA WEBSITE IS UPDATED (date should be a Monday), THE REFERENCE DOES NOT NEED TO BE UPDATED -->, so not possible so far, it doesn't seem to have sources to find it. For update field, it can be updated if already existing[2]. For wikidata centralization, for sure it will be the best option, like ELO rank for chess players. But I am not skilled to initiate it for tennis players. I will be able to update wikidata if one day it is implemented. Sorry to have edit 2 more pages it was for the 2 examples --Sisyph (talk)22:25, 26 October 2025 (UTC)[reply]
@Sisyph: Do not allow the bot to edit the English Wikipedia again until it is approved for trial by a member of theBot Approvals Group. This will include use of the{{Bot trial}} template. If the bot does edit again, the bot account may be blocked until a trial is approved.Anomie⚔23:17, 26 October 2025 (UTC)[reply]
Just to point out it is pointless this bot being used to update career prize money in tennis player infoboxes when the rest of the statistics remain unchanged. Either get this thing to update everything (win/loss records, rankings, prize money) or stop doing it. The current practice is misleading and inaccurate. I have posted this message on the bot's talk page too.Shrug02 (talk)09:02, 29 October 2025 (UTC)[reply]
HelloShrug02, I can understand your view. I don't agree with inaccurate, but I can confess that only update the prize money could be pointless for some players. My fear to not update this field in the infobox independently (because, yes the bot could be only update when the rankings or win/loss records change), is to be in front a never update (by bot), for players who reach their highest rank. Currently the bot update the prize money when it changes over $10,000, to not update for unsignificant earnings. But I can change to minimum $10,000 AND 5% of wikipedia data current prize money. It means for valuable player already reach $1 million, it represents $50,000 difference before edit. --Sisyph (talk)23:35, 29 October 2025 (UTC)[reply]
Links to relevant discussions (where appropriate):
Edit period(s): Daily
Estimated number of pages affected: Will check one page approximately every 3-5 seconds. If that page does include dates needing to be changed, it will take approximately 7 seconds (in testing) to complete before checking the next page.
Function details: This bot will run through pages in mainspace. It will check the page for any{{use dmy dates}} or{{use mdy dates}} templates, and if exactly one of those is found, it will check for any dates (both in plaintext and in certain date templates) to ensure they are correctly formatted, otherwise it will correct them. I have conducted testing in the bot's userspace (see thebot's contribs) and have fixed any of the bugs discovered in testing. As a side note, I have added an exception for references to theJanuary 6 United States Capitol attack by blocking the change of January 6 on any article to 6 January (may lead to false negatives but I would rather false negatives over false positives).
Discussion
This seems very liable to run intoWP:CONTEXTBOT issues. How will your bot avoid editing direct quotes, things besides "January 6", and so on? Glancing at your linked code, it looks like it would even break links and filenames if they happen to contain something that resembles a month and year.Anomie⚔00:57, 21 October 2025 (UTC)[reply]
Agreed. If I were this editor, I would plan to make at least 1,000 supervised edits at a reasonable pace using the intended script, checking each of the script's proposed changes before and after publishing. I think I would find that the script has some shortcomings. If you can address them, this bot process may be worth pursuing. Note that editing in this manner does not violate the bot policy, although you may find it tedious. –Jonesey95 (talk)14:51, 21 October 2025 (UTC)[reply]
Is there a specific reason you are using RandomPageGenerator? Using a generator that directly fetches pages transcluding these two templates would be more efficient, as the current method skips around 60 to 70 percent of pages without changes. Also, the nobots check in your code is unnecessary since Pywikibot by default already avoids editing pages with that template. –DreamRimmer■03:49, 22 October 2025 (UTC)[reply]
Function details: This task will, in two cases, insert a substitution template into instances of{{Infobox station}}: The first case is when|mapframe= is equal to yes and when|mapframe-custom= includes the text {{Infobox mapframe. The second case is when|embedded= begins with {{Infobox mapframe.
This substitution template will replace the embedded mapframe template with native mapframe parameters of{{Infobox station}}, simplifying the layout of the infobox and taking advantage of the native parameters.
I have performed a couple of test edits on my main account to demonstrate what will be done:embedded,mapframe
From a technical perspective, this is a simple AWB find/replace with a fairly simple regex. The list of articles was pulled fromPetscan.
Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Please make sure to review Zackmann’s comment above about the nested infoboxes before you proceed with the trial edits. –DreamRimmer■10:08, 20 November 2025 (UTC)[reply]
Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Since this is your first bot task, I am treating this as a one-off task. For future years, a new BRFA will be needed, and then we can see if it can be approved to run annually. –DreamRimmer■13:58, 24 September 2025 (UTC)[reply]
As part of the trial, the bot was ran twice, both times being stopped due to eventually forming a false association between the database and the article. This lead to the conclusion that the match script needs to be improved significantly, which I will do but haven't yet had the time. I still believe a reasonable fix is possible. Likely, as part of this, a semi-supervised confidence approach will be adopted where, if confidence isn't overwhelmingly high, the association is sent for manual review.
Also as part of the trial, an additional issue was identified. If the infobox population is from <2010, is cited using a named reference, and elsewhere in the body that reference is referenced, a cite error is caused because those references are now dangling. This may be a simple fix, but needs to be implemented.
I apologize for the delay, my real life workload is roughly cyclical—you can see that reflected in my xtools stats. I expect to be able to work on it again within a week or two.Scaledish!Talkish?Statish.19:55, 7 November 2025 (UTC)[reply]
Determines whether there are any other redirects, in any namespace, that meet one or more of the following criteria:
Are marked as an avoided-double redirect of a nominated redirect
Are redirects to the nominated redirect
Redirect to the same target as the nominated redirect and differ only in the presence or absence of non-alphanumeric characters, and/or differ only in case
If the bot finds any redirects that match and which are not currently nominated at RfD, then it should post a message in the discussion (final details about the message are TBD, but the bot request outline the general point). The bot limits the length of it's message, ensuring that the RfD is not over-cluttered.
Discussion
Thanks for working on this GalStar, but it's not clear whether it is checking for redirects that differ only in the presence/absence of diacritics?Thryduulf (talk)23:41, 2 July 2025 (UTC)[reply]
Approved for trial (30 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. –DreamRimmer■06:35, 8 July 2025 (UTC)[reply]
@GalStar: Is there a reason why you can't just use regex to find each nomination and use the information from that? For example,TenshiBot's unlisted copyright problems report looks for copyright problems in the subpages which use substed{{article-cv}} (regex:[4], although the script knows the names of the pages already, I imagine it wouldn't be too hard to get that from RfD subpages).Tenshi! (Talk page)20:57, 6 September 2025 (UTC)[reply]
A user has requested the attention of the operator. Once the operator has seen this message and replied, please deactivate this tag. (user notified) Anything on the proposal or implementation?Tenshi! (Talk page)15:13, 5 November 2025 (UTC)[reply]
"This is intended for use if urgent attention is needed or if a request is being neglected (wait seven days first)."(quotes in original)
What is it about this BRFA that requires 'urgent attention'? Surely it can't be because 7 days 12 hours 20 minutes had elapsed since the BRFA was posted... Can it?
I must echo TTM here; the BAG folk are all volunteers, and for a non-urgent task such as this one (and I meanreally non-urgent, given the merge has been listed since 2022!) you should not be banging on the doors of BAG members to get our attention. I'm not going to ask/tell you to stop pinging usever but please do be considerate, especially since I have all but been ignoring your pings using the{{@BAG}} template recently.Primefac (talk)12:41, 22 November 2025 (UTC)[reply]
Approved for trial (100 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Big count I know, but this is a merge that has been in limbo for a long time because of the complexity and I want to make sure we hit as many possible outliers as possible in the trial.Primefac (talk)12:41, 22 November 2025 (UTC)[reply]
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 foundhere (edit), while old requests can be found in the archives.
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 theArchive.
These requests have either expired, as information required by the operator was not provided, or been withdrawn. These tasks arenot 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.