Wikipedia:Bots/Requests for approval/MichaelkourlasBot


 * 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 Symbol keep vote.svg Approved.

MichaelkourlasBot
Current version: v. 4.6 (Dec. 10/09)

Operator: Michaelkourlas

Automatic or Manually assisted: Almost entirely automatic. The only manual action needed is to start the process.

Programming language(s): Visual Basic .NET 2008 Express Edition, DotNetWikiBot Framework

Source code available: Yes. See here.

Function overview: Tags new empty pages (or pages that contain just whitespace - spaces, tabs and line breaks) in the article namespace with db-a3 or db-blanked

Links to relevant discussions (where appropriate):

Edit period(s): Daily, likely for a few minutes to an hour (I have school and homework, so I'll only be able to do it every so often)

Estimated number of pages affected: About 30 sec per page, but checks to see if the last revision was 5 min ago (the time length can be changed) to allow new page patrollers to mark them first if they merit a different CSD template, and to allow the article owner to place content on the page. For actual amount of pages edited, it depends on the amount of new empty pages that have not been marked with a CSD template, and how many pages the bot is told to check.

Exclusion compliant (Y/N): Yes

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

Function details: Tags new empty pages (or pages that contain just whitespace - spaces, tabs and line breaks) from Special:NewPages (not patrolled) in the article namespace with 50 revisions or less with only one author with db-a3 (if one edit) and db-blanked (if more than one edit), and also warns contributor of tagging.

Discussion
Hey there Michaelkourlas, and thanks for offering to run a bot :). For this task, I feel there would need to be a delay on this. As we don't want to bot marking pages half a second after they are created when the creator plans to add to them. And we should also give any active new page patrollers time to see the article in-case the title merits a different CSD (e.g. ). Since both title and content can be taken into consideration when tagging for speedy deletion. Also, do you think you could start a thread at a relevant talk page (e.g. WT:CSD) asking for input? Thanks, - Kingpin13 (talk) 10:48, 18 November 2009 (UTC)
 * You bring up some very interesting issues. The first issue you brought up (about the creator needing time to add content) can be addressed using the 'Timer' control on VB.NET. The second issue could also be addressed using the timer. From the sounds of it, I will need to make a delay of about 5-10 minutes per page. This should give new page patrollers the opportunity to mark them first if they merit a different CSD template, and to allow the article owner to place content on the page. I'll also create a discussion on WT:CSD as well, creating a link to this discussion. Thanks for your comments. --Michael Kourlas (talk) 22:25, 18 November 2009 (UTC)
 * Source code updated to reflect 5 min wait. --Michael Kourlas (talk) 23:17, 18 November 2009 (UTC)
 * I do not use .net but aren't you loading the new page, then doing a hard loop for 5 minutes, then checking if the page is empty? What if the page changed in that period? I think Kingpin meant that a bot should ensure that a decent period (say 10 minutes) has elapsed since the last edit on the new page (i.e. from the timestamp). I did not study the code, but I think you are missing an "==" and a newline, to finish the header on the user page. Also, I wonder how "IsEmpty" works. Would a single space character be regarded as empty? Johnuniq (talk) 00:48, 19 November 2009 (UTC)
 * Code changed to check to see if last revision was 5 min ago. MAJOR UPDATE: Code also changed to check for if it just contains whitespace. Code also changed to make user notice make sense (i.e. added "==", etc.). Thanks for finding the bugs! --Michael Kourlas (talk) 01:24, 19 November 2009 (UTC)

