diff --git a/VKAPI/Handlers/Utils.php b/VKAPI/Handlers/Utils.php index 7144a39a..5350a64f 100644 --- a/VKAPI/Handlers/Utils.php +++ b/VKAPI/Handlers/Utils.php @@ -1,5 +1,6 @@ getMatchingRoute("/$screen_name")[0]->presenter !== "UnknownTextRouteStrategy") { + if(substr($screen_name, 0, strlen("id")) === "id") { + return (object) [ + "object_id" => (int) substr($screen_name, strlen("id")), + "type" => "user" + ]; + } else if(substr($screen_name, 0, strlen("club")) === "club") { + return (object) [ + "object_id" => (int) substr($screen_name, strlen("club")), + "type" => "group" + ]; + } + } else { + $user = (new Users)->getByShortURL($screen_name); + if($user) { + return (object) [ + "object_id" => $user->getId(), + "type" => "user" + ]; + } + + $club = (new Clubs)->getByShortURL($screen_name); + if($club) { + return (object) [ + "object_id" => $club->getId(), + "type" => "group" + ]; + } + + return (object) []; + } + } }