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