The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Approved.

Operator: Bwilkins (talk · contribs)

Automatic or Manually assisted: Automatic

Programming language(s): Pywikipedia

Source code available: https://svn.toolserver.org/svnroot/josh/g7bot

Function overview: Delete pages in userspace when requested by that user, under strict conditions.

Links to relevant discussions (where appropriate): VPP here

Edit period(s): Continuous

Estimated number of pages affected: 50 per day

Exclusion compliant (Y/N): Y

Already has a bot flag (Y/N): Y

Function details: Similar to how 7SeriesBOT checks G7's now, this task will check db-user category, will check if:

Discussion[edit]

There's a problem with this, because user request does not apply to talk pages. So I'd be more happy if it checked that the only (substantial?) editor was the user requesting their user space to be deleted. - Kingpin13 (talk) 14:05, 27 March 2010 (UTC)[reply]

Yes, check if it is the only editor. If there was another editor, even a minor edit from some bot, leave the request for an admin to decide. --JokerXtreme (talk) 14:17, 27 March 2010 (UTC)[reply]
FYI, I've notified WT:CSD of this request. - Kingpin13 (talk) 14:21, 27 March 2010 (UTC)[reply]
Great to see something moving on this,from previous discussions of this sort of Bot, may I suggest:
If a page is flagged ((g7)), ((u1)) or ((db-author)),
and has only been edited by one account, Or by a bot or bots on the whitelist for this bot.
and has not been moved other than a move from user space to mainspace
and is not in projectspace
and is not in templatespace
then delete.
You've already got much of that in the spec, the projectspace and templatespace limitations will kick in rarely but one should be cautious there. Can you find a way to screen out ones where the deletion tag appears because someone has tagged a userbox or other transcluded page? ϢereSpielChequers 14:49, 27 March 2010 (UTC)[reply]
I don't think that trancluded material will trigger the bot. Will they? --JokerXtreme (talk) 15:01, 27 March 2010 (UTC)[reply]
Well I hope not, but we sometimes get speedies appearing at CAT:SPEEDY because of tranclusions, so I'd appreciate assurance that the bot will not be fooled by them. ϢereSpielChequers 15:06, 27 March 2010 (UTC)[reply]
I guess that it wouldn't be nice if vandals could take advantage of such liabilities. --JokerXtreme (talk) 15:09, 27 March 2010 (UTC)[reply]
(edit conflict) The function details say that the bot will check that the page is correctly tagged, and isn't just in the category. At present I think the bot will just be deleting under U1...? So project/template space shouldn't matter. - Kingpin13 (talk) 15:10, 27 March 2010 (UTC)[reply]
One other point - you want to check that the user page in question has only ever been in the userspace of the page creator. If a page in created by Alice, but it was created in Bob's userspace, then deleting it requires human review of what's going on. Most of such deletions would still be uncontroversially mechanical, but the remainder would be things that shouldn't be blindly bot-deleted. Gavia immer (talk) 15:16, 27 March 2010 (UTC)[reply]
That should be covered by "not moved", shouldn't it? And of course that would be covered by "only edited by userspace-owner" which has been correctly been requested as an additional requirement above. The bot should only delete pages that someone created in their own userspace without any third-party edits to it. Regards SoWhy 16:17, 27 March 2010 (UTC)[reply]
It should be covered. I just want to be certain the bot will handle this specific case correctly. Gavia immer (talk) 17:19, 27 March 2010 (UTC)[reply]

As long as bot is limited to userspace and follows the limitations laid down by WereSpielChequers, especially that concerning edits from other users, I don't see a problem. Eluchil404 (talk) 02:49, 28 March 2010 (UTC)[reply]

Well it seems the only additional check wanted is to check that the only contributor to the page (possibly excluding bots) is the user. Is it possible to have this added to the bot please? - Kingpin13 (talk) 15:33, 1 April 2010 (UTC)[reply]

Any updates on this? Also, is this bot running? I noticed that it was deleting a few pages tagged as U1...? - Kingpin13 (talk) 21:57, 6 April 2010 (UTC)[reply]

