/** * @param Event $event */ public function onPing(Event $event) { $pongMessage = $event->getMessage()['params']['server1']; $event->getWriteStream()->ircPong($pongMessage); }
public function onWelcome(Event $event) { $event->getWriteStream()->ircPrivmsg('NickServ', 'IDENTIFY ' . $this->password); }
/** * @param Event $event */ public function onWelcome(Event $event) { if ($this->autoTrigger) { $this->trigger($event->getWriteStream()); } }
/** * @param Event $event */ public function __construct(Event $event) { $this->channel = $event->getMessage()->getSource(); $this->writeStream = $event->getWriteStream(); $this->logger = $event->getLogger(); }
/** * 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'); } }