Automatic or Manually Assisted: Automatic
Programming Language(s): Python and python-wikitools
Function Overview: Notifies editors who have tagged a page for speedy deletion that was not deleted or was deleted for criteria differing from that for which they tagged it
Edit period(s): Continuously
Already has a bot flag (Y/N): N
Function Details: This bot was constructed in response to this bot request, which was made after this discussion. I've mostly coded it, and the implementation I went with is as follows:
If anyone wants to see the code, I wouldn't mind and it is now pretty much finished, but keep in mind that unless I get around to commenting it it's almost 900 lines of uncommented and probably difficult to follow code.
This bot might produce a large number of unnecessary and annoying talk page messages, since, in a rather large number of cases, the retention of a page for which speedy deletion is requested, or the deletion of the page under some CSD other than that cited by the requester, does not indicate that the editor placing the speedy deletion tag has done anything wrong. For instance, CSD G1, CSD G2, CSD G3 are nowhere close to disjoint; CSD G3 and CSD G10 have a substantial intersection as well. Thus, a fairly large number of pages will quite legitimately be subject to speedy deletion under multiple criteria. Consequently, the bot's proposed function of warning "every editor who added a tag to the page for criteria that does not match the criteria under which the page was deleted" will result in many superfluous talk page messages for every editor who cannot divine which CSD the deleting administrator will cite. The bot's function of warning "every editor who added a tag to the page for any criteria" for pages that are kept is likewise objectionable, since this situation may frequently result from the improvement of the page for which speedy deletion is requested, rather than any fault by the editor placing the speedy deletion tag: for example, a page tagged under CSD A7 may have an assertion of notability added to it. While this request concedes that "The bot's accuracy simply can't be 100%", it is questionable whether, in view of these considerations, even 50 percent of the talk page notices would actually be merited. Finally, the proposed task seems to include no apparent protection against flooding user talk pages with warnings: if an editor tagged 50 pages for deletion under CSD G3, but the pages were subsequently deleted with a summary referencing CSD G10, would the hapless editor receive fifty individual warnings, each placed in a separate edit? Erik9 ( talk) 15:59, 3 May 2009 (UTC) reply
To Erik9: I will take your input into consideration. Personally, I believe that G1-3 have less in common than you do. G1 states specifically that it does not cover vandalism, and in any case it has an extremely narrow scope. Patent nonsense and test pages likewise have very little in common. RFA is rife with examples of people abusing G1 and getting hammered for it. I do see your point about G3 and G10 though, and G11 and G12. Maybe G2 and A7, but I'd like more input on that; A7 would seem like it would override in that case. I'm not doing point 2 in your suggestions; pages are edited after the placing of a CSD tag all the time and very rarely are those edits substantial. In the case that they were, I already stated that I'm going to have the bot search for language in the edit that denies the speedy stating that the initial tagging was appropriate, and I'll make that search as expansive as I can. As for the third point, that's a good idea. I'll do that.
To The Earwig: I currently run another bot ( User:DyceBot) that has somewhere on the order of 40,000+ edits. I realize that Pywikipedia caters a bit to people who have no programming experience, but it's also a rather robust and functional bot framework. Also it's written in Python and I like Python. As I said above the code for the bot is mostly written at this point, and after I fine-tune it a bit I'll put it up on the web somewhere for people to look at. I'll hopefully get around to commenting the code a bit before posting it too.-- Dycedarg ж 17:18, 3 May 2009 (UTC) reply
Dycedarg, as far as the first edits this thing does, my suggestion about the admin removing the CSD tag is something you can activate right away without much logging to demonstrate accuracy (other then private logging you do to test it). I would like to request that while the bot edits and does notices and such, it also log somewhere as I described above. Again, notices on CSD tags removed by a sysop is something your bot can do and have 100% accuracy on notices. The only reason a sysop would remove a tag is if the sysop thinks it does not meet CSD criteria... something the tagger should know.
As far as your other features, please do log and test those. I have a feeling you are going to get a bunch of false hits, and I'd rather those get weeded out now before you annoy a bunch of users with notices. The groupings posted by Erik should be adhered to, as it does not matter much if you miss out on a mistake, but it matters if you notify someone when it was not a mistake. I would suggest to bag that then endorse a test run with the bot doing solely notices on admin removal of CSD tags... that can be tested live as I said without issues. —— nix eagle email me 19:12, 3 May 2009 (UTC) reply
Sorry about this, but I was just checking out the frameworks Mr.Z-man linked to. Pywikipedia's speed (or rather lack there of) has always bothered me, and from my limited testing the wikitools framework is so much faster it's not even funny. I'm rewriting the bot to use this framework instead, and that will delay my having it ready. Fortunately the commands seem mostly analogous, so it shouldn't require any major overhaul. With any luck it should be done by the end of the week, unless life intervenes in which case definitely by the end of next week. I would appreciate any further comments people have in the meantime.-- Dycedarg ж 01:46, 5 May 2009 (UTC) reply
I'm worried about this bot request. Not sure we want thousands of talk page posts constantly. I haven't had a chance to read everything written here, yet, though. -- MZMcBride ( talk) 13:34, 7 May 2009 (UTC) reply
Wrong focus A couple of things: 1) BOTS should never warn but rather notify. A warning implied a mistake, error, or potential negative consequences. 2) The bot should not be informing of mistakes, but rather differences. The bot is not going to be forming an opinion as to whose action was correct. I don't know if the bot is using those words, but your use here makes me a little wary. 3) This should be an opt in only process wherein a separate page is used---eg not on a users main talk page. We don't want to clutter talk pages with "warnings" we also don't want this to feel like an attack, or be perceived by others who might come to a users page as an attack... it must be very carefully worded. The wording should include something to the effect that the message is being posted there so that they can keep track of their past CSD noms. I would sell it not as a means to "correct" others, but rather as a way that users can know if they need to follow-up on a CSD? Did an admin incorrectly deny it did the author remove the tag? Do they need to send an article to AFD/PROD? As such, I say leave the reason the way it is. If it was nommed G1, let them know that it was deleted G3. While the two do have overlap, if the article is deleted by a different criteria consistently, the receipient might start to learn, but the focus HAS to move away from "You made a mistake" to a means in "how can you do your job better." You can do you job better by being notified of how your CSD's were handled.--- I'm Spartacus! NO! I'm Spartacus! 21:12, 7 May 2009 (UTC) FU: We don't want a user to be able to go to a CSD'ers talk page and see a 100 cases where they tagged an article G1 and the article was deleted as G3 and have the user say, "I see you have a problem with CSD." To that end, we really need to make sure this is a tool CSD'ers would want to use to help them keep track of their nominations---and worded/done in such as manner that it not a "warning."--- I'm Spartacus! NO! I'm Spartacus! 21:14, 7 May 2009 (UTC) reply
The watchlist is the mechanism by which any editor can see what happens to an article. Anyone that knows Wikipedia well enough to be adding any sort of deletion tag should know how to use it. Phil Bridger ( talk) 22:17, 7 May 2009 (UTC) reply
I'm unconvinced that this will be more helpful than annoying. But I'm not deeply involved in the afd process, so I could be wrong. It seems to me that the best way to find out would be to run a trial, and include (just for the trial) an additional sentence at the bottom of the message left on users' talkpages, in it's own paragraph: "Was this message helpful to you or not? We want to know. Please comment at [[Wikipedia:Bots/Requests for approval/CSDCheckBot]]." I think this will help is get a sense of what people think of the bot. – Quadell ( talk) 15:40, 10 May 2009 (UTC) reply
Approved for trial (7 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. under the terms above. –
Quadell (
talk)
15:40, 10 May 2009 (UTC)
reply
I agree that a log-only run is essential to confirm that the bot is functioning as intended before it actually posts on talkpages. After I finish going over the code for bugs later today, I intend to run it for twenty-four hours in that manner. After I've had a chance to go over the data that produces, I'll start the 7-day trial. I'll figure out what the specific parameters of the trial will be (what the bot will post messages for, etc) after I've gone over the data for the log run. Also, Protonk, I do intend to have the bot maintain some sort of a permanent centralized log. I have not yet determined precisely what form that log will take.-- Dycedarg ж 19:35, 11 May 2009 (UTC) reply
And now I'm finally finished. Part of the problem was the amount of time testing the various parts of the code took; to obtain results in real world scenarios requires hours of testing for each run. Given the amount of time I had to devote to the project, this made the whole thing take much longer than I had hoped. I will start the 24 log-only test tomorrow when I wake up, probably about noon EST. It will update a log of what it would have done every three hours; I will place a link to that log on the bot's user page. I will leave the results available for review for 24 hours after the bot is finished per JLaTodre's request. In the absence of any major problems I'll then start the 7-day trial with messages and all on Wednesday.-- Dycedarg ж 02:32, 25 May 2009 (UTC) reply
The log test has been started. Assuming it doesn't crash the first log update should be posted in about three hours. The log is here. It will continue to update every three hours for the next 24 hours assuming it continues to not crash and I don't stop it for some reason.-- Dycedarg ж 04:55, 27 May 2009 (UTC) reply
I added comments to the current log on the log's talk page. It has a number of issues that need to be fixed. Some are logic issues that could be debated, but it is having problems identifying the tagging and removing edits. -- JLaTondre ( talk) 01:08, 29 May 2009 (UTC) reply
Anyway, I'm going to have it run a full 24 hour log run before I work further on the mixed-up tagging business. I want as much data as possible to figure out what is getting screwed up where. I will be starting it later tonight; I fixed the error that stopped it earlier, I'm just going to check a bit of other stuff before having it go.-- Dycedarg ж 02:07, 29 May 2009 (UTC) reply
Just an update: I'm presently working on rooting out why it's making mistakes, and that's taking a fair bit of bug-testing. I've got some other stuff that's keeping me busier than I would like, but I should be able to devote enough attention to this to get it sorted out by the end of the week.-- Dycedarg ж 00:03, 2 June 2009 (UTC) reply
{{ OperatorAssistanceNeeded}} How's it going? – Quadell ( talk) 14:25, 16 June 2009 (UTC) reply
{{ OperatorAssistanceNeeded}} - Status? Mr. Z-man 04:55, 16 July 2009 (UTC) reply
Given the slowness of this trial (open for 2.5 months with no new runs in 2 months) and that the operator has had little Wikipedia activity lately, I think the BAG needs to consider Dycedarg's ability to maintain the bot in its decision process. This bot is supposed to run continuously and, as such, will require prompt maintenance for bugs, MediaWiki software updates, and WP:CSD changes. Also, as this bot will be leaving messages on user talk pages, it is bound to receive comments, criticisms, etc. in response. Its operator needs to be available to respond to those in a timely fashion. -- JLaTondre ( talk) 23:40, 31 July 2009 (UTC) reply
Automatic or Manually Assisted: Automatic
Programming Language(s): Python and python-wikitools
Function Overview: Notifies editors who have tagged a page for speedy deletion that was not deleted or was deleted for criteria differing from that for which they tagged it
Edit period(s): Continuously
Already has a bot flag (Y/N): N
Function Details: This bot was constructed in response to this bot request, which was made after this discussion. I've mostly coded it, and the implementation I went with is as follows:
If anyone wants to see the code, I wouldn't mind and it is now pretty much finished, but keep in mind that unless I get around to commenting it it's almost 900 lines of uncommented and probably difficult to follow code.
This bot might produce a large number of unnecessary and annoying talk page messages, since, in a rather large number of cases, the retention of a page for which speedy deletion is requested, or the deletion of the page under some CSD other than that cited by the requester, does not indicate that the editor placing the speedy deletion tag has done anything wrong. For instance, CSD G1, CSD G2, CSD G3 are nowhere close to disjoint; CSD G3 and CSD G10 have a substantial intersection as well. Thus, a fairly large number of pages will quite legitimately be subject to speedy deletion under multiple criteria. Consequently, the bot's proposed function of warning "every editor who added a tag to the page for criteria that does not match the criteria under which the page was deleted" will result in many superfluous talk page messages for every editor who cannot divine which CSD the deleting administrator will cite. The bot's function of warning "every editor who added a tag to the page for any criteria" for pages that are kept is likewise objectionable, since this situation may frequently result from the improvement of the page for which speedy deletion is requested, rather than any fault by the editor placing the speedy deletion tag: for example, a page tagged under CSD A7 may have an assertion of notability added to it. While this request concedes that "The bot's accuracy simply can't be 100%", it is questionable whether, in view of these considerations, even 50 percent of the talk page notices would actually be merited. Finally, the proposed task seems to include no apparent protection against flooding user talk pages with warnings: if an editor tagged 50 pages for deletion under CSD G3, but the pages were subsequently deleted with a summary referencing CSD G10, would the hapless editor receive fifty individual warnings, each placed in a separate edit? Erik9 ( talk) 15:59, 3 May 2009 (UTC) reply
To Erik9: I will take your input into consideration. Personally, I believe that G1-3 have less in common than you do. G1 states specifically that it does not cover vandalism, and in any case it has an extremely narrow scope. Patent nonsense and test pages likewise have very little in common. RFA is rife with examples of people abusing G1 and getting hammered for it. I do see your point about G3 and G10 though, and G11 and G12. Maybe G2 and A7, but I'd like more input on that; A7 would seem like it would override in that case. I'm not doing point 2 in your suggestions; pages are edited after the placing of a CSD tag all the time and very rarely are those edits substantial. In the case that they were, I already stated that I'm going to have the bot search for language in the edit that denies the speedy stating that the initial tagging was appropriate, and I'll make that search as expansive as I can. As for the third point, that's a good idea. I'll do that.
To The Earwig: I currently run another bot ( User:DyceBot) that has somewhere on the order of 40,000+ edits. I realize that Pywikipedia caters a bit to people who have no programming experience, but it's also a rather robust and functional bot framework. Also it's written in Python and I like Python. As I said above the code for the bot is mostly written at this point, and after I fine-tune it a bit I'll put it up on the web somewhere for people to look at. I'll hopefully get around to commenting the code a bit before posting it too.-- Dycedarg ж 17:18, 3 May 2009 (UTC) reply
Dycedarg, as far as the first edits this thing does, my suggestion about the admin removing the CSD tag is something you can activate right away without much logging to demonstrate accuracy (other then private logging you do to test it). I would like to request that while the bot edits and does notices and such, it also log somewhere as I described above. Again, notices on CSD tags removed by a sysop is something your bot can do and have 100% accuracy on notices. The only reason a sysop would remove a tag is if the sysop thinks it does not meet CSD criteria... something the tagger should know.
As far as your other features, please do log and test those. I have a feeling you are going to get a bunch of false hits, and I'd rather those get weeded out now before you annoy a bunch of users with notices. The groupings posted by Erik should be adhered to, as it does not matter much if you miss out on a mistake, but it matters if you notify someone when it was not a mistake. I would suggest to bag that then endorse a test run with the bot doing solely notices on admin removal of CSD tags... that can be tested live as I said without issues. —— nix eagle email me 19:12, 3 May 2009 (UTC) reply
Sorry about this, but I was just checking out the frameworks Mr.Z-man linked to. Pywikipedia's speed (or rather lack there of) has always bothered me, and from my limited testing the wikitools framework is so much faster it's not even funny. I'm rewriting the bot to use this framework instead, and that will delay my having it ready. Fortunately the commands seem mostly analogous, so it shouldn't require any major overhaul. With any luck it should be done by the end of the week, unless life intervenes in which case definitely by the end of next week. I would appreciate any further comments people have in the meantime.-- Dycedarg ж 01:46, 5 May 2009 (UTC) reply
I'm worried about this bot request. Not sure we want thousands of talk page posts constantly. I haven't had a chance to read everything written here, yet, though. -- MZMcBride ( talk) 13:34, 7 May 2009 (UTC) reply
Wrong focus A couple of things: 1) BOTS should never warn but rather notify. A warning implied a mistake, error, or potential negative consequences. 2) The bot should not be informing of mistakes, but rather differences. The bot is not going to be forming an opinion as to whose action was correct. I don't know if the bot is using those words, but your use here makes me a little wary. 3) This should be an opt in only process wherein a separate page is used---eg not on a users main talk page. We don't want to clutter talk pages with "warnings" we also don't want this to feel like an attack, or be perceived by others who might come to a users page as an attack... it must be very carefully worded. The wording should include something to the effect that the message is being posted there so that they can keep track of their past CSD noms. I would sell it not as a means to "correct" others, but rather as a way that users can know if they need to follow-up on a CSD? Did an admin incorrectly deny it did the author remove the tag? Do they need to send an article to AFD/PROD? As such, I say leave the reason the way it is. If it was nommed G1, let them know that it was deleted G3. While the two do have overlap, if the article is deleted by a different criteria consistently, the receipient might start to learn, but the focus HAS to move away from "You made a mistake" to a means in "how can you do your job better." You can do you job better by being notified of how your CSD's were handled.--- I'm Spartacus! NO! I'm Spartacus! 21:12, 7 May 2009 (UTC) FU: We don't want a user to be able to go to a CSD'ers talk page and see a 100 cases where they tagged an article G1 and the article was deleted as G3 and have the user say, "I see you have a problem with CSD." To that end, we really need to make sure this is a tool CSD'ers would want to use to help them keep track of their nominations---and worded/done in such as manner that it not a "warning."--- I'm Spartacus! NO! I'm Spartacus! 21:14, 7 May 2009 (UTC) reply
The watchlist is the mechanism by which any editor can see what happens to an article. Anyone that knows Wikipedia well enough to be adding any sort of deletion tag should know how to use it. Phil Bridger ( talk) 22:17, 7 May 2009 (UTC) reply
I'm unconvinced that this will be more helpful than annoying. But I'm not deeply involved in the afd process, so I could be wrong. It seems to me that the best way to find out would be to run a trial, and include (just for the trial) an additional sentence at the bottom of the message left on users' talkpages, in it's own paragraph: "Was this message helpful to you or not? We want to know. Please comment at [[Wikipedia:Bots/Requests for approval/CSDCheckBot]]." I think this will help is get a sense of what people think of the bot. – Quadell ( talk) 15:40, 10 May 2009 (UTC) reply
Approved for trial (7 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. under the terms above. –
Quadell (
talk)
15:40, 10 May 2009 (UTC)
reply
I agree that a log-only run is essential to confirm that the bot is functioning as intended before it actually posts on talkpages. After I finish going over the code for bugs later today, I intend to run it for twenty-four hours in that manner. After I've had a chance to go over the data that produces, I'll start the 7-day trial. I'll figure out what the specific parameters of the trial will be (what the bot will post messages for, etc) after I've gone over the data for the log run. Also, Protonk, I do intend to have the bot maintain some sort of a permanent centralized log. I have not yet determined precisely what form that log will take.-- Dycedarg ж 19:35, 11 May 2009 (UTC) reply
And now I'm finally finished. Part of the problem was the amount of time testing the various parts of the code took; to obtain results in real world scenarios requires hours of testing for each run. Given the amount of time I had to devote to the project, this made the whole thing take much longer than I had hoped. I will start the 24 log-only test tomorrow when I wake up, probably about noon EST. It will update a log of what it would have done every three hours; I will place a link to that log on the bot's user page. I will leave the results available for review for 24 hours after the bot is finished per JLaTodre's request. In the absence of any major problems I'll then start the 7-day trial with messages and all on Wednesday.-- Dycedarg ж 02:32, 25 May 2009 (UTC) reply
The log test has been started. Assuming it doesn't crash the first log update should be posted in about three hours. The log is here. It will continue to update every three hours for the next 24 hours assuming it continues to not crash and I don't stop it for some reason.-- Dycedarg ж 04:55, 27 May 2009 (UTC) reply
I added comments to the current log on the log's talk page. It has a number of issues that need to be fixed. Some are logic issues that could be debated, but it is having problems identifying the tagging and removing edits. -- JLaTondre ( talk) 01:08, 29 May 2009 (UTC) reply
Anyway, I'm going to have it run a full 24 hour log run before I work further on the mixed-up tagging business. I want as much data as possible to figure out what is getting screwed up where. I will be starting it later tonight; I fixed the error that stopped it earlier, I'm just going to check a bit of other stuff before having it go.-- Dycedarg ж 02:07, 29 May 2009 (UTC) reply
Just an update: I'm presently working on rooting out why it's making mistakes, and that's taking a fair bit of bug-testing. I've got some other stuff that's keeping me busier than I would like, but I should be able to devote enough attention to this to get it sorted out by the end of the week.-- Dycedarg ж 00:03, 2 June 2009 (UTC) reply
{{ OperatorAssistanceNeeded}} How's it going? – Quadell ( talk) 14:25, 16 June 2009 (UTC) reply
{{ OperatorAssistanceNeeded}} - Status? Mr. Z-man 04:55, 16 July 2009 (UTC) reply
Given the slowness of this trial (open for 2.5 months with no new runs in 2 months) and that the operator has had little Wikipedia activity lately, I think the BAG needs to consider Dycedarg's ability to maintain the bot in its decision process. This bot is supposed to run continuously and, as such, will require prompt maintenance for bugs, MediaWiki software updates, and WP:CSD changes. Also, as this bot will be leaving messages on user talk pages, it is bound to receive comments, criticisms, etc. in response. Its operator needs to be available to respond to those in a timely fashion. -- JLaTondre ( talk) 23:40, 31 July 2009 (UTC) reply