I see that the edit summary is this:"(Only one contributor who requested deletion under WP:CSD#G7)". Wouldn't it be better if the user that requested the deletion is mentioned in the summary? --JokerXtreme (talk) 23:11, 6 April 2010 (UTC)[reply]
7SeriesBOT has been running it's first task - deleting only G7's under strict conditions - for some time. Nothing related to U1 (a new task) has been added yet, as I do not yet see official approval for this U1 task yet (that, and Josh is away). (talk→ BWilkins ←track) 09:27, 7 April 2010 (UTC)[reply]
But the bot has been deleting U1 tagged user pages, on the 5th of this month. Will Josh be doing the coding again then? - Kingpin13 (talk) 09:30, 7 April 2010 (UTC)[reply]
I haven't had the chance to ask him yet ... but when he returns, I hope that he agrees to. In theory, it's a simple addition (I could probably do it myself, but it would take longer!) (talk→ BWilkins ←track) 12:15, 7 April 2010 (UTC)[reply]
http://en.wikipedia.org/w/index.php?title=Special:Log&user=7SeriesBOT shows 3 deletes by the bot on that date, all summaries claim G7. Josh Parris 13:42, 10 April 2010 (UTC)[reply]
But all of these were marked as U1 by the nominator. - Kingpin13 (talk) 13:48, 10 April 2010 (UTC)[reply]
Which tag specifically? ((db-U1))? Josh Parris 14:00, 10 April 2010 (UTC)[reply]
((db-userreq)) - Twinkle's default - Kingpin13 (talk) 14:01, 10 April 2010 (UTC)[reply]
It ought not have, line 168 of the source checks for the tags defined on line 38. Josh Parris 14:03, 10 April 2010 (UTC)[reply]
Replied on your talk page, since this is more to do with the other task. - Kingpin13 (talk) 11:47, 13 April 2010 (UTC)[reply]
  1. the page is in userspace or usertalkspace and has the tag g7, u1 or redirects placed directly (i.e. not through transclusion) on it
  2. it has only been edited by the user to which the userpage or usertalkpage belongs
  3. it has never been moved

As I can find situations where omitting any one of those conditions would need review (edits by bots should exclude the page too because it may be bots warning on edits); but if they're all met it seems reasonable to delete without review. Cenarium (talk) 18:45, 9 April 2010 (UTC)[reply]

Minor edits by bots can be ignored. - Kingpin13 (talk) 19:09, 9 April 2010 (UTC)[reply]

In the original 7SeriesBOT proposal, it was suggested that a plausible scenario might run like this: User drafts a wonderful piece of prose in User space. User gets very mad at project. User U1 tags wonderful piece of prose and leaves screaming profanities. Bot deletes this as meeting its criteria. Project loses wonderful piece of prose. What safeguards can be erected against this scenario? Josh Parris 13:57, 10 April 2010 (UTC)[reply]

That it can be undeleted? --JokerXtreme (talk) 14:34, 10 April 2010 (UTC)[reply]
What can be undeleted? I can't see anything. Can you? When a human deletes a page, they look at its contents and make a judgment of value. Bots are notoriously bad at that. If valuable content is just deleted, it's no longer discoverable, even if it isn't lost. Josh Parris 16:32, 10 April 2010 (UTC)[reply]
The 1000+ admins can look. The odds are pretty slim, however. (talk→ BWilkins ←track) 16:45, 10 April 2010 (UTC)[reply]
Odds of someone destroying his work or admins discovering it? I find it highly unlike that someone would delete his own work. It would be rare enough anyway to allow us to consider that possibility negligible. --JokerXtreme (talk) 17:27, 10 April 2010 (UTC)[reply]

