From e670be5816177260626f43d1795f6180320395b8 Mon Sep 17 00:00:00 2001 From: Mirzaev Date: Wed, 9 Nov 2022 01:12:50 +1000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D0=BD=D0=BE=D0=B5=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20enum!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mirzaev/vk/system/api/methods/messages.php | 34 ++++++++++------------ mirzaev/vk/system/api/methods/photos.php | 8 ++--- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/mirzaev/vk/system/api/methods/messages.php b/mirzaev/vk/system/api/methods/messages.php index 89b1105..97a11c8 100644 --- a/mirzaev/vk/system/api/methods/messages.php +++ b/mirzaev/vk/system/api/methods/messages.php @@ -15,7 +15,7 @@ use stdClass, /** * Режимы отправки сообщений */ -enum send +enum message_send { /** Обычная отправка */ case simple; @@ -27,19 +27,16 @@ enum send /** * Режимы генерации идентификатора сессии доставки сообщения */ -enum generate +enum random_id { - /** Генерация: time() */ + /** Генерация: time() (нельзя отправить более чем 1 сообщение в секунду) */ case date; /** Генерация: rand() */ case random; - /** Генерация: random_bytes(10) */ + /** Генерация: random_int(0, PHP_INT_MAX) */ case crypto; - - /** Генерация: sodium_crypto_generichash() */ - case hash; } /** @@ -58,14 +55,14 @@ enum generate final class messages extends method { /** - * @var send $send_mode Режим отправки сообщений + * @var message_send $send_mode Режим отправки сообщений */ - protected send $send_mode = send::simple; + protected message_send $send_mode = message_send::simple; /** - * @var generate $generate_mode Режим генерации идентификатора сессии доставки сообщения + * @var random_id $generate_mode Режим генерации идентификатора сессии доставки сообщения */ - protected generate $generate_mode = generate::date; + protected random_id $generate_mode = random_id::crypto; /** * @var ?int $lat Географическая ширина @@ -200,7 +197,7 @@ final class messages extends method * @param bool $disable_mentions Отключить уведомление об упоминании в сообщении? * @param ?string $intent Интент * @param ?int $subscribe_id Число, которое будет использоваться для работы с интентами - * @param int|string|null $random_id Идентификатор сессии доставки сообщения (защита от повторных отправок) + * @param ?int $random_id Идентификатор сессии доставки сообщения (защита от повторных отправок) * * @return int|array Идентификатор успешно отправленного сообщения или ответ сервера (подразумевается ошибка) * @@ -228,7 +225,7 @@ final class messages extends method bool $disable_mentions = false, ?string $intent = null, ?int $subscribe_id = null, - int|string|null $random_id = null, + ?int $random_id = null, ): int|array { // Реинициализация настроек $this->robot->api->reinit(); @@ -240,11 +237,10 @@ final class messages extends method // Инициализация идентификатора сессии доставки сообщения (защита от повторных отправок) $this->robot->api['random_id'] = $random_id ?? match ($this->generate_mode) { - generate::date => time(), - generate::random => rand(), - generate::crypto => random_bytes(10), - generate::hash => sodium_crypto_generichash(random_bytes(10)), - default => time() + random_id::date => time(), + random_id::random => rand(), + random_id::crypto => random_int(0, PHP_INT_MAX), + default => random_int(0, PHP_INT_MAX) }; // Инициализация текста в настройках API @@ -309,7 +305,7 @@ final class messages extends method throw new Exception('ВКонтакте: ' . $request->error->error_msg, $request->error->error_code); } - if ($this->send_mode === send::check) { + if ($this->send_mode === message_send::check) { // Надёжная доставка сообщения if (!empty($request["response"])) { diff --git a/mirzaev/vk/system/api/methods/photos.php b/mirzaev/vk/system/api/methods/photos.php index d1c7e3c..8e4ed5c 100644 --- a/mirzaev/vk/system/api/methods/photos.php +++ b/mirzaev/vk/system/api/methods/photos.php @@ -4,12 +4,12 @@ declare(strict_types=1); namespace mirzaev\vk\api\methods; -use Exception; - +// Файлы проекта use mirzaev\vk\robots\robot, mirzaev\vk\robots\group; -use mirzaev\accounts\vk as account; +// Встроенные библиотеки +use Exception; /** * Фотографии (изображения) @@ -22,7 +22,7 @@ use mirzaev\accounts\vk as account; * @package mirzaev\vk\api\methods * @author Arsen Mirzaev Tatyano-Muradovich * - * @todo Добавить обработку ошибок ($request['errors];) + * @todo Добавить обработку ошибок ($request['errors]) */ final class photos extends method {