Исправления после ошибок слияния
This commit is contained in:
parent
4840041054
commit
085974f740
10
README.md
10
README.md
|
@ -13,6 +13,14 @@ use hood\accounts\vk;
|
|||
// Подключение библеотек
|
||||
require_once './vendor/autoload.php';
|
||||
|
||||
|
||||
// Инициализация ядра
|
||||
$core = core::init();
|
||||
|
||||
// Инициализация робота
|
||||
$robot = $core->group(ACCOUNT_ID)->key(ACCOUNT_KEY);
|
||||
$robot = $core->auth(ACCOUNT_LOGIN, ACCOUNT_PASSWORD)->key(ACCOUNT_KEY);
|
||||
|
||||
// Инициализация пользователя ВКонтакте
|
||||
$account = (new vk($id))->auth('login', 'password')->key($project_id);
|
||||
|
||||
|
@ -21,4 +29,4 @@ $robot = core::init()->group($account);
|
|||
|
||||
// Отправка сообщения
|
||||
$robot->message($to, 'Привет, я создал робота!');
|
||||
```
|
||||
```
|
||||
|
|
|
@ -171,15 +171,11 @@ final class longpoll
|
|||
/**
|
||||
* Получить события
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/api/longpoll.php
|
||||
* $wait Время ожидания новых событий (в секундах)
|
||||
=======
|
||||
* @param int $wait Время ожидания новых событий (в секундах)
|
||||
*
|
||||
* @todo Проверка на ошибки запроса, включая на наличие доступа к лонгполл у ключа
|
||||
*
|
||||
* @return array
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/api/longpoll.php
|
||||
*/
|
||||
public function get(int $wait = 25): array
|
||||
{
|
||||
|
@ -188,15 +184,6 @@ final class longpoll
|
|||
|
||||
// Запрос на получение доступа и данных LongPoll-сервера
|
||||
$response = json_decode($this->robot->browser->request(method: 'POST', uri: 'groups.getLongPollServer', options: [
|
||||
<<<<<<< HEAD:hood/vk/system/api/longpoll.php
|
||||
'form_params' => [
|
||||
'group_id' => $this->robot->id,
|
||||
'v' => $this->robot->version,
|
||||
'access_token' => $this->robot->key
|
||||
],
|
||||
|
||||
])->getBody()->getContents())->response;
|
||||
=======
|
||||
'form_params' => $this->robot->api['settings']
|
||||
])->getBody()->getContents());
|
||||
|
||||
|
@ -208,7 +195,6 @@ final class longpoll
|
|||
|
||||
// Инициализация
|
||||
$response = $response->response;
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/api/longpoll.php
|
||||
|
||||
// Ключ доступа
|
||||
$this->key = $response->key;
|
||||
|
|
|
@ -13,17 +13,6 @@ use Exception;
|
|||
/**
|
||||
* Ядро
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $robots Количество роботов
|
||||
* $timezone Временная зона (журналирование)
|
||||
* $path Пути (архитектура проекта)
|
||||
*
|
||||
* protected static function __construct() Инициализация
|
||||
* public static function init() Запуск инициализации или получение инстанции
|
||||
* public public function build() Сборщик
|
||||
* public function set($id, $value) Запись в реестр
|
||||
* public function get($id = null) Чтение из реестра
|
||||
=======
|
||||
* @property-read int $robots Количество роботов
|
||||
* @property string $timezone Временная зона (журналирование)
|
||||
* @property array $path Пути (архитектура проекта)
|
||||
|
@ -33,7 +22,6 @@ use Exception;
|
|||
* @method public public function build() Сборщик
|
||||
* @method public function set($id, $value) Запись в реестр
|
||||
* @method public function get($id = null) Чтение из реестра
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*
|
||||
* @package mirzaev\vk
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <red@hood.su>
|
||||
|
@ -42,29 +30,13 @@ final class core
|
|||
{
|
||||
use singleton;
|
||||
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
<<<<<<< HEAD
|
||||
/**
|
||||
* Счётчик роботов
|
||||
=======
|
||||
/**
|
||||
=======
|
||||
/**
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
* Счётчик роботов
|
||||
*
|
||||
* @var int
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private int $robots = 0;
|
||||
|
||||
/**
|
||||
* Реестр роботов
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @var array
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private array $registry = [];
|
||||
|
||||
|
@ -72,60 +44,32 @@ final class core
|
|||
* Временная зона
|
||||
*
|
||||
* Используется в логировании
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @var string
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private string $timezone;
|
||||
|
||||
/**
|
||||
* Путь до корня проекта
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @var string
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private string $path_root;
|
||||
|
||||
/**
|
||||
* Путь до папки журналов
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @var string
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private string $path_logs;
|
||||
|
||||
/**
|
||||
* Путь до временной папки
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @var string
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private string $path_temp;
|
||||
|
||||
/**
|
||||
* Запись в журнал
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $file Файл для журналирования
|
||||
=======
|
||||
* @param string $file Файл для журналирования
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
* @return self
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*
|
||||
=======
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
* @todo Добавить установку иного журналиста по спецификации PSR-3
|
||||
* @todo Более гибкое журналирование
|
||||
*/
|
||||
public function journal(string $file = null): self
|
||||
{
|
||||
|
@ -138,23 +82,12 @@ final class core
|
|||
/**
|
||||
* Записать в реестр
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $id Идентификатор
|
||||
* $robot робот
|
||||
*
|
||||
* @see hood\vk\traits\registry Модификация метода
|
||||
=======
|
||||
* @param int $id
|
||||
* @param robot $robot
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
* @see hood\vk\traits\registry Модификация метода
|
||||
* @see mirzaev\vk\traits\registry Модификация метода
|
||||
*
|
||||
* @return void
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
* @see mirzaev\vk\traits\registry Модификация метода
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function write(int $id, robot $robot): void
|
||||
{
|
||||
|
@ -182,23 +115,12 @@ final class core
|
|||
*
|
||||
* Если не передать идентификатор, то вернёт все значения
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $id Идентификатор
|
||||
* $session Сессия
|
||||
*
|
||||
* @see hood\vk\traits\registry Модификация метода
|
||||
=======
|
||||
* @param int|null $id Идентификатор
|
||||
* @param int|null $session Сессия
|
||||
*
|
||||
* @see mirzaev\vk\traits\registry Модификация метода
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
* @return mixed
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
* @return mixed Весь реестр, робота или сессию робота
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function read(int|null $id = null, int|null $session = null): mixed
|
||||
{
|
||||
|
@ -233,23 +155,12 @@ final class core
|
|||
/**
|
||||
* Удалить из реестра
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $id Идентификатор
|
||||
* $session Сессия
|
||||
*
|
||||
* @see hood\vk\traits\registry Модификация метода
|
||||
=======
|
||||
* @param int|null $id Идентификатор
|
||||
* @param int|null $session Сессия
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
* @see hood\vk\traits\registry Модификация метода
|
||||
*
|
||||
* @return void
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
*
|
||||
* @see mirzaev\vk\traits\registry Модификация метода
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function delete(int|null $id = null, int|null $session = null): void
|
||||
{
|
||||
|
@ -296,18 +207,10 @@ final class core
|
|||
/**
|
||||
* Записать свойство
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $name Название
|
||||
* $value Значение
|
||||
=======
|
||||
* @param mixed $name Название
|
||||
* @param mixed $value Значение
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
*
|
||||
* @return void
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function __set(mixed $name, mixed $value): void
|
||||
{
|
||||
|
@ -321,20 +224,12 @@ final class core
|
|||
|
||||
/**
|
||||
* Прочитать свойство
|
||||
<<<<<<< HEAD
|
||||
*
|
||||
*
|
||||
* Значение по умолчанию, есле не задано
|
||||
*
|
||||
* $name Название
|
||||
=======
|
||||
*
|
||||
* @param mixed $name Название
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
*
|
||||
* @return mixed
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function __get(mixed $name): mixed
|
||||
{
|
||||
|
@ -354,18 +249,10 @@ final class core
|
|||
* Ищет класс описывающий робота,
|
||||
* создаёт и возвращает его объект
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $method Метод
|
||||
* $params Параметры
|
||||
=======
|
||||
* @param string $method Метод
|
||||
* @param array $params Параметры
|
||||
<<<<<<< HEAD:hood/vk/system/core.php
|
||||
*
|
||||
* @return robot
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/core.php
|
||||
*/
|
||||
public function __call(string $method, array $params): robot
|
||||
{
|
||||
|
|
|
@ -6,56 +6,15 @@ namespace mirzaev\vk\robots;
|
|||
|
||||
use Exception;
|
||||
|
||||
use GuzzleHttp\Client as browser;
|
||||
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
<<<<<<< HEAD
|
||||
use hood\vk\core,
|
||||
hood\vk\api\methods\method,
|
||||
hood\vk\proxies\proxy,
|
||||
hood\vk\captcha\captcha;
|
||||
|
||||
use hood\accounts\vk as account;
|
||||
|
||||
/**
|
||||
* Робот
|
||||
*
|
||||
* $id Идентификатор
|
||||
* $session Сессия
|
||||
* $key Ключ
|
||||
* $version Версия API
|
||||
* $account Аккаунт
|
||||
* $browser Браузер
|
||||
* $proxy Прокси
|
||||
* $captcha Обработчик капчи
|
||||
*
|
||||
* $messages_mode Режим отправки сообщений
|
||||
*
|
||||
* public function __construct(int $id = null, float $version = null) Конструктор
|
||||
* public function key(string $key) Инициализация ключа
|
||||
* public function account(account $account) Инициализация аккаунта
|
||||
* public function __set($name, $value) Запись свойства
|
||||
* public function __get($name) Чтение свойства
|
||||
* public function __isset($name) Проверка на инициализированность свойства
|
||||
* public function __call(string $method, array $params) Вызов метода
|
||||
* public static function __callStatic(string $method, array $params) Вызов статического метода
|
||||
* public function __toString() Конвертация в строку
|
||||
=======
|
||||
use hood\vk\core;
|
||||
use hood\vk\proxies\proxy;
|
||||
use hood\vk\captcha\captcha;
|
||||
use hood\vk\api\api;
|
||||
use hood\vk\api\methods\method;
|
||||
=======
|
||||
use mirzaev\vk\core;
|
||||
use mirzaev\vk\proxies\proxy;
|
||||
use mirzaev\vk\captcha\captcha;
|
||||
use mirzaev\vk\api\settings as api;
|
||||
use mirzaev\vk\api\methods\method;
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
|
||||
use mirzaev\accounts\vk as account;
|
||||
|
||||
use GuzzleHttp\Client as browser;
|
||||
|
||||
/**
|
||||
* Робот
|
||||
|
@ -80,406 +39,238 @@ use mirzaev\accounts\vk as account;
|
|||
* @method public function __call(string $method, array $params) Вызов метода
|
||||
* @method public static function __callStatic(string $method, array $params) Вызов статического метода
|
||||
* @method public function __toString() Конвертация в строку
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*
|
||||
* @package mirzaev\vk\robots
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <red@hood.su>
|
||||
*/
|
||||
abstract class robot
|
||||
{
|
||||
/**
|
||||
<<<<<<< HEAD
|
||||
* Идентификатор
|
||||
*/
|
||||
protected int $id;
|
||||
/**
|
||||
* Сессия
|
||||
*/
|
||||
protected int $session;
|
||||
|
||||
/**
|
||||
* Сессия
|
||||
=======
|
||||
* @var int Сессия
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
protected int $session;
|
||||
/**
|
||||
* Аккаунт
|
||||
*/
|
||||
private account $account;
|
||||
|
||||
/**
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
<<<<<<< HEAD
|
||||
* Ключ
|
||||
=======
|
||||
* @var string Ключ
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
protected string $key;
|
||||
/**
|
||||
* Прокси
|
||||
*/
|
||||
protected proxy $proxy;
|
||||
|
||||
/**
|
||||
<<<<<<< HEAD
|
||||
* Версия API
|
||||
*/
|
||||
protected float $version = 5.124;
|
||||
/**
|
||||
* Обработчик капчи
|
||||
*/
|
||||
protected captcha $captcha;
|
||||
|
||||
/**
|
||||
* Аккаунт
|
||||
=======
|
||||
=======
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
* @var string Аккаунт
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
private account $account;
|
||||
/**
|
||||
* $messages_mode Режим отправки сообщений
|
||||
*/
|
||||
protected int $messages_mode = 1;
|
||||
|
||||
/**
|
||||
<<<<<<< HEAD
|
||||
* Прокси
|
||||
=======
|
||||
* @var proxy Прокси
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
protected proxy $proxy;
|
||||
/**
|
||||
* Конструктор
|
||||
*
|
||||
* @param int|null $id Идентификатор
|
||||
* @param string|null $key Ключ
|
||||
*/
|
||||
public function __construct(
|
||||
protected int|null $id = null,
|
||||
protected string|null $key = null
|
||||
) {
|
||||
// Инициализация ядра
|
||||
$core = core::init();
|
||||
|
||||
/**
|
||||
<<<<<<< HEAD
|
||||
* Обработчик капчи
|
||||
=======
|
||||
* @var captcha Обработчик капчи
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
protected captcha $captcha;
|
||||
// Идентификация робота
|
||||
$this->id = $id ?? $core->robots + 1;
|
||||
|
||||
/**
|
||||
<<<<<<< HEAD
|
||||
* $messages_mode Режим отправки сообщений
|
||||
*/
|
||||
protected int $messages_mode = 1;
|
||||
// Регистрация робота в ядре
|
||||
$core->write($this->id, $this);
|
||||
|
||||
=======
|
||||
* @var int Режим отправки сообщений
|
||||
*/
|
||||
protected int $messages_mode = 1;
|
||||
// Идентификация сессии робота
|
||||
$this->session = count($core->read($this->id));
|
||||
}
|
||||
|
||||
/**
|
||||
* @var api API ВКонтакте
|
||||
*/
|
||||
protected api $api;
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
|
||||
/**
|
||||
* Конструктор
|
||||
*
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
<<<<<<< HEAD
|
||||
* $id Идентификатор
|
||||
* $version Версия API
|
||||
*/
|
||||
public function __construct(int|null $id = null, float|null $version = null)
|
||||
{
|
||||
=======
|
||||
* @param int $id Идентификатор
|
||||
=======
|
||||
* @param int|null $id Идентификатор
|
||||
* @param string|null $key Ключ
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
*/
|
||||
public function __construct(
|
||||
protected int|null $id = null,
|
||||
protected string|null $key = null
|
||||
) {
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
// Инициализация ядра
|
||||
$core = core::init();
|
||||
/**
|
||||
* Инициализация ключа
|
||||
*
|
||||
* @param string $key Ключ
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function key(string $key): self
|
||||
{
|
||||
$this->__set('key', $key);
|
||||
|
||||
// Идентификация робота
|
||||
$this->id = $id ?? $core->robots + 1;
|
||||
return $this;
|
||||
}
|
||||
|
||||
// Регистрация робота в ядре
|
||||
$core->write($this->id, $this);
|
||||
/**
|
||||
* Инициализация аккаунта
|
||||
*
|
||||
* @param account $account Аккаунт
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function account(account $account): self
|
||||
{
|
||||
$this->__set('account', $account);
|
||||
|
||||
// Идентификация сессии робота
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
$this->session = count($core->get($this->id));
|
||||
<<<<<<< HEAD
|
||||
return $this;
|
||||
}
|
||||
|
||||
if (isset($version)) {
|
||||
// Инициализация версии
|
||||
$this->version = $version;
|
||||
}
|
||||
=======
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
$this->session = count($core->read($this->id));
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
}
|
||||
/**
|
||||
* Инициализация прокси
|
||||
*
|
||||
* @param proxy $proxy Прокси
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function proxy(proxy $proxy): self
|
||||
{
|
||||
$this->__set('proxy', $proxy);
|
||||
|
||||
/**
|
||||
* Инициализация ключа
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $key Ключ
|
||||
=======
|
||||
* @param string $key Ключ
|
||||
*
|
||||
* @return self
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function key(string $key): self
|
||||
{
|
||||
$this->__set('key', $key);
|
||||
return $this;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
/**
|
||||
* Инициализация обработчика капчи
|
||||
*
|
||||
* @param captcha $captcha Обработчик капчи
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function captcha(captcha $captcha): self
|
||||
{
|
||||
$this->__set('captcha', $captcha);
|
||||
|
||||
/**
|
||||
* Инициализация аккаунта
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $account Аккаунт
|
||||
=======
|
||||
* @param account $account Аккаунт
|
||||
*
|
||||
* @return self
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function account(account $account): self
|
||||
{
|
||||
$this->__set('account', $account);
|
||||
return $this;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
/**
|
||||
* Записать свойство
|
||||
*
|
||||
* @param string $name Название
|
||||
* @param mixed $value Значение
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __set(string $name, mixed $value): void
|
||||
{
|
||||
match ($name) {
|
||||
'id' => isset($this->id) ? throw new Exception('Запрещено перезаписывать идентификатор', 500) : $this->id = (int) $value,
|
||||
'session' => isset($this->session) ? throw new Exception('Запрещено перезаписывать сессию', 500) : $this->session = (int) $value,
|
||||
'key' => isset($this->key) ? throw new Exception('Запрещено перезаписывать ключ', 500) : $this->key = (string) $value,
|
||||
'api' => isset($this->api) ? throw new Exception('Запрещено перезаписывать API', 500) : $this->api = $value,
|
||||
'account' => isset($this->account) ? throw new Exception('Запрещено перезаписывать аккаунт', 500) : $this->account = $value,
|
||||
'browser' => isset($this->browser) ? throw new Exception('Запрещено перезаписывать браузер', 500) : $this->browser = $value,
|
||||
'proxy' => $this->proxy = $value,
|
||||
'captcha' => $this->captcha = $value,
|
||||
'messages_new' => $this->messages_new = (int) $value,
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Инициализация прокси
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $proxy Прокси
|
||||
=======
|
||||
* @param proxy $proxy Прокси
|
||||
*
|
||||
* @return self
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function proxy(proxy $proxy): self
|
||||
{
|
||||
$this->__set('proxy', $proxy);
|
||||
/**
|
||||
* Прочитать свойство
|
||||
*
|
||||
* @param string $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get(string $name): mixed
|
||||
{
|
||||
return match ($name) {
|
||||
'id' => $this->id ?? throw new Exception('Идентификатор не инициализирован', 500),
|
||||
'session' => $this->session ?? throw new Exception('Сессия не инициализирована', 500),
|
||||
'key' => $this->key ?? throw new Exception('Ключ не инициализирован', 500),
|
||||
'api' => $this->api ?? $this->api = new api($this),
|
||||
'account' => $this->account ?? throw new Exception('Аккаунт не инициализирован', 500),
|
||||
'browser' => $this->browser ?? $this->browser = new browser([
|
||||
'base_uri' => 'https://api.vk.com/method/',
|
||||
'cookies' => true
|
||||
]),
|
||||
'proxy' => $this->proxy,
|
||||
'captcha' => $this->captcha,
|
||||
'messages_new' => $this->messages_new,
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
};
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
/**
|
||||
* Проверить свойство на инициализированность
|
||||
*
|
||||
* @param string $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __isset(string $name): bool
|
||||
{
|
||||
return match ($name) {
|
||||
'id' => isset($this->id),
|
||||
'session' => isset($this->session),
|
||||
'key' => isset($this->key),
|
||||
'account' => isset($this->account),
|
||||
'api' => isset($this->api),
|
||||
'browser' => isset($this->browser),
|
||||
'proxy' => isset($this->proxy),
|
||||
'captcha' => isset($this->captcha),
|
||||
'messages_new' => isset($this->messages_new),
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Инициализация обработчика капчи
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $captcha Обработчик капчи
|
||||
=======
|
||||
* @param captcha $captcha Обработчик капчи
|
||||
*
|
||||
* @return self
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function captcha(captcha $captcha): self
|
||||
{
|
||||
$this->__set('captcha', $captcha);
|
||||
/**
|
||||
* Вызвать метод
|
||||
*
|
||||
* Ищет класс описывающий метод API ВКонтакте,
|
||||
* создаёт и возвращает его объект
|
||||
*
|
||||
* @param string $method Метод
|
||||
* @param array $params Параметры
|
||||
*
|
||||
* @return method
|
||||
*/
|
||||
public function __call(string $method, array $params): method
|
||||
{
|
||||
if (class_exists($class = '\\mirzaev\\vk\\api\\methods\\' . $method . 's')) {
|
||||
// Если найден класс реализующий запрошенный метод
|
||||
return new $class($this, ...$params);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
throw new Exception("Метод $method не найден", 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Записать свойство
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $name Название
|
||||
* $value Значение
|
||||
=======
|
||||
* @param string $name Название
|
||||
* @param mixed $value Значение
|
||||
*
|
||||
* @return void
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function __set(string $name, mixed $value): void
|
||||
{
|
||||
match ($name) {
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
'id' => !isset($this->id) ? $this->id = (int) $value : throw new Exception('Запрещено перезаписывать идентификатор'),
|
||||
'session' => !isset($this->session) ? $this->session = (int) $value : throw new Exception('Запрещено перезаписывать сессию'),
|
||||
'key' => !isset($this->key) ? $this->key = (string) $value : throw new Exception('Запрещено перезаписывать ключ'),
|
||||
<<<<<<< HEAD
|
||||
'version' => !isset($this->version) ? $this->version = (float) $value : throw new Exception('Запрещено перезаписывать версию API'),
|
||||
=======
|
||||
'api' => !isset($this->api) ? $this->api = $value : throw new Exception('Запрещено перезаписывать API'),
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
'account' => !isset($this->account) && $value instanceof account ? $this->account = $value : throw new Exception('Запрещено перезаписывать аккаунт'),
|
||||
'browser' => !isset($this->browser) && $value instanceof browser ? $this->browser = $value : throw new Exception('Запрещено перезаписывать браузер'),
|
||||
'proxy' => $this->proxy = $value,
|
||||
'captcha' => $this->captcha = $value,
|
||||
'messages_new' => $this->messages_new = (int) $value,
|
||||
<<<<<<< HEAD
|
||||
// Если свойство не найдено:
|
||||
=======
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
default => throw new Exception('Свойство не найдено: ' . $name)
|
||||
=======
|
||||
'id' => isset($this->id) ? throw new Exception('Запрещено перезаписывать идентификатор', 500) : $this->id = (int) $value,
|
||||
'session' => isset($this->session) ? throw new Exception('Запрещено перезаписывать сессию', 500) : $this->session = (int) $value,
|
||||
'key' => isset($this->key) ? throw new Exception('Запрещено перезаписывать ключ', 500) : $this->key = (string) $value,
|
||||
'api' => isset($this->api) ? throw new Exception('Запрещено перезаписывать API', 500) : $this->api = $value,
|
||||
'account' => isset($this->account) ? throw new Exception('Запрещено перезаписывать аккаунт', 500) : $this->account = $value,
|
||||
'browser' => isset($this->browser) ? throw new Exception('Запрещено перезаписывать браузер', 500) : $this->browser = $value,
|
||||
'proxy' => $this->proxy = $value,
|
||||
'captcha' => $this->captcha = $value,
|
||||
'messages_new' => $this->messages_new = (int) $value,
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Вызвать статический метод
|
||||
*
|
||||
* Ищет класс описывающий метод API ВКонтакте,
|
||||
* создаёт и возвращает его объект
|
||||
*
|
||||
* @param string $method Метод
|
||||
* @param array $params Параметры
|
||||
*
|
||||
* @return method
|
||||
*/
|
||||
public static function __callStatic(string $method, array $params): method
|
||||
{
|
||||
if (class_exists($class = '\\mirzaev\\vk\\api\\methods\\' . $method . 's')) {
|
||||
return $class(self, ...$params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Прочитать свойство
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get(string $name)
|
||||
{
|
||||
return match ($name) {
|
||||
'id' => isset($this->id) ? $this->id : throw new Exception('Идентификатор не инициализирован'),
|
||||
'session' => isset($this->session) ? $this->session : throw new Exception('Сессия не инициализирована'),
|
||||
'key' => isset($this->key) ? $this->key : throw new Exception('Ключ не инициализирован'),
|
||||
'version' => isset($this->version) ? $this->version : throw new Exception('Версия не инициализирована'),
|
||||
'account' => isset($this->account) ? $this->account : throw new Exception('Аккаунт не инициализирован'),
|
||||
=======
|
||||
* @param string $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get(string $name): mixed
|
||||
{
|
||||
return match ($name) {
|
||||
'id' => $this->id ?? throw new Exception('Идентификатор не инициализирован', 500),
|
||||
'session' => $this->session ?? throw new Exception('Сессия не инициализирована', 500),
|
||||
'key' => $this->key ?? throw new Exception('Ключ не инициализирован', 500),
|
||||
'api' => $this->api ?? $this->api = new api($this),
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
'account' => $this->account ?? throw new Exception('Аккаунт не инициализирован'),
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
=======
|
||||
'account' => $this->account ?? throw new Exception('Аккаунт не инициализирован', 500),
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
'browser' => $this->browser ?? $this->browser = new browser([
|
||||
'base_uri' => 'https://api.vk.com/method/',
|
||||
'cookies' => true
|
||||
]),
|
||||
'proxy' => $this->proxy,
|
||||
'captcha' => $this->captcha,
|
||||
'messages_new' => $this->messages_new,
|
||||
<<<<<<< HEAD:hood/vk/system/robots/robot.php
|
||||
<<<<<<< HEAD
|
||||
// Если свойство не найдено:
|
||||
=======
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
default => throw new Exception('Свойство не найдено: ' . $name)
|
||||
=======
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
>>>>>>> 579e64b087c763b465464b5ee0d14b16a98d17b2:mirzaev/vk/system/robots/robot.php
|
||||
};
|
||||
}
|
||||
throw new Exception("Метод $method не найден", 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверить свойство на инициализированность
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __isset(string $name)
|
||||
=======
|
||||
* @param string $name Название
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __isset(string $name): bool
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
{
|
||||
return match ($name) {
|
||||
'id' => isset($this->id),
|
||||
'session' => isset($this->session),
|
||||
'key' => isset($this->key),
|
||||
'account' => isset($this->account),
|
||||
<<<<<<< HEAD
|
||||
'version' => isset($this->version),
|
||||
=======
|
||||
'api' => isset($this->api),
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
'browser' => isset($this->browser),
|
||||
'proxy' => isset($this->proxy),
|
||||
'captcha' => isset($this->captcha),
|
||||
'messages_new' => isset($this->messages_new),
|
||||
default => throw new Exception("Свойство $name не найдено", 404)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Вызвать метод
|
||||
*
|
||||
* Ищет класс описывающий метод API ВКонтакте,
|
||||
* создаёт и возвращает его объект
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $method Метод
|
||||
* $params Параметры
|
||||
=======
|
||||
* @param string $method Метод
|
||||
* @param array $params Параметры
|
||||
*
|
||||
* @return method
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function __call(string $method, array $params): method
|
||||
{
|
||||
if (class_exists($class = '\\mirzaev\\vk\\api\\methods\\' . $method . 's')) {
|
||||
// Если найден класс реализующий запрошенный метод
|
||||
return new $class($this, ...$params);
|
||||
}
|
||||
|
||||
throw new Exception("Метод $method не найден", 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Вызвать статический метод
|
||||
*
|
||||
* Ищет класс описывающий метод API ВКонтакте,
|
||||
* создаёт и возвращает его объект
|
||||
*
|
||||
<<<<<<< HEAD
|
||||
* $method Метод
|
||||
* $params Параметры
|
||||
=======
|
||||
* @param string $method Метод
|
||||
* @param array $params Параметры
|
||||
*
|
||||
* @return method
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public static function __callStatic(string $method, array $params): method
|
||||
{
|
||||
if (class_exists($class = '\\mirzaev\\vk\\api\\methods\\' . $method . 's')) {
|
||||
return $class(self, ...$params);
|
||||
}
|
||||
|
||||
throw new Exception("Метод $method не найден", 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Конвертировать в строку
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
*
|
||||
* @return string
|
||||
>>>>>>> a45b5c327511a74d1fae5ab0e3a1dcc68e7dc3b4
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return (string) $this->id;
|
||||
}
|
||||
/**
|
||||
* Конвертировать в строку
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return (string) $this->id;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue