/**
     * @param \Phergie\Irc\Event\UserEvent $event
     * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue
     */
    public function handleIrcReceived(UserEvent $event, Queue $queue)
    {
        $params = $event->getParams();
        $message = $params['text'];
        $termPattern = '\\S+?|\\([^<>]+?\\)+';
        $actionPattern = '(?P<action>\\+\\+|--)';
        $modifyPattern = <<<REGEX
        {^
        (?J) # allow overwriting capture names
        \\s*  # ignore leading whitespace
        (?:  # start with ++ or -- before the term
            {$actionPattern}
            (?P<term>{$termPattern})
        |   # follow the term with ++ or --
            (?P<term>{$termPattern})
            {$actionPattern} # allow no whitespace between the term and the action
        )
        \$}ix
REGEX;
        $versusPattern = <<<REGEX
        {^
            (?P<term0>{$termPattern})
                \\s+(?P<method><|>)\\s+
            (?P<term1>{$termPattern})\$#
        \$}ix
REGEX;
        $match = null;
        if (preg_match($modifyPattern, $message, $match)) {
            $this->modifyKarma($match['term'], $match['action'], $event, $queue);
        } elseif (preg_match($versusPattern, $message, $match)) {
            $term0 = trim($match['term0']);
            $term1 = trim($match['term1']);
            $method = $match['method'];
            $this->compareKarma($term0, $term1, $method, $event, $queue);
        }
    }
 public function handleIrcReceived(UserEvent $event, EventQueue $queue)
 {
     $params = $event->getParams();
     $extractor = new \Twitter_Extractor($params['text']);
     $urls = $extractor->extractURLs();
     foreach ($urls as $url) {
         $this->handleUrl($url, $event, $queue);
     }
 }
 public function handleIrcReceived(UserEvent $event, EventQueue $queue)
 {
     $params = $event->getParams();
     $extractor = new \Twitter_Extractor($params['text']);
     $urls = $extractor->extractURLs();
     foreach ($urls as $url) {
         if ($this->filter !== null && $this->filter->filter(new UrlEvent($url, $event)) !== false) {
             continue;
         }
         $this->handleUrl($url, $event, $queue);
     }
 }