---
name: "POE::Component::IRC::Plugin::BotAddressed"
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::BotAddressed"
---

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

A PoCo-IRC plugin that generates events when you are addressed

## NAME

POE::Component::IRC::Plugin::BotAddressed - A PoCo-IRC plugin that generates events when you are addressed

## SYNOPSIS

```
 use POE::Component::IRC::Plugin::BotAddressed;
 $irc->plugin_add( 'BotAddressed', POE::Component::IRC::Plugin::BotAddressed->new() );
 sub irc_bot_addressed {
     my ($kernel, $heap) = @_[KERNEL, HEAP];
     my $nick = ( split /!/, $_[ARG0] )[0];
     my $channel = $_[ARG1]->[0];
     my $what = $_[ARG2];
     print "$nick addressed me in channel $channel with the message '$what'\n";
 }
 sub irc_bot_mentioned {
     my ($nick) = ( split /!/, $_[ARG0] )[0];
     my ($channel) = $_[ARG1]->[0];
     my ($what) = $_[ARG2];
     print "$nick mentioned my name in channel $channel with the message '$what'\n";
 }
```

## DESCRIPTION

POE::Component::IRC::Plugin::BotAddressed is a POE::Component::IRC plugin. It watches for public channel traffic (i.e. `"irc_public"` and `"irc_ctcp_action"`) and will generate an `"irc_bot_addressed"`, `"irc_bot_mentioned"` or `"irc_bot_mentioned_action"` event if its name comes up in channel discussion.

## METHODS

### "new"

One optional argument:

**'eat'**, set to true to make the plugin eat the `"irc_public"` / `"irc_ctcp_action"` event and only generate an appropriate event, default is false.

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

## OUTPUT EVENTS

### "irc\_bot\_addressed"

Has the same parameters passed as `"irc_ctcp_public"`. `"ARG2"` contains the message with the addressed nickname removed, ie. Assuming that your bot is called LameBOT, and someone says 'LameBOT: dance for me', you will actually get 'dance for me'.

### "irc\_bot\_mentioned"

Has the same parameters passed as `"irc_public"`.

### "irc\_bot\_mentioned\_action"

Has the same parameters passed as `"irc_ctcp_action"`.

## AUTHOR

Chris 'BinGOs' Williams \<chris@bingosnet.co.uk\>
