reg(new \VK\Robots\Group()); } /** * Создание робота-пользователя * * @return User */ public function user(): User { return $this->reg(new \VK\Robots\User()); } /** * Регистрация в ядре * * @return RobotAbstract * * @todo Добавить создание нового процесса (многопоточность) */ private function reg(RobotAbstract $robot): RobotAbstract { // Присвоение идентификатора $robot->id = ++Core::$robots; // Регистрация в ядре Core::set($robot->id, $robot); return $robot; } /** * Установка журналирования * * @return RobotAbstract * * @todo Добавить установку иного журналиста по спецификации PSR-3 */ public function log($file = null): Builder { Jasmo::init()::post($file)::postErrorHandler()::postShutdownHandler(); return $this; } /** * Установка браузера * * @return RobotAbstract */ public function browser(BrowserAbstract $browser): Builder { $this->browser = $browser; return $this; } /** * Установка прокси * * @return RobotAbstract */ public function proxy(ProxyAbstract $proxy): Builder { $this->proxy = $proxy; return $this; } /** * Установка обработчика капч * * @return RobotAbstract */ public function captcha(CaptchaAbstract $captcha): Builder { $this->captcha = $captcha; return $this; } }