Example #1
0
 public function onNotice(Event $event)
 {
     $msg = $event->getMessage();
     if (isset($msg['nick']) && $msg['nick'] === 'NickServ' && $msg['params']['text'] === 'Password accepted - you are now recognized.') {
         $event->getDispatcher()->dispatch('nickserv.identified', $event);
     }
 }
Example #2
0
 /**
  * @param Event $event
  */
 public function onMessage(Event $event)
 {
     $msg = $event->getMessage();
     $matches = [];
     if ($msg->isInChannel() && $msg->matchText($this->getMessagePattern(), $matches)) {
         $this->processMessage($matches, new ChannelContext($event));
     }
 }
Example #3
0
 /**
  * @param Event $event
  */
 public function onPing(Event $event)
 {
     $pongMessage = $event->getMessage()['params']['server1'];
     $event->getWriteStream()->ircPong($pongMessage);
 }
Example #4
0
 /**
  * @param Event $event
  */
 public function __construct(Event $event)
 {
     $this->channel = $event->getMessage()->getSource();
     $this->writeStream = $event->getWriteStream();
     $this->logger = $event->getLogger();
 }
Example #5
0
 /**
  * Debugging function
  *
  * @param  Event  $event Event object
  */
 public function onPrivmsg(Event $event)
 {
     if ($this->debug === false) {
         return;
     }
     $msg = $event->getMessage();
     $target = $msg['targets'][0];
     $msg = $msg['params']['text'];
     $send = function ($msg) use($event, $target) {
         $writeStream = $event->getWriteStream();
         $writeStream->ircPrivmsg($target, $msg);
     };
     $m = [];
     $match = function ($pattern, &$m) use($msg) {
         return preg_match($pattern, $msg, $m);
     };
     if ($match('#^ishere (\\S+)$#', $m)) {
         $send($this->isIn($m[1], $target) ? 'true' : 'false');
     } elseif ($match('#^users (\\S+)$#', $m)) {
         $chan = $m[1];
         $nicks = $this->getUsers($chan);
         foreach ($nicks as &$nick) {
             $prefix = '';
             foreach (self::$modesNum as $mode => $modeNum) {
                 if ($this->is($modeNum, $nick, $chan)) {
                     $prefix .= array_search($mode, self::$modesPrefix);
                 }
             }
             $nick = $prefix . $nick;
         }
         $send($nicks ? join(', ', $nicks) : 'unable to find channel');
     } elseif ($match('#^channels (\\S+)$#', $m)) {
         $channels = $this->getChannels($m[1]);
         $send($channels ? join(', ', $channels) : 'unable to find nick');
     } elseif ($match('#^users (\\S+)$#', $m)) {
         $nicks = $this->getUsers($m[1]);
         $send($nicks ? join(', ', $nicks) : 'unable to find channel');
     } elseif ($match('#^random (\\S+)$#', $m)) {
         $nick = $this->getRandomUser($m[1]);
         $send($nick ? $nick : 'unable to find channel');
     }
 }