Download the PHP package phergie/phergie-irc-plugin-react-eventfilter without Composer
On this page you can find all versions of the php package phergie/phergie-irc-plugin-react-eventfilter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package phergie-irc-plugin-react-eventfilter
This project is abandoned
This repo is being kept for posterity and will be archived in a readonly state. If you're interested it can be forked under a new Composer namespace/GitHub organization.
phergie/phergie-irc-plugin-react-eventfilter
Phergie plugin for limiting processing of incoming events based on event metadata.
Install
The recommended method of installation is through composer.
See Phergie documentation for more information on installing and enabling plugins.
Configuration
The 'plugins'
setting specifies a list of one or more plugins for which event
processing will be limited.
The 'filter'
setting specifies an object that determines which events will
be forwarded to the plugins referenced by the 'plugins'
setting.
Usage
This is an example bot configuration that includes the EventFilter plugin:
Supported Filters
All filters supported by this plugin are under the
\Phergie\Irc\Plugin\React\EventFilter
namespace.
Metadata Filters
These filters are based on metadata for incoming events.
ChannelFilter
Allows events that are either not channel-specific or originate from one of a specified list of channels.
ConnectionFilter
Allows events that originate from one of a specified list of connections
represented by objects that implement \Phergie\Irc\ConnectionInterface
.
UserFilter
Allows events that are either not user-specific or originate from one of a specified list of users identified by strings containing user masks.
UserModeFilter
Allows events that are either not user-specific or originate from users with any of a specified list of modes within the channel in which the events occur. This mode information is obtained using the UserMode plugin.
Common mode values:
- q - owner
- a - admin
- o - op
- h - halfop
- v - voice
Boolean Filters
These filters are applied to other filters to combine or change their results in some way.
AndFilter
Allows events that pass all contained filters, equivalent to the boolean "and" operator.
This example allows events that occur both within the specified channels and on the specified connection.
OrFilter
Allows events that pass any contained filters, equivalent to the boolean "or" operator.
This example allows events that are initiated by a user either identified by the specified user mask or with the op user mode.
NotFilter
Allows events that do not pass the contained filter, equivalent to the boolean "not" operator.
This example allows events that do not originate from the user identified by the specified user mask, effectively functioning as a ban list with respect to functionality of the EventFilter plugin's contained plugins.
Custom Filters
Filters are merely classes that implement
FilterInterface
.
This interface has a single method, filter()
, which accepts an event object
that implements EventInterface
as its only parameter and returns one of the following values:
true
if the event should be allowedfalse
if the event should be deniednull
if the event should be ignored by the filter ("pass-through")
Tests
To run the unit test suite:
License
Released under the BSD License. See LICENSE
.