protected function run(array $args, Session $sender)
 {
     $msg = implode(" ", $args);
     if ($sender->getSpamDetector()->censor($msg)) {
         $sender->onChat($msg, Session::CHAT_ME);
     }
 }
 protected function run(array $args, Session $sender)
 {
     $msg = implode(" ", $args);
     $isLocal = substr($msg, 0, 1) === ".";
     if ($isLocal) {
         $msg = substr($msg, 1);
     }
     if ($sender->getSpamDetector()->censor($msg)) {
         $sender->onChat($msg, $isLocal ? Session::CHAT_ME_LOCAL : Session::CHAT_ME_CLASS);
     }
 }
 protected function run(array $args, Session $sender)
 {
     $sender->send(Phrases::CMD_PRIV_MSG_REMIND_QUERY);
     if (!isset($args[1])) {
         return false;
     }
     $message = implode(" ", $args);
     if (!$sender->getSpamDetector()->censor($message)) {
         return true;
     }
     $target = $this->getSession($name = array_shift($args));
     if ($target === null) {
         return $this->offline($sender, $name);
     }
     $target->getPlayer()->sendMessage($msg = Phrases::VAR_info . "[" . $sender->getPlayer()->getName() . " > " . $target->getPlayer()->getName() . "] " . Phrases::VAR_info . $message);
     $sender->getPlayer()->sendMessage($msg);
     fwrite($this->pmLog, "|from:{$sender->getPlayer()->getName()}|to:{$target->getPlayer()->getName()}|msg:{$message}|" . PHP_EOL);
     return $msg;
 }