/** * Nick is in use, pick another. * * @param \Phergie\Irc\Event\EventInterface $event * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue */ public function handleEvent(Event $event, Queue $queue) { $iterator = $this->getIterator($event->getConnection()); if (!$iterator->valid()) { $queue->ircQuit('All specified alternate nicks are in use'); return; } $nick = $iterator->current(); $iterator->next(); $this->logger->debug("[AltNick] Switching nick to '{$nick}'"); $queue->ircNick($nick); $event->getConnection()->setNickname($nick); }
/** * Terminates the connection to a server from which a quit command is * received. * * @param \Phergie\Irc\Plugin\React\Command\CommandEvent $event * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue */ public function handleQuitCommand(CommandEvent $event, EventQueueInterface $queue) { $message = sprintf($this->message, $event->getNick()); $queue->ircQuit($message); }
/** * Nick is in use, pick another. * * @param \Phergie\Irc\Event\EventInterface $event * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue */ public function handleEvent(Event $event, Queue $queue) { $iterator = $this->getIterator($event->getConnection()); if (!$iterator->valid()) { $queue->ircQuit('All specified alternate nicks are in use'); return; } if ($this->recovery && $this->primaryNick === null) { $params = $event->getParams(); $primaryNick = $params[1]; $this->logger->debug("[AltNick] Saving '{$primaryNick}' as primary nick"); $this->primaryNick = $primaryNick; } $nick = $iterator->current(); $iterator->next(); $this->logger->debug("[AltNick] Switching nick to '{$nick}'"); $queue->ircNick($nick); }