Is this going anywhere? There seems to be enough support for this task, I need to know if Josh is willing to code it? If not I suggest you (Bwilkins) find another user to code this (I could make you a c# .net program to do this), or I can mark this as expired, and it can be re-opened once there's some code. - Kingpin13 (talk) 09:47, 17 April 2010 (UTC)[reply]

I was going to let Josh settle in after his wikibreak - he's had some coding to work on with WildBot since his return. If I read correctly, we'll need to add:
  • a separate section for checking the parameters as approved above (including a variety of ways that U1 actually gets tagged)
  • a second deletion message noting "deleted according to U1"
I'll coordinate with Josh (talk→ BWilkins ←track) 11:11, 17 April 2010 (UTC)[reply]

Source Code[edit]

Hey Josh. I wrote some code that you may want to use. The first is get_all_bots, which gets a list of all bots on wikipedia. The second determines if the number of (non bot) contributors is 1 or 0. Tim1357 (talk)
Some code
def get_all_bots(self):
'''Loads a list of all flagged bots, and saves it to self.bots'''
	params = {
            'action'    :'query',
            'list'      :'allusers',
            'augroup'    :'bot'
            }
	data = wikipedia.query.GetData(params,self.site)['query']['allusers']
	all_bots = [p['name'] for p in data]
	del data
	self.bots = all_bots
def owner_is_only_contributor(self,page):
'''Given a wikipedia.Page object, it determines if the page is in the proper namespace, and if there is one or zero non bot contributors.'''
	verdict = False
	if int( page.namespace() ) in [1,2,3,5,7,9,11,13,15,101,109]: 	#if it is a userpage, or any talk page
		contributors = list(page.contributingUsers()) 	#get a list of all users who have edited the page
		contributors = [con for con in contributors if con not in self.bots] 	#remove all bots
		if len(contributors) <= 1:	 #Make sure that there is one or less (non bot) contributors
			verdict = True
	return verdict

I have contacted Josh, who is able to provide some assistance - even considering his busy schedule. As it's an add-on to an existing bot, if the new task itself is approved, then the implementation is likely the easy part overall. (talk→ BWilkins ←track) 09:29, 26 April 2010 (UTC)[reply]

This seems like an unopposable idea. There are edge cases where it might be abused, but they would be admin-fixable anyway. Rich Farmbrough, 11:02, 1 May 2010 (UTC).[reply]

I've done a first-pass, untested write up, but Internet issues mean I can't as-yet upload this. Josh Parris 01:02, 7 May 2010 (UTC)[reply]

Now uploaded. Head nod to Tim1357, whose snippets were mercilessly stolen. Josh Parris 06:38, 7 May 2010 (UTC)[reply]
Josh, you're awesome. (talk→ BWilkins ←track) 08:30, 7 May 2010 (UTC)[reply]
Oh yeah. Approved for trial (As long as you want, set to log only). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Tim1357 talk 02:42, 18 May 2010 (UTC)[reply]

Trial[edit]

Run it for a week in Trial mode; there's nothing stopping you as bots can edit their own user space freely, especially for testing purposes. Josh Parris 11:19, 13 May 2010 (UTC)[reply]

He's been running in conjunction with the original version for a couple of days now ... the new code seems to be generally catching the CSD category first ... (talk→ BWilkins ←track) 11:27, 13 May 2010 (UTC)[reply]
For those interested, the bot's proposed actions can be monitored at User:7SeriesBOT/Dry-Run 2 Josh Parris 11:52, 13 May 2010 (UTC)[reply]
The trial seems to have stalled. Can you bring us up-to-date where things are? Josh Parris 02:33, 31 May 2010 (UTC)[reply]
I'm currently unable to get either the new trial or the original bot operating ... all fixes I have been given have been unsuccessful - I still get "wrong password or CAPCHA". Frustrating as hell, actually. (talk→ BWilkins ←track) 09:21, 31 May 2010 (UTC)[reply]

Update: It's been running fine today. Original G7bot is currently shutdown. Lots of pages being logged today - would be good to turn this back on to actual "delete" mode soon. One forgets how many pages that this ends up actually affecting until you see the CSD count some days. (talk→ BWilkins ←track) 19:28, 1 June 2010 (UTC)[reply]

Ready?[edit]

An analysis over over a week's worth of data, including the new code of mid-May suggests that it's tagging as it should. Although, by appearances, if one user, WildBot and FrescoBot all edit a talkpage, it's suggesting that there are multiple contributors - whereas I believe that bot edits are not supposed to be considered. This is minor, as for the most part everything looks good, and I think it's ready to go live. (talk→ BWilkins ←track) 09:20, 4 June 2010 (UTC)[reply]

While you hunt Josh down to fix that bug, I'll give you this:
Approved for trial (30 deletions). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Tim1357 talk 22:19, 13 June 2010 (UTC)[reply]
I've set it to delete overnight (my time) ... should be less than 30 by morning. 7SeriesBOT (talk) 23:41, 13 June 2010 (UTC)[reply]
Any news in the last week? MBisanz talk 02:51, 24 June 2010 (UTC)[reply]
Having some bizarre connectivity issues, but only on that PC. I have a batch file that does regular ping's to en.wikipedia, and show full connectivity, but the bot continually says "retrying in 1 minute". Even switched it back to non-delete mode last night. Anyone seen anything like this, or is it truly a connection issue? (talk→ BWilkins ←track) 11:00, 24 June 2010 (UTC)[reply]
Been another month, any progress resolving it? MBisanz talk 14:54, 28 July 2010 (UTC)[reply]
It's been running cleanly for a couple of weeks actually! (talk→ BWilkins ←track) 15:09, 28 July 2010 (UTC)[reply]
Ok, I'll approve tomorrow unless I hear otherwise. MBisanz talk 03:11, 2 August 2010 (UTC)[reply]
 Approved. Shweet. Tim1357 talk 02:04, 7 August 2010 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.