diff --git a/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php b/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php index 66e50ea..a1dfec0 100644 --- a/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php +++ b/mirzaev/spetsresurs/telegram/robot/entry/system/public/robot.php @@ -54,6 +54,7 @@ $bot->onMessage(function (Context $ctx) { $timer = React\Promise\Timer\sleep(180); + // @todo Если сотрудник вышел из чата и снова зашёл, ответил правильно и его оставило, то всё равно забанит из-за прошлой сессии $timer->then( function ($value) use ($ctx, $id) { // Изгнание из чата @@ -79,7 +80,8 @@ function check(Context $ctx) if ($member === $ctx->getMessage()->getFrom()->getId()) { // Отправителем табельного номера является тот кто подключился к серверу - $id = $ctx->getMessage()->getText(); + // Инициализация идентификатора (только цифры) + $id = preg_replace('/[^\d]/', '', $ctx->getMessage()->getText()); $settings = json_decode(require(__DIR__ . '/../settings/workers/google.php'), true); $document = require(__DIR__ . '/../settings/workers/document.php'); @@ -110,7 +112,7 @@ function check(Context $ctx) } } - $ctx->sendMessage("⛔ Не найден сотрудник: $id"); + if (!empty($id)) $ctx->sendMessage("⛔ Не найден сотрудник: $id"); } } }