---
name: "POE::Component::IRC::Plugin::CycleEmpty"
section: "3pm"
platform: "linux"
package: "libpoe-component-irc-perl"
version: "6.93+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Component::IRC::Plugin::CycleEmpty"
---

# POE::Component::IRC::Plugin::CycleEmpty(3pm)

A PoCo-IRC plugin which cycles channels if they become empty and opless.

## NAME

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

## SYNOPSIS

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

## DESCRIPTION

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.

## METHODS

### "new"

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

### "is\_cycling"

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.

## AUTHOR

Hinrik Örn Sigurðsson, hinrik.sig@gmail.com
