requireUser(); if ($user_id == 0 && $group_id == 0) { $user_id = $this->getUser()->getId(); } if ($group_id > 0) { $this->fail(501, "Group statuses are not implemented"); } else { $user = (new UsersRepo())->get($user_id); if (!$user || $user->isDeleted() || !$user->canBeViewedBy($this->getUser())) { $this->fail(15, "Invalid user"); } $audioStatus = $user->getCurrentAudioStatus(); if ($audioStatus) { return [ "status" => $user->getStatus(), "audio" => $audioStatus->toVkApiStruct(), ]; } return $user->getStatus(); } } public function set(string $text, int $group_id = 0) { $this->requireUser(); $this->willExecuteWriteAction(); if ($group_id > 0) { $this->fail(501, "Group statuses are not implemented"); } else { $this->getUser()->setStatus($text); $this->getUser()->save(); return 1; } } }