/**
  * {@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);
         }
     }
 }
 public function onCommand(BotCommandFoundEvent $event)
 {
     $this->sendMessage(array($event->getChannel()), 'Will be back soon...');
     $this->connection->sendCommand(new QuitCommand(new Message('Restarting...')));
     $pid = @exec('ps ax | grep "app/console" | grep "irc:launch" | grep -v grep | xargs | sed "s/^\\([0-9]*\\) .*/\\1/"');
     @exec('php app/console irc:launch >/dev/null 2>&1 &');
     @exec('kill ' . $pid . ' >/dev/null 2>&1');
     sleep(2);
 }
 /**
  * {@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());
     }
 }
 public function onCommand(BotCommandFoundEvent $event)
 {
     // get list of arguments passed after command
     // $args = $event->getArguments();
     $running = @exec('ps ax | grep "syw:import:lico" | grep -v grep');
     if (trim($running) == "") {
         $msg = "There is actually no import running.";
         $this->sendMessage(array($event->getChannel()), $msg);
     } else {
         $qb = $this->em->createQueryBuilder();
         $qb->select('count(user.id)');
         $qb->from('SywFrontMainBundle:User', 'user');
         $uCount = $qb->getQuery()->getSingleScalarResult();
         $qb = $this->em->createQueryBuilder();
         $qb->select('count(machines.id)');
         $qb->from('SywFrontMainBundle:Machines', 'machines');
         $mCount = $qb->getQuery()->getSingleScalarResult();
         $msg = "There are actually " . number_format($uCount) . " users and " . number_format($mCount) . " machines imported, out of around 600,000 users.";
         $this->sendMessage(array($event->getChannel()), $msg);
     }
 }
 /**
  * {@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);
                             }
                         }
                     }
                 }
             }
         }
     }
 }