Wikipedia:Bots/Requests for approval/ChzzBot II
- 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: Chzz (talk · contribs)
Time filed: 04:36, Wednesday March 30, 2011 (UTC)
Automatic or Manually assisted:
Programming language(s): c#
Source code available: No
Function overview: Clears sandbox Wikipedia:Sandbox ie reinstates header
Links to relevant discussions (where appropriate):
Edit period(s): every minute, when running
Estimated number of pages affected: 1
Exclusion compliant (Y/N): N/A
Already has a bot flag (Y/N): N
Function details:
The Wikipedia:Sandbox is normally cleared by SoxBot (talk · contribs) like this.
A few hours ago, I noticed it hadn't been cleared for some days.
So, I wrote a simple c# bot, to check if the page began with the string, {{Sandbox heading}} <!-- Please leave this line alone! -->\n\n<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->".
If it doesn't, it overwrites sandbox with that string.
Note: I made it pause, and ask me to check. Thus, I hope I have not contravened any policies; I only tested it a few times, and checked, by hand.
That seems to solve the immediate crisis.
It could/should be refined - to clear the sandbox regardless after x hours, and to make sure it doesn't battle if some other header is introduced. The "standard header" is probably stored somewhere; I should look into that.
If/when sox starts up again, I can drop this.
But meanwhile - for the sake of correctness - I'm seeking approval.
Example of use (as I say...I'm checking these edits, every one):
- Sandbox clear [1]
- A 'good edit' (not changing the header) ignored [2]
- A 'bad edit' (removing the header) [3]
- Overwritten by me [4]
So I'm seeking permission to leave this running, every minute or so, without me checking it each time.
I'll make the new user account, ChzzBot II (talk · contribs), for the purpose, right now.
Chzz ► 04:37, 30 March 2011 (UTC)[reply]
Discussion
[edit]Please approve (for trial, or whatever) ASAP, so I can leave this running, and have a bit of a sleep or something :-) Thanks, Chzz ► 05:11, 30 March 2011 (UTC)[reply]
Approved for trial (1 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Quick trial, but needs a lot of refinement before final approval - Kingpin13 (talk) 05:47, 30 March 2011 (UTC)[reply]
- OK. Further to our discussion.
- For now - it is checking every 60 seconds, and if the header is missing, it replaces it, and then sleeps for 5 minutes before resuming the 60-sec checks.
- There are various ways we could refine it; we could make it not clear if someone has edited within the last 'n' minutes. But, of course, people might well be editing every minute - so it'd never clear it.
- Or, we could record the time when the header was noticed as 'missing' and not replace it if someone has edited within the last 'n' minutes AND if less than 'x' minutes has passed. n = 3, x = 15, maybe?
- I can add that kind of thing, no problem - when I find time, in the next few days.
- Alternatively, X!'s might come back.
- Keep in touch; let me know what you want. I'll be checking back here. Cheers, Chzz ► 06:10, 30 March 2011 (UTC)[reply]
- Here's what I imagine would be the best way for the bot to work:
- Loop through:
- Sleep ~3 seconds.
- continue if last edit was made by the bot
- if the last edit was more than n (say ~5) minutes ago then clear the sandbox completely and continue
- if the sandbox is missing the header, then prepend the header immediately (but do not clear) and continue.
- I feel that this method of keeping the sandbox tidy makes most sense. - Kingpin13 (talk) 07:02, 30 March 2011 (UTC)[reply]
- Prepending makes sense, as long as it is still fully-cleared periodically. I think fully-clearing if not used for 5 mins is a bit over-the-top; quite often, new users go >5 mins between edits. But...let me think about it more, and I will add flexible code (so the exact numbers can be fiddled with), and decent logging (so we can see what happens).
- In the c. 4.5 hours it has been running (with the very simple settings), it has reinstated the header nine times.
- I'll work on it, and report back here within a day (leaving it running as-is, for now) Chzz ► 11:45, 30 March 2011 (UTC)[reply]
The bot has been running (in this crude manner) since we spoke, and it's made 33 edits to clear the sandbox.
I've been watching them - and now think I have a fair idea of the best approach.
I need to formulate it; along the lines of - only prepending the header instead of clearing the box, when appropriate. Checking the last edit, avoiding removing recent things...but, periodically (hourly?) clearing older things; checking for people posting bits before/between the header...and things.
I intend to work on that, over the coming few days. In the meantime, I beg time to work on it - and leave it running. It's made 33 edits, so far; it's unlikely to go crazy-ape-shit mad.
Please let me know if that is OK.
I'm watching it closely, and working to make it good. Chzz ► 02:52, 31 March 2011 (UTC)[reply]
- Approved for extended trial (7 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. - Kingpin13 (talk) 03:21, 31 March 2011 (UTC)[reply]
Thanks for taking up that task Chzz, could you also consider my request to incorporate Wikipedia:Introduction, see Wikipedia:Bot_owners'_noticeboard#Sandbox_bots. Cenarium (talk) 22:34, 31 March 2011 (UTC)[reply]
- Working on it; delayed a bit, because my PC exploded :-(
- New PC on order, and for now I'm doing what I can with a crappy ancient laptop.
- I'll have a stable, documented bot within the timeframe allocated, though. And it can develop from there
- Cernaium, yes; there's a number of sandboxes; it'll allow for a list of 'em, somewhere - with parameters for the header, and such. Chzz ► 15:26, 1 April 2011 (UTC)[reply]
In brief: It's done. It makes sure the heading stays in place (continuously), and clears the sands (hourly, for now). Of course, you can see what it's been up to, in contribs. ChzzBot II (talk · contribs) Whoever reviews this request, please see User:ChzzBot II/doc for more details. I'm still monitoring it closely, configuring it to run the clearance regularly, and tweaking things - but I'd hope it is OK for approval. Of course, if I make any significant changes, common sense will tell me to re-request, etc. If you think settings (timings) should be tweaked, or anything else amended, just let me know. Chzz ► 18:48, 6 April 2011 (UTC)[reply]