Example #1
0
 /**
  * @param Event $event
  */
 public function onPing(Event $event)
 {
     $pongMessage = $event->getMessage()['params']['server1'];
     $event->getWriteStream()->ircPong($pongMessage);
 }
Example #2
0
 public function onWelcome(Event $event)
 {
     $event->getWriteStream()->ircPrivmsg('NickServ', 'IDENTIFY ' . $this->password);
 }
Example #3
0
 /**
  * @param Event $event
  */
 public function onWelcome(Event $event)
 {
     if ($this->autoTrigger) {
         $this->trigger($event->getWriteStream());
     }
 }
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');
     }
 }