/**
  * {@inheritdoc}
  */
 public function onCommand(BotCommandFoundEvent $event)
 {
     $arguments = $event->getArguments();
     if (!isset($arguments[0])) {
         $arguments[0] = '';
     }
     if ($arguments[0] == 'status') {
         $this->sendMessage(array($event->getChannel()), 'annoy is turned ' . ($this->annoy ? 'on' : 'off'));
         return;
     }
     if (!$this->annoy) {
         return;
     }
     $name = 'all';
     if (isset($arguments[0]) && !empty($arguments[0])) {
         $name = trim($arguments[0]);
     }
     $jobs = $this->getJobsToBeDone();
     if (!$this->isNameOnList($name, $event->getChannel())) {
         $message = $this->annoy($name, $event->getChannel());
         if ($message !== false) {
             $this->sendMessage(array($message['channel']), $message['msg']);
         }
     } else {
         if (count($jobs)) {
             $this->executeJobs($jobs);
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function onCommand(BotCommandFoundEvent $event)
 {
     $arguments = $event->getArguments();
     if (!isset($arguments[0])) {
     } else {
         $karma = $this->readFromKarma($arguments[0]);
         if ($karma) {
             $this->sendMessage(array($event->getChannel()), 'The Karma of ' . $arguments[0] . ' is ' . $karma . ' ');
         } else {
             $this->sendMessage(array($event->getChannel()), 'Sorry ' . $arguments[0] . ' has neutral Karma');
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function onCommand(BotCommandFoundEvent $event)
 {
     $arguments = $event->getArguments();
     if (!isset($arguments[0])) {
         $this->sendMessage(array($event->getChannel()), $this->readFromDeineMutterFile());
     } else {
         $name = trim($arguments[0]);
         if ($name) {
             $this->sendMessage(array($event->getChannel()), $name . ': ' . $this->readFromDeineMutterFile());
         } else {
             $this->sendMessage(array($event->getChannel()), $this->readFromDeineMutterFile());
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function onCommand(BotCommandFoundEvent $event)
 {
     $arguments = $event->getArguments();
     if (!isset($arguments[0])) {
         $this->sendMessage(array($event->getChannel()), $this->readFromPostillionNewstickerFile());
     } else {
         $numNews = (int) trim($arguments[0]);
         if ($numNews === 0) {
             $numNews = 1;
         } elseif ($numNews > $this->maxNewsAtOnce) {
             $numNews = $this->maxNewsAtOnce;
         }
         $this->sendNumMessages($numNews, $event->getChannel());
     }
 }
 /**
  * {@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);
                             }
                         }
                     }
                 }
             }
         }
     }
 }