Wikipedia:Bots/Requests for approval/StatusBot 2


 * The following discussion is an archived debate. Please do not modify it. Subsequent comments should be made in a new section. The result of the discussion was Symbol oppose vote.svg Withdrawn by operator.

StatusBot
Operator: TheFearow

Automatic or Manually Assisted: Automatic

Programming Language(s): Java

Function Summary: See function details

Edit period(s) (e.g. Continuous, daily, one time run): Continuous

Edit rate requested: 6 edits per minute maximum

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

Function Details: In the same manner as task one updates User:StatusBot/Status/USERNAME, this bot updates User:StatusBot/Status/USERNAME/IRC based on whether they are online on IRC. It is (at this point in time) intended for use on the CVU task force templates, which have both a wiki status and IRC status field. It will refresh its member list every minute (read only) and update the status as soon as a listed user joins or quits. It will idle in #wikipedia, and #wikipedia-en. Matt/TheFearow (Talk) (Contribs) (Bot) 04:08, 16 August 2007 (UTC)

Discussion

 * Can it be made idle on #vandalism-en-wp as well? Tito xd (?!? - cool stuff) 04:10, 16 August 2007 (UTC)
 * Yep, I just put down two channels that seemed appropriate. I'll make it idle in any necessary channels. Matt/TheFearow (Talk) (Contribs) (Bot) 04:12, 16 August 2007 (UTC)


 * I'd suggest #wikipedia-en-cvu as well (may be time to revive that channel). The language seems odd, this entire bot will operate in Java? —  xaosflux  Talk 04:13, 16 August 2007 (UTC)
 * Yep, I use java for all my bots :) It's a great language, plus I know a huge amount about it. Matt/TheFearow (Talk) (Contribs) (Bot) 04:14, 16 August 2007 (UTC)
 * To clarify two things - it will idle in any necessary channel, I can make it join others once done. Also, I am using standard app/terminal java, not applets, if you got mixed up. Matt/TheFearow (Talk) (Contribs) (Bot) 04:15, 16 August 2007 (UTC)


 * Watching Join/Parts, even coupled with NAMES or LIST can be error-prone, if you plan on running frequent requests the irc ISON command is cheaper. —  xaosflux  Talk 04:15, 16 August 2007 (UTC)
 * It waits another minute before updating, so quick rejoins/restarts shouldnt be a huge hassle. However, what is the other command, and is it simple to use? Matt/TheFearow (Talk) (Contribs) (Bot) 04:17, 16 August 2007 (UTC)

/ison xaosflux fluxbot titoxd wdefconbot Yields all the people listed that are online now :calvino.freenode.net 303 xaosflux :xaosflux Titoxd WdefconBot . —  xaosflux  Talk 04:18, 16 August 2007 (UTC)
 * e.g.:
 * There is an eventual line limit, but multiple lines can be used. It is IRC global (maybe a negative?) in that it doesn't care what channel you are in. —  xaosflux  Talk 04:20, 16 August 2007 (UTC)


 * The issue is then I have to poll it - monitoring live parts/joins is a lot easier, and quicker. Matt/TheFearow (Talk) (Contribs) (Bot) 04:21, 16 August 2007 (UTC)
 * After IRC chat, scratch the ISON stuff. —  xaosflux  Talk 04:36, 16 August 2007 (UTC)


 * Need to clarify how Wikiusernames will be matched to IRC nicks still: (—  xaosflux  Talk 04:36, 16 August 2007 (UTC))


 * Two methods, I have to choose out of them: 1) Check for name in closk, hostmask, or nick (any of the three), 2) User subpage of StatusBot containing your IRC nick. Matt/TheFearow (Talk) (Contribs) (Bot) 04:39, 16 August 2007 (UTC)
 * Go with the subpage. Much safer. ~   Wi ki  her mit  15:56, 16 August 2007 (UTC)

I still think ISON would be the best option. Even if it waits a minute to make sure the user isn't stuck in the revolving door, you don't need to edit the status page within a minute. Just poll ISON every five minutes. Sorry I wasn't in the IRC chat. Anyhow, as of r504, BUFSIZE is 512, in response to xaosflux's mention of a line limit. — madman bum and angel 18:12, 16 August 2007 (UTC)

Here's a random thought. Perhaps an idea for another bot if you really wanted instantaneous updates. Have the IRC bot synchronize to the channels it's in (maintain the internal user list). Many IRC client libraries do this automatically, and I'd highly recommend using them since they're established code. Have a PHP script on your server which checks to see if the user is online or offline. I'd use memcached to do that quickly, but you could use MySQL. Return one of two images (e.g., a green light if online, a red light if offline.) Then that image could be used on a user page. Always current, though if you were overloaded, you could have the client cache it for a bit. — madman bum and angel 18:16, 16 August 2007 (UTC)


 * Oh. Right.  No external images.  Neeeever mind.  (I'm going out to lunch right now; my brain has clearly preceded me.)  Damn.  I loved the thought.  (Implements it on his own site.) — madman bum and angel 18:17, 16 August 2007 (UTC)


 * I have a question. Would it be possible to have the Bot distinguish between reverts and other contribs. Perhaps you could install a function so that it would incorporate a "yellow" busy status as well as the online offline. I know it is a bit off topic, but could it be done? -- Tλε Rαnδom Eδιτor  ( tαlk ) 19:43, 16 August 2007 (UTC)
 * That wouldn't be too hard I would think, it could check and see if the user reverts back to the same number of bytes within the last 48 hours or so. The only problem is the bot would have to read a lot of the wiki, and it's indeed to be a simpler "user here, user not here" kind of bot. ~   Wi ki  her mit  19:50, 16 August 2007 (UTC)
 * Also, as far as I know, StatusBot reads requests for any user, not just those RC-patrolling. Tito xd (?!? - cool stuff) 19:51, 16 August 2007 (UTC)
 * The only reason I asked was because a template that has been created to tell whether certain members of the CVU are online has a online for vandal fighting and offline function. Some editors wanted a busy status to essentially state that they were doing other things instead of rving vandalism. The only way to distinguish the difference without having to edit a page every time was to include this function in a bot. -- Tλε Rαnδom Eδιτor  ( tαlk ) 19:55, 16 August 2007 (UTC)
 * But I understand how much more of a strenous load it would put on the bot. -- Tλε Rαnδom Eδιτor  ( tαlk ) 19:59, 16 August 2007 (UTC)
 * The bot is made to be as flexible and extensible as possible - also, checking if they were rv's would triple the SQL times - which already take a good 5 seconds. It could be written as a seperate task for the CVU, but right now a simple online/offline seems to suffice. Also, you were probably meaning the standard online/offline bot, at Bots/Requests for approval/StatusBot, this one is just for the IRC part.
 * Regarding ISON, there are three main reasons for not using it, that I discussed with xaosflux. 1: I then have to poll, which takes up more processing cycles than waiting for the JOIN's and PART's which are handled asychronyous by the IRC framework. 2: My IRC framework I am using would be very hard to customise to allow ISON's properly. 3: Some users idle connected to the server but not in any channels when offline, and ISON and related commands are server-wide, not channel specific. Matt/TheFearow (Talk) (Contribs) (Bot) 21:14, 16 August 2007 (UTC)
 * That's cool. It was just a thought, and I'm implementing an implementation of my more advanced idea on my network to show network operators' online/offline status.  :) — madman bum and angel 03:33, 17 August 2007 (UTC)
 * Yeah. So, whats the story with this bot? Can I get approved for a trial? Matt/TheFearow (Talk) (Contribs) (Bot) 03:41, 17 August 2007 (UTC)
 * Looks fine to me - . Your first task seems to be working fine, so no real reason this shouldnt! Reedy Boy 09:47, 17 August 2007 (UTC)
 * Lovely - all my BRFA's get approved Friday's or Saturdays's, when I can't get back to my main dev computer until Monday. This always happens! Anyone have any questions that would take 3 days to answer? Matt/TheFearow (Talk) (Contribs) (Bot) 10:03, 17 August 2007 (UTC)
 * When the request goes in on thursday, its to be expected ;) Reedy Boy 10:27, 17 August 2007 (UTC)
 * Normally I do non-basic tasks, so it takes at least 3 days of discussion+1 day of no-one responding. Matt/TheFearow (Talk) (Contribs) (Bot) 10:29, 17 August 2007 (UTC)
 * I'll bite. Can the bot produce a centralized listing, based on the first and second task info, by crawling a category of users who are shown as "online", via ustatus or something like the status template on my sandbox? Tito xd (?!? - cool stuff) 20:01, 17 August 2007 (UTC)
 * Probably easier to just add ustatus or a similair template to the list - barely any space, and you could include it in a "list item" template to use even less room. Matt/TheFearow (Talk) (Contribs) (Bot) 10:10, 18 August 2007 (UTC)

What subpage will the bot use to match your IRC nick to your wikipedia one? And also, which channels will it monitor? Nathanww 19:32, 20 August 2007 (UTC)
 * I'm still deciding, it'll most likely be /IRC/Nick off your status page. See the discussion above for the channels it will monitor, but to be quick: #wikipedia, #wikipedia-en, #wikipedia-en-vandalism, #wikipedia-en-cvu. Matt/TheFearow (Talk) (Contribs) (Bot) 21:14, 20 August 2007 (UTC)


 * Matt/TheFearow (Talk) (Contribs) (Bot) 05:25, 25 August 2007 (UTC)


 * The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made in a new section.