More updates (bug fixes and such) --Michael Kourlas (talk) 23:13, 19 November 2009 (UTC) The db-author tag should only be added by the author of the page. Tagging main namespace articles with a3 seems OK. For other namespaces, I think it's better to manually review empty pages from a database report, and the bot shouldn't be approved to tag them for deletion. &mdash; Carl (CBM · talk) 23:21, 19 November 2009 (UTC)
 * Isn't db author added when the user explicitly blanks the page, and thus wants it deleted? Scratch that. I'll change it to db-blanked. As for the other namespaces issue, the bot only looks at articles in the main namespace (the article namespace) in the first place. --Michael Kourlas (talk) 23:53, 19 November 2009 (UTC)
 * You should probably change the bot description above to point out it only runs in mainspace, since as written the description applies to all namespaces.
 * Since your bot is only looking at new pages, if a user blanks a preexisting page then the bot not will not notice it anyway. I think db-a3 (no content) is the clearest reason to delete a new, empty article. &mdash; Carl (CBM · talk) 23:57, 19 November 2009 (UTC)
 * I'll change the description, but I don't really follow your second comment.--Michael Kourlas (talk) 00:15, 20 November 2009 (UTC)
 * I mean that although users do sometimes blank existing articles to indicate the article should be deleted, your bot is not looking at long-existing articles. So rather than interpreting a new blank page as a request to delete the existing page (db-blanked), it makes more sense to treat a new empty page as simply not having any content (db-a3). &mdash; Carl (CBM · talk) 00:15, 20 November 2009 (UTC)
 * That makes sense. OK, I'll change it. By the way, can people opt-out of user warnings for speedy delete templates through exculsion compliancy? --Michael Kourlas (talk) 01:38, 20 November 2009 (UTC)
 * Do you mean via Template:nobots? You could see if there is a type of exclusion there that is close enough, maybe the prod or afd exclusion. &mdash; Carl (CBM · talk) 01:48, 20 November 2009 (UTC)
 * Well, I don't think you can pick an exclusion that's "close enough". I think that there has to be an exclusion that expressly says "deletion templates" or "speedy deletion templates". I don't see anything like this on Template:nobots.--Michael Kourlas (talk) 15:30, 21 November 2009 (UTC)
 * I think you're right. At worst, you can just check for nobots and, if you want. &mdash; Carl (CBM · talk) 18:24, 21 November 2009 (UTC)
 * Bot now exclusion compliant. --Michael Kourlas (talk) 21:13, 21 November 2009 (UTC)
 * The bot should not be marking pages with good content in the history as . As the bot was before, it would check the history, and if the author had blanked, and was the only contributor to the page, then the bot would mark as . While I don't mind if this is taken out, I do mind if the bot is marking pages with a good history as A3. - Kingpin13 (talk) 10:22, 23 November 2009 (UTC)
 * I thought that might be a problem, so I kept the original code. I will revert it when I have time. --Michael Kourlas (talk) 13:47, 23 November 2009 (UTC)
 * Great. @Carl, You do realise that the bot will only mark as if the page was blanked by the creator, not if it is created with no content? - Kingpin13 (talk) 14:19, 23 November 2009 (UTC)
 * The bot description says, "Tags new empty pages" so I assumed that the page had to be created and then very quickly blanked for the bot to pick it up. Certainly a page that has been around for a few days and is then blanked is not a "new" page and so the bot will not be looking at those at all, according to its description. I do not think it would be reasonable to automatically tag blanked pages for deletion if they have been around for some time. The pages the bot is looking at are thus very unlikely to have much good cntent in their (short) history. &mdash; Carl (CBM · talk) 22:48, 23 November 2009 (UTC)
 * Original code restored... Carl, there may be a chance that the page has some sort of content from the beginning, and thus a blanking would make it eligible for deletion, not under A3 but under blanked (G7). (This would not be the case if there was only one edit, but the bot takes that into consideration). What Kingpin13 says makes sense, so I have reverted the code. --Michael Kourlas (talk) 23:41, 23 November 2009 (UTC)

How does the bot decide which pages are "new"? &mdash; Carl (CBM · talk) 23:42, 23 November 2009 (UTC)
 * It looks at Special:NewPages with the not patrolled flag on (i.e. it does NOT look at patrolled pages) --Michael Kourlas (talk) 03:04, 24 November 2009 (UTC)

Major bug fix released. Also some UI changes.-- Michael Kourlastalk 04:26, 3 December 2009 (UTC)
 * Great. Could you please create the templates this bot will use as user warnings. Also, I know most NPPers don't use a warning when marking as G7, but could you please make sure that this bot does? - Kingpin13 (talk) 07:35, 3 December 2009 (UTC)
 * The templates will appear as follows: -- Michael Kourlastalk 23:14, 4 December 2009 (UTC)

1) User warning for db-a3

