POE::Component::IRC::Plugin::CycleEmpty - A PoCo-IRC plugin which cycles channels if they become empty and opless.


 use POE::Component::IRC::Plugin::CycleEmpty;

 $irc->plugin_add('CycleEmpty', POE::Component::IRC::Plugin::CycleEmpty->new());


POE::Component::IRC::Plugin::CycleEmpty is a POE::Component::IRC plugin. When a channel member quits, gets kicked, or parts, the plugin will cycle the channel if the IRC component is alone on that channel and is not a channel operator. If there was a topic or a key set on the channel, they will be restored upon rejoining.

This is useful for regaining ops in small channels if the IRC network does not have ChanServ or IRCNet's +R channel mode.

This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof.



Returns a plugin object suitable for feeding to POE::Component::IRC's plugin_add method.


One argument:

A channel name

Returns 1 if the plugin is currently cycling that channel, 0 otherwise. Useful if need to ignore the fact that the Component just parted the channel in question.


Hinrik Örn Sigurðsson,