2017 © Pedro Peláez
 

library phergie-irc-plugin-react-command

Phergie plugin for parsing commands issued to the bot

image

phergie/phergie-irc-plugin-react-command

Phergie plugin for parsing commands issued to the bot

  • Sunday, April 30, 2017
  • by elazar
  • Repository
  • 4 Watchers
  • 1 Stars
  • 4,232 Installations
  • PHP
  • 31 Dependents
  • 2 Suggesters
  • 5 Forks
  • 1 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

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., (*1)

phergie/phergie-irc-plugin-react-command

A plugin for Phergie to parse commands issued to the bot., (*2)

A common plugin to use in combination with this one is the CommandHelp plugin, which provides information about available commands and their usage to users., (*3)

Build Status, (*4)

Install

The recommended method of installation is through composer., (*5)

composer require phergie/phergie-irc-plugin-react-command

See Phergie documentation for more information on installing plugins., (*6)

Configuration

new \Phergie\Irc\Plugin\React\Command\Plugin(array(

    // Select how you'd like the command to be triggered. 
    // Only 1 method supported at a time so make sure to remove unused methods.

    'prefix' => '!', // string denoting the start of a command

    // or

    'pattern' => '/^!/', // PCRE regular expression denoting the presence of a
                         // command

    // or

    'nick' => true, // true to match common ways of addressing the bot by its
                    // connection nick

))

Usage

This plugin monitors PRIVMSG and NOTICE events attempting to locate commands. When it finds one, it emits a custom event: 'command.COMMAND' where COMMAND is the matched command. Other plugins can subscribe to these events to be notified when a command is received., (*7)

Event parameters include an instance of CommandEvent (a subclass of UserEvent) that contains data about the parsed command and any other parameters that accompanied the original event that contained the command (e.g. an object that implements EventQueueInterface)., (*8)

Here's an example of a plugin that handles a 'foo' command:, (*9)

use Phergie\Irc\Plugin\React\Command\CommandEvent;
use Phergie\Irc\Bot\React\EventQueueInterface;
use Phergie\Irc\Bot\React\PluginInterface;

class FooPlugin implements PluginInterface
{
    public function getSubscribedEvents()
    {
        return array('command.foo' => 'handleFooCommand');
    }

    public function handleFooCommand(CommandEvent $event, EventQueueInterface $queue)
    {
        $commandName = $event->getCustomCommand();
        $fooParams = $event->getCustomParams();
        // ...
    }
}

In its getSubscribedEvents() implementation, this plugin indicates that it will listen for 'command.foo' events emitted by the Command plugin., (*10)

It specifies handleFooCommand() as the method for handling those events. Among this method's parameters is $event, an instance of the Command plugin's special CommandEvent class., (*11)

handleFooCommand() invokes two methods of $event: getCustomCommand(), which returns the command that was received ('foo' in this case) and is primarily useful when the same method is used to handle multiple commands, and getCustomParams(), which returns parameters specified when the command was issued., (*12)

Let's say the Command plugin is used with no configuration and receives this IRC event:, (*13)

PRIVMSG #channel foo bar "two words" baz, (*14)

It will emit the 'command.foo' event. The $event parameter sent to a handler method for that event will return 'foo' when its getCustomCommand() method is called and array('bar', 'two words', 'baz') when its getCustomParams() method is called., (*15)

Tests

To run the unit test suite:, (*16)

curl -s https://getcomposer.org/installer | php
php composer.phar install
./vendor/bin/phpunit

License

Released under the BSD License. See LICENSE., (*17)

The Versions

30/04 2017

dev-master

9999999-dev

Phergie plugin for parsing commands issued to the bot

  Sources   Download

BSD-2-Clause

The Requires

 

The Development Requires

plugin bot irc react

21/12 2015

2.0.0

2.0.0.0

Phergie plugin for parsing commands issued to the bot

  Sources   Download

BSD-2-Clause

The Requires

 

The Development Requires

plugin bot irc react

15/12 2014

1.1.0

1.1.0.0

Phergie plugin for parsing commands issued to the bot

  Sources   Download

BSD-2-Clause

The Requires

 

The Development Requires

plugin bot irc react

20/04 2014

1.0.0

1.0.0.0

Phergie plugin for parsing commands issued to the bot

  Sources   Download

BSD-2-Clause

The Requires

 

The Development Requires

plugin bot irc react