A tag has been placed on TITLE, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it is a very short article providing no content to the reader. Please note that external links, "See also" section, book reference, category tag, template tag, interwiki link, rephrasing of the title, or an attempt to contact the subject of the article don't count as content. Please see Wikipedia:Stub for our minimum information standards for short articles. Also please note that articles must be on notable subjects and should provide references to reliable sources that verify their content. You may wish to consider using a Wizard to help you create articles - see the Article Wizard.

Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page. Feel free to leave a note on my talk page if you have any questions about this. '''This is a notice from User:MichaelkourlasBot, an automated utility. If you think it is a false positive, report it here.''' Thanks!

2) User warning for db-blanked

A tag has been placed on TITLE, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it is a blank article providing no content to the reader in the current revision and past revisions would have been candidates for speedy deletion. Please note that articles must be on notable subjects and should provide references to reliable sources that verify their content.

Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page. Feel free to leave a note on my talk page if you have any questions about this. '''This is a notice from User:MichaelkourlasBot, an automated utility. If you think it is a false positive, report it here.''' Thanks!

They look okayish, but maybe we could lose the warning graphics? I presume you mean "Db-a3" for the first one? Also, in the blanked warning, it says that previous revisions would have been candidates for speedy deletion, how will the bot identify this? Also, the author should be free to remove the G7 tag themselves, - Kingpin13 (talk) 08:46, 4 December 2009 (UTC)
 * I updated them. See below. -- Michael Kourlastalk 23:13, 4 December 2009 (UTC)

1) db-a3

A tag has been placed on PAGE by an automated utility (bot), requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader in the only revision of the page. Please note that articles must be on notable subjects and should provide references to reliable sources that verify their content. Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think this is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).

2) db-blanked

A tag has been placed on PAGE by an automated utility, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader. It also seems that you blanked the article as well, possibly as an attempt to delete the page. Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page.. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think this is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).

Do you still want the G7 warning to ask the user not to remove the tag them self? Also, I think that if the user talk is redlinked, then it would be a good idea to add a welcome before the warning - Kingpin13 (talk)
 * All suggestions now implemented. -- Michael Kourlastalk 18:06, 5 December 2009 (UTC)

1) db-a3 non welcome

A tag has been placed on PAGE by an automated utility (bot), requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader in the only revision of the page. Please note that articles must be on notable subjects and should provide references to reliable sources that verify their content. Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think this is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).

2) db-a3 welcome

Hello,, and welcome to Wikipedia! I hope you like the place and decide to stay. Unfortunately, one of the pages you created (PAGE) has been tagged by an automated utility, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader in the only revision of the page. Please note that articles must be on notable subjects and should provide references to reliable sources that verify their content. Please do not remove the speedy deletion tag yourself. If you plan to expand the article, you can request that administrators wait a while for you to add contextual material. To do this, affix the template   to the page and state your intention on the article's talk page. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think this is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).

3) db-blanked non welcome

A tag has been placed on PAGE by an automated utility, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader. It also seems that you blanked the article as well, possibly as an attempt to delete the page. Usually, speedy deletion tags should only be removed by administrators. However, since you are the only contributor to the page, and since the page was tagged under the assumption that you wanted it deleted, you may remove it yourself if you plan to expand or recreate the article. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think it is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).

4) db-blanked welcome

Hello,, and welcome to Wikipedia! I hope you like the place and decide to stay. Unfortunately, one of the pages you created (PAGE) has been tagged by an automated utility, requesting that it be speedily deleted from Wikipedia. This has been done under the criteria for speedy deletion, because it seems to be a blank article providing no content to the reader. It also seems that you blanked the article as well, possibly as an attempt to delete the page. Usually, speedy deletion tags should only be removed by administrators. However, since you are the only contributor to the page, and since the page was tagged under the assumption that you wanted it deleted, you may remove it yourself if you plan to expand or recreate the article. '''This is a notice from User:MichaelkourlasBot, an automated utility (bot). If you think it is a false positive, report it here.''' Thanks, MichaelkourlasBot (talk) 16:25, 5 December 2009 (UTC).


 * Great. I'm just going to have a quick look through your code, and hen, since we haven't had any opposition, it looks like we'll be ready for a trial. - Kingpin13 (talk) 19:01, 5 December 2009 (UTC)


 * Okay, the code looks fairly good, I spotted a couple of problems; the way you are doing the edit summary atm is slightly wrong. The Page.comment is actually for the last edit summary made (a bit like the Page.lastUser), the edit summary should actually be placed as a parameter of Page.Save (e.g. i.Save("edit summary", false), with the false boolean making it a non-minor edit). Also, to be on the safe side, check after loading the page history list whether the page has >= 50 revs, and if so skip it (since the bot won't actually be checking all the revisions if the page has more then 50). Instead of If spanFromMinutes.Minutes >= 5 Then you should use spanFromMinutes.TotalMinutes. Your catch code has an exception, because it is trying to access the log.txt while the other writer is still open (because it is being used by another process). And when the page is deleted, the Page.text = ""; so the bot thinks the page is empty (it is :D). And has an error when it tries to load the page history (because the page is deleted). The easiest way to catch this is, after loading the page history, run the following code:


 * Hope all of that helps Let me know once you've fixed these :) - Kingpin13 (talk) 20:03, 5 December 2009 (UTC)
 * All fixed except one: how do I check all the revisions of a particular page? I can't say to find "all", I have to specify a number. -- Michael Kourlastalk 21:44, 5 December 2009 (UTC)
 * I decided to implement a failsafe -- if the page has 51 revisions, the bot will skip it. New pages shouldn't have more than 50 revisions anyway, so the chance that this will happen is almost zero. However, it's better to be safe than sorry. All code fixed. -- Michael Kourlastalk 13:34, 6 December 2009 (UTC)

Added new feature to prepare bot for trial. -- Michael Kourlastalk 18:54, 6 December 2009 (UTC)

Let's see how it does - Kingpin13 (talk) 16:31, 7 December 2009 (UTC)
 * Thanks. -- Michael Kourlastalk 00:44, 8 December 2009 (UTC)

Bot progress
Something weird has happened. It added a speedy deletion template correctly, but made no mention of it in the logs, or warned the user. I don't understand it. Will continue. -- Michael Kourlastalk 00:44, 8 December 2009 (UTC)

Well, at this point, around 20 000 page checks and only one edit to show for it (see above). I'll sign off for the day. -- Michael Kourlastalk 01:29, 8 December 2009 (UTC)

Two SERIOUS problems that have arose: a) DotNetWikiBot reports page edit time as 12:00:00 -- ALWAYS. Thus, it cannot check for 5 min revision rule. b) DotNetWikiBot reports page contents of user page as EMPTY -- ALWAYS (yet it replaces all the content on the page!). Thus, it cannot add user warnings. HELP! -- Michael Kourlastalk 00:39, 9 December 2009 (UTC) BAGAssistanceNeeded
 * Ah yes, I should have spotted these problems when I looked at the code; DotNetWikiBot will only load the edit time if you use the Page.LoadEx method, as oppose to Page.Load. As for the user talk page not loading that's because you need to call userpage.Load. HTH - Kingpin13 (talk) 13:34, 9 December 2009 (UTC)
 * It works now! I just completed a test to make sure on my own userpages... YES!!! Thanks very much! -- Michael Kourlastalk 22:19, 9 December 2009 (UTC)



First real edits here and here. They both work and were totally automated! Looks like the bot works now. :-) -- Michael Kourlastalk 22:44, 9 December 2009 (UTC)


 * Brilliant. Another thought just occurred to me; you should add the MichaelkourlasBot parameter to the CSD template. - Kingpin13 (talk) 09:25, 10 December 2009 (UTC)


 * OK. Done -- Michael Kourlastalk – contribs 23:22, 10 December 2009 (UTC)

SC too large to be uploaded; only uploaded bot.vb. -- Michael Kourlastalk – contribs 23:52, 10 December 2009 (UTC)



I suppose at this point it's over. Overall, these are the things that I have learned from this trial:

a) The bot works b) There are not a whole lot of pages that meet its criteria, though

Where to from here?

-- Michael Kourlastalk – contribs 03:45, 13 December 2009 (UTC)


 * Depends what you want :D. Are you happy with it as is? - Kingpin13 (talk) 17:01, 16 December 2009 (UTC)
 * I'm happy with its progress and current state.-- Michael Kourlastalk – contribs 21:47, 16 December 2009 (UTC)

Great, it looks fine to me. Hope to see you at BRfA again in the future :) - Kingpin13 (talk) 16:04, 18 December 2009 (UTC)
 * 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.