удаление сообщений об авторизации и неудаче + исправление сервиса
This commit is contained in:
parent
57ea64d261
commit
e9599e706f
|
@ -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 () {
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
Reference in New Issue