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