added logging
This commit is contained in:
parent
69c34bb9f9
commit
57ea64d261
|
@ -37,19 +37,22 @@ $bot = new Zanzara(require(__DIR__ . '/../settings/key.php'), $config);
|
||||||
$bot->onMessage(function (Context $ctx) {
|
$bot->onMessage(function (Context $ctx) {
|
||||||
if ($members = $ctx->getMessage()->getNewChatMembers()) {
|
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) {
|
->then(function ($message) use ($ctx, $members) {
|
||||||
// Инициализация идентификатора сотрудника
|
// Инициализация идентификатора сотрудника
|
||||||
$id = $members[0]->getId();
|
$id = $members[0]->getId();
|
||||||
|
|
||||||
|
echo "Отправлено сообщение ({$message->getMessageId()}) с запросом ID у сотрудника ($id)" . PHP_EOL;
|
||||||
|
|
||||||
$ctx->getGlobalDataItem("member_{$id}_request")
|
$ctx->getGlobalDataItem("member_{$id}_request")
|
||||||
->then(
|
->then(
|
||||||
function ($old) use ($ctx, $id, $message) {
|
function ($old) use ($ctx, $id, $message) {
|
||||||
|
|
||||||
$timer = function ($ctx, $id, $message) {
|
$timer = function ($ctx, $id, $message) {
|
||||||
$ctx->setGlobalDataItem("member_{$id}_request", $message)
|
$ctx->setGlobalDataItem("member_{$id}_request", $message)
|
||||||
->then(function () use ($ctx, $id) {
|
->then(function () use ($ctx, $id, $message) {
|
||||||
|
echo "Записано сообщение ({$message->getMessageId()}) с запросом ID у сотрудника ($id) в сессионное хранилище" . PHP_EOL;
|
||||||
|
|
||||||
// Инициализация таймера
|
// Инициализация таймера
|
||||||
React\Promise\Timer\sleep(180)->then(
|
React\Promise\Timer\sleep(180)->then(
|
||||||
|
@ -62,11 +65,17 @@ $bot->onMessage(function (Context $ctx) {
|
||||||
// Изгнание из чата
|
// Изгнание из чата
|
||||||
$ctx->kickChatMember($message->getChat()->getId(), $id)
|
$ctx->kickChatMember($message->getChat()->getId(), $id)
|
||||||
->then(function () use ($ctx, $id, $message) {
|
->then(function () use ($ctx, $id, $message) {
|
||||||
|
echo "Сотрудник ($id) изгнан из чата ({$message->getChat()->getId()})" . PHP_EOL;
|
||||||
|
|
||||||
// Удаление сообщения из сессионного хранилища
|
// Удаление сообщения из сессионного хранилища
|
||||||
$ctx->deleteGlobalDataItem("member_{$id}_request");
|
$ctx->deleteGlobalDataItem("member_{$id}_request");
|
||||||
|
|
||||||
|
echo "Удалено сообщение ({$message->getMessageId()}?) (member_{$id}_request) с запросом ID у сотрудника ($id) из сессионного хранилища" . PHP_EOL;
|
||||||
|
|
||||||
// Удаление сообщения
|
// Удаление сообщения
|
||||||
$ctx->deleteMessage($message->getChat()->getId(), $message->getMessageId());
|
$ctx->deleteMessage($message->getChat()->getId(), $message->getMessageId());
|
||||||
|
|
||||||
|
echo "Удалено сообщение ({$message->getMessageId()}) с запросом ID у сотрудника ($id) из чата ({$message->getChat()->getId()})" . PHP_EOL;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -75,18 +84,28 @@ $bot->onMessage(function (Context $ctx) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
echo "Инициализирован таймер изгнания сотрудника ($id)" . PHP_EOL;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
if ($old) {
|
if ($old) {
|
||||||
|
echo "Найдено сообщение ({$old->getMessageId()}) с запросом ID у сотрудника ($id) в сессионном хранилище" . PHP_EOL;
|
||||||
|
|
||||||
$ctx->deleteGlobalDataItem("member_{$id}_request")
|
$ctx->deleteGlobalDataItem("member_{$id}_request")
|
||||||
->then(function () use ($ctx, $id, $message, $timer, $old) {
|
->then(function () use ($ctx, $id, $message, $timer, $old) {
|
||||||
|
echo "Удалено сообщение ({$old->getMessageId()}?) (member_{$id}_request) с запросом ID у сотрудника ($id) из сессионного хранилища" . PHP_EOL;
|
||||||
|
|
||||||
$ctx->deleteMessage($old->getChat()->getId(), $old->getMessageId())
|
$ctx->deleteMessage($old->getChat()->getId(), $old->getMessageId())
|
||||||
->then(function () use ($ctx, $id, $message, $timer) {
|
->then(function () use ($ctx, $id, $message, $timer, $old) {
|
||||||
|
echo "Удалено сообщение ({$old->getMessageId()}) с запросом ID у сотрудника ($id) из чата ({$old->getChat()->getId()})" . PHP_EOL;
|
||||||
$timer($ctx, $id, $message);
|
$timer($ctx, $id, $message);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else $timer($ctx, $id, $message);
|
} else {
|
||||||
|
echo "Не найдено сообщение с запросом ID у сотрудника ($id) в сессионном хранилище" . PHP_EOL;
|
||||||
|
$timer($ctx, $id, $message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -123,19 +142,27 @@ $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()]);
|
||||||
|
echo "Авторизован сотрудник ($id) по идентификатору ($worker)" . PHP_EOL;
|
||||||
|
|
||||||
// Удаление сообщения из сессионного хранилища
|
// Удаление сообщения из сессионного хранилища
|
||||||
$ctx->deleteGlobalDataItem("member_{$id}_request");
|
$ctx->deleteGlobalDataItem("member_{$id}_request");
|
||||||
|
|
||||||
|
echo "Удалено сообщение ({$_message->getMessageId()}) с запросом ID у сотрудника ($id) из сессионного хранилища после успешной авторизации" . PHP_EOL;
|
||||||
|
|
||||||
// Удаление сообщения
|
// Удаление сообщения
|
||||||
$ctx->deleteMessage($_message->getChat()->getId(), $_message->getMessageId());
|
$ctx->deleteMessage($_message->getChat()->getId(), $_message->getMessageId());
|
||||||
|
|
||||||
|
echo "Удалено сообщение ({$_message->getMessageId()}) с запросом ID у сотрудника ($id) из чата ({$_message->getChat()->getId()}) после успешной авторизации" . PHP_EOL;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($worker)) $ctx->sendMessage("⛔ Не найден сотрудник: $id", ['reply_to_message_id' => $message->getMessageId()]);
|
if (!empty($worker)) {
|
||||||
|
echo "Не удалось авторизовать сотрудника ($id) по номеру ($worker)" . PHP_EOL;
|
||||||
|
$ctx->sendMessage("⛔ Не найден сотрудник: $id", ['reply_to_message_id' => $message->getMessageId()]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
Reference in New Issue