/**
  * {@inheritdoc}
  */
 public function onCommand(BotCommandFoundEvent $event)
 {
     $arguments = $event->getArguments();
     if (!isset($arguments[0])) {
         $arguments[0] = null;
     }
     if (is_numeric($arguments[0])) {
         $arguments[0] = (int) $arguments[0];
     }
     $this->readStammtische();
     if (!count($this->stammtische)) {
         $this->sendMessage(array($event->getChannel()), 'ich habe leider keine infos von irgendwelchen stammtischen im cache :(');
     }
     if (empty($arguments[0])) {
         foreach ($this->stammtische as $num => $infos) {
             $this->sendMessage(array($event->getChannel()), $num . ': ' . $infos['title']);
         }
     } else {
         if (is_numeric($arguments[0])) {
             if (array_key_exists($arguments[0], $this->stammtische)) {
                 $keymapping = array('title' => 'Titel              ', 'time' => 'Termin             ', 'locationLink' => 'Link zum Treffpunkt', 'locationName' => 'Treffpunkt         ', 'organisator' => 'Veranstalter       ', 'link' => 'Veranstaltungslink ');
                 $this->sendMessage(array($event->getChannel()), 'Infos zu Stammtisch ' . $arguments[0]);
                 foreach ($this->stammtische[$arguments[0]] as $field => $info) {
                     $this->sendMessage(array($event->getChannel()), $keymapping[$field] . ': ' . $info);
                 }
             } else {
                 $this->sendMessage(array($event->getChannel()), 'über diesen stammtisch habe ich keine aufzeichnungen');
             }
         } else {
             if (is_string($arguments[0])) {
                 if ($arguments[0] == 'add') {
                     $message = $arguments;
                     unset($message[0]);
                     $messageStr = implode(' ', $message);
                     $messageStr = wordwrap($messageStr, 70);
                     foreach ($this->addSubscriber as $val) {
                         if (!$val['active']) {
                             continue;
                         }
                         if (!isset($message[1])) {
                             $message[1] = false;
                         }
                         if ($val['password'] !== false && $message[1] == $val['password']) {
                             $messageStr = substr($messageStr, count($message[1]) + 1);
                         } else {
                             if ($val['password'] !== false) {
                                 continue;
                             }
                         }
                         if (empty($messageStr)) {
                             continue;
                         }
                         $messageStr = $event->getNickname() . ': ' . $messageStr;
                         $to = $val['to'];
                         $from = $val['from'];
                         $from['name'] = $event->getNickname();
                         $subject = $val['subject'];
                         $mail = $this->getSetupMail($to, $from, $subject, $messageStr);
                         $mail->send();
                     }
                 } else {
                     $this->sendMessage(array($event->getChannel()), 'Infos zu Stammtisch ' . $arguments[0]);
                     foreach ($this->stammtische as $num => $infos) {
                         if (strstr(strtolower($infos['title']), $arguments[0])) {
                             $keymapping = array('title' => 'Titel              ', 'time' => 'Termin             ', 'locationLink' => 'Link zum Treffpunkt', 'locationName' => 'Treffpunkt         ', 'organisator' => 'Veranstalter       ', 'link' => 'Veranstaltungslink ');
                             $this->sendMessage(array($event->getChannel()), 'Infos zu Stammtisch ' . $num . ' in ' . $arguments[0]);
                             foreach ($infos as $field => $info) {
                                 $this->sendMessage(array($event->getChannel()), $keymapping[$field] . ': ' . $info);
                             }
                         }
                     }
                 }
             }
         }
     }
 }