[development] Druplicon IRC bot needs yer channels! Help stress test new code!

Aaron Winborn winborn at advomatic.com
Fri May 8 17:34:47 UTC 2009

Great work, as always! Is there a 'channels?' factoid or other method to 
learn the channels that Druplicon has joined?

Morbus Iff wrote:
> As some of you know, Druplicon has been "full" for awhile, as I've 
> denied any new channel joins due to the bot having reached a threshold 
> that caused it to choke on handshakes. Some of you may have even 
> recalled this factoid:
>   [13:06]  <Druplicon> When I first start, I'm in so many channels that
>   it takes me a long time to cache all the necessary user info. This is
>   not a fault of my code, but rather that I'm in 20+ channels. This
>   handshaking causes me to be initially unresponsive for 2+ minutes and,
>   if you directly address me, I may flood.
> I have just applied code to hopefully fix this problem.
> The inline comments should explain the change suitably:
>   When the bot has a number of channels to join (nearing 20+), the
>   initial handshake, where it retrieves information about every user in
>   every channel, can cause it to overload and disconnect. To solve this,
>   we join channels every 15 seconds instead, which gives some breathing
>   room for the nick caching to take place. A nice side-effect of this is
>   that if the bot errors out of a channel, or a new channel is added to
>   the list, it'll automatically (re)connect without needing a restart.
> This now means that for every restart, Druplicon will take a longer 
> time to join every channel (15 seconds * NUMBER_OF_CHANNELS), but it 
> should be able to join far more. And, one of the primary reasons for 
> restarting Druplicon in the first place was to have it join new 
> channels - this restart should no longer be necessary due to the above 
> changes (due to the variables cache being cleared every five minutes, 
> which would cause the new code to detect newly-added channels and 
> autojoin them).
> So, what I need is:
>  * All those people I said "No Druplicon for you!" to ask me again.
> I'd like to stress test things by adding him to every channel 
> requested and see where the next major chokepoint will be. [Note: this 
> is a problem unique to Druplicon - I don't know of many IRC bots who 
> are in more than 20 channels, much less those who are requested to be 
> in, easily, 30 or more. That's how widespread our channels are.]

Aaron Winborn

Advomatic, LLC

Drupal Multimedia available in September!

My blog:

More information about the development mailing list