From 344398c4f4581beca53258ac544e1f0db3af788c Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Mon, 19 Jun 2023 07:24:09 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=D0=B4=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B9=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D1=81=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 2 +- .../registry/requests/system/public/robot.php | 34 ++++++++++++++----- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/composer.lock b/composer.lock index 1895cf2..ebfdc2c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3fd69eb362accef047acf98bf5aa1405", + "content-hash": "436a21927a120a646fa0e2f127f72421", "packages": [ { "name": "bogdaan/viber-bot-php", diff --git a/mirzaev/spetsresurs/viber/registry/requests/system/public/robot.php b/mirzaev/spetsresurs/viber/registry/requests/system/public/robot.php index 04efd3f..3835ad2 100644 --- a/mirzaev/spetsresurs/viber/registry/requests/system/public/robot.php +++ b/mirzaev/spetsresurs/viber/registry/requests/system/public/robot.php @@ -33,7 +33,7 @@ $botSender = new Sender([ ]); $log = new Logger('bot'); -$log->pushHandler(new StreamHandler('../bot.log')); +$log->pushHandler(new StreamHandler('../logs/robot.txt')); /** * Авторизация @@ -93,10 +93,10 @@ function registration(string $id, string $number): bool document::write($arangodb->session, 'viber', ['id' => $id, 'status' => 'inactive', 'number' => $number]) ) )) return false; - else throw new exception('Не удалось создать аккаунт или записать номер в существующий'); // Инициализация ребра: workers -> viber - if (($worker = collection::search( + if (collection::init($arangodb->session, 'workers') + && ($worker = collection::search( $arangodb->session, sprintf( "FOR d IN workers FILTER d.phone == '%d' RETURN d", @@ -200,6 +200,12 @@ try { // Запись о том, что задание подтверждено (в будущем здесь будет отправка на потдверждение модераторам) $work->confirmed = 'да'; + // Запись о том, что необходимо перенести изменения в Google Sheets + $work->transfer_to_sheets = 'да'; + + // Запись идентификатора Google Sheets нового сотрудника + $work->worker = $worker->id; + if (document::update($arangodb->session, $work)) { // Записано обновление в базу данных @@ -284,7 +290,7 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText("**#{$request->getKey()}**\n\n$request->date ($request->start - $request->end)\n**Работа:** \"$request->work\"\n\n**Город:** $market->city\n**Адрес:** $market->address") + ->setText("**#{$request->getKey()}**\n\n" . $request->date['converted'] . " (" . $request->start['converted'] . " - " . $request->end['converted'] . ")\n**Работа:** \"$request->work\"\n\n**Город:** $market->city\n**Адрес:** $market->address") ); // Запись выбора заявки в клавиатуру @@ -323,7 +329,7 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText('⛔️ **Вы не авторизованы**') + ->setText('⛔ **Вы не авторизованы**') ); } }) @@ -358,7 +364,7 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText('⛔️ **Вы не авторизованы**') + ->setText('⛔ **Вы не авторизованы**') ); } }) @@ -393,7 +399,7 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText('⛔️ **Вы не авторизованы**') + ->setText('⛔ **Вы не авторизованы**') ); } }) @@ -428,7 +434,7 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText('⛔️ **Вы не авторизованы**') + ->setText('⛔ **Вы не авторизованы**') ); } }) @@ -438,6 +444,7 @@ try { $id = $event->getSender()->getId(); if (registration($id, $event->getMessage()->getPhoneNumber())) { + // Зарегистрирован $bot->getClient()->sendMessage( (new Text()) @@ -463,9 +470,18 @@ try { (new Text()) ->setSender($botSender) ->setReceiver($id) - ->setText('⛔️ **Вы не авторизованы**') + ->setText('⛔ **Вы не авторизованы**') ); } + } else { + // Не зарегистрирован + + $bot->getClient()->sendMessage( + (new Text()) + ->setSender($botSender) + ->setReceiver($id) + ->setText('⛔ **Вы не авторизованы**') + ); } }) ->run();