удаление сообщений об авторизации и неудаче + исправление сервиса

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2024-04-27 00:09:43 +07:00
parent 57ea64d261
commit e9599e706f
2 changed files with 33 additions and 20 deletions

View File

@ -38,7 +38,7 @@ $bot->onMessage(function (Context $ctx) {
if ($members = $ctx->getMessage()->getNewChatMembers()) { if ($members = $ctx->getMessage()->getNewChatMembers()) {
// Новый аккаунт в чате // Новый аккаунт в чате
echo "Обнаружен новый участник в чате" . PHP_EOL; 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) { ->then(function ($message) use ($ctx, $members) {
// Инициализация идентификатора сотрудника // Инициализация идентификатора сотрудника
$id = $members[0]->getId(); $id = $members[0]->getId();
@ -141,7 +141,22 @@ $bot->onMessage(function (Context $ctx) {
// Перебор строк // Перебор строк
if ($worker === $row->toArray()['ID']) { 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; echo "Авторизован сотрудник ($id) по идентификатору ($worker)" . PHP_EOL;
// Удаление сообщения из сессионного хранилища // Удаление сообщения из сессионного хранилища
@ -161,7 +176,22 @@ $bot->onMessage(function (Context $ctx) {
if (!empty($worker)) { if (!empty($worker)) {
echo "Не удалось авторизовать сотрудника ($id) по номеру ($worker)" . PHP_EOL; 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 () {
}
);
}
);
} }
} }
} }

View File

@ -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