From e9599e706f99a694418b123cd3b53850b6449f4c Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Sat, 27 Apr 2024 00:09:43 +0700 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= =?UTF-8?q?=20=D0=BE=D0=B1=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B8=20=D0=BD=D0=B5=D1=83=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=20+=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D0=B2=D0=B8?= =?UTF-8?q?=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../robot/entry/system/public/robot.php | 36 +++++++++++++++++-- telegram-robot-entry.service | 17 --------- 2 files changed, 33 insertions(+), 20 deletions(-) delete mode 100755 telegram-robot-entry.service diff --git a/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php b/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php index af9d732..8b9813b 100644 --- a/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php +++ b/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php @@ -38,7 +38,7 @@ $bot->onMessage(function (Context $ctx) { if ($members = $ctx->getMessage()->getNewChatMembers()) { // Новый аккаунт в чате echo "Обнаружен новый участник в чате" . PHP_EOL; - $ctx->sendMessage('⚠️ Введите ваш табельный номер для авторизации', ['reply_to_message_id' => $ctx->getMessage()->getMessageId()]) + $ctx->sendMessage('⚠️ Введите ваш табельный номер', ['reply_to_message_id' => $ctx->getMessage()->getMessageId()]) ->then(function ($message) use ($ctx, $members) { // Инициализация идентификатора сотрудника $id = $members[0]->getId(); @@ -141,7 +141,22 @@ $bot->onMessage(function (Context $ctx) { // Перебор строк if ($worker === $row->toArray()['ID']) { - $ctx->sendMessage("✅ Авторизован сотрудник: $worker", ['reply_to_message_id' => $message->getMessageId()]); + $ctx->sendMessage("✅ Авторизован сотрудник: $worker", ['reply_to_message_id' => $message->getMessageId()]) + ->then( + function ($message) use ($ctx, $id) { + // Инициализация таймера + React\Promise\Timer\sleep(10)->then( + function () use ($ctx, $id, $message) { + // Удаление сообщения + $ctx->deleteMessage($message->getChat()->getId(), $message->getMessageId()); + + echo "Удалено сообщение ({$message->getMessageId()}) с подтверждением авторизации сотрудника ($id) в чате ({$message->getChat()->getId()})" . PHP_EOL; + }, + function () { + } + ); + } + ); echo "Авторизован сотрудник ($id) по идентификатору ($worker)" . PHP_EOL; // Удаление сообщения из сессионного хранилища @@ -161,7 +176,22 @@ $bot->onMessage(function (Context $ctx) { if (!empty($worker)) { echo "Не удалось авторизовать сотрудника ($id) по номеру ($worker)" . PHP_EOL; - $ctx->sendMessage("⛔ Не найден сотрудник: $id", ['reply_to_message_id' => $message->getMessageId()]); + $ctx->sendMessage("⛔ Не найден сотрудник: $worker", ['reply_to_message_id' => $message->getMessageId()]) + ->then( + function ($message) use ($ctx, $id) { + // Инициализация таймера + React\Promise\Timer\sleep(10)->then( + function () use ($ctx, $id, $message) { + // Удаление сообщения + $ctx->deleteMessage($message->getChat()->getId(), $message->getMessageId()); + + echo "Удалено сообщение ({$message->getMessageId()}) с провалом авторизации сотрудника ($id) в чате ({$message->getChat()->getId()})" . PHP_EOL; + }, + function () { + } + ); + } + ); } } } diff --git a/telegram-robot-entry.service b/telegram-robot-entry.service deleted file mode 100755 index 8b9d8be..0000000 --- a/telegram-robot-entry.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Telegram-robot-entry - -Wants=network.target -After=syslog.target network-online.target - -[Service] -ExecStart=sudo -u www-data /usr/bin/php /var/www/spetsresurs-telegram-robot-entry/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php -PIDFile=/var/run/php/telegram-robot-entry.pid -RemainAfterExit=no -RuntimeMaxSec=3600s -Restart=always -RestartSec=5s - - -[Install] -WantedBy=multi-user.target