/**
  * 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);
 }