Небольшое исправление LongPoll
This commit is contained in:
parent
2f9352fb13
commit
d307d4220e
|
@ -63,16 +63,35 @@ final class longpoll
|
|||
// Инициализация
|
||||
if (empty($robot->id)) throw new Exception('Необходимо указать идентификатор ВКонтакте');
|
||||
if (empty($robot->key)) throw new Exception('Необходимо указать ключ для доступа к LongPoll');
|
||||
if (empty($robot->api['v'])) throw new Exception('Необходимо указать версию используемого API ВКонтакте');
|
||||
if (empty($robot->api) || empty($robot->api['v'])) {
|
||||
// Настройки API не инициализированы или не соблюдены условия
|
||||
|
||||
// Безопасная инициализация
|
||||
$robot->api->init();
|
||||
}
|
||||
|
||||
// Остановка процессов-дубликатов
|
||||
if (!file_exists(core::init()->path_temp)) {
|
||||
// Если не существует каталога temp, то создать
|
||||
mkdir(core::init()->path_temp, 0775, true);
|
||||
}
|
||||
if (file_exists($lock = core::init()->path_temp . '/' . $this->robot->id . '_' . (int) $this->robot->session . '.longpoll')) {
|
||||
// Если существует файл-блокировщик, то удалить его
|
||||
unlink($lock);
|
||||
try {
|
||||
// Поиск директории для временных файлов
|
||||
if (!file_exists(core::init()->path_temp)) {
|
||||
// Не удалось найти директорию для временных файлов
|
||||
|
||||
if (!mkdir(core::init()->path_temp, 0775, true)) {
|
||||
// Не удалось создать директорию для временных файлов
|
||||
|
||||
throw new Exception('Не удалось создать директорию для временных файлов', 500);
|
||||
}
|
||||
}
|
||||
|
||||
// Поиск файла-блокировщика
|
||||
if (file_exists($lock = core::init()->path_temp . '/' . $this->robot->id . '_' . (int) $this->robot->session . '.longpoll')) {
|
||||
// Удалось найти файл-блокировщик
|
||||
|
||||
// Удаление файла
|
||||
unlink($lock);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw new Exception('Не удалось обработать процессы-дубликаты', 500, $e->getPrevious());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -180,7 +199,7 @@ final class longpoll
|
|||
public function get(int $wait = 25): array
|
||||
{
|
||||
if (empty($this->key) || empty($this->server) || empty($this->ts)) {
|
||||
// Если не инициализирован LongPoll-сервер
|
||||
// LongPoll-сервер не инициализирован
|
||||
|
||||
// Запрос на получение доступа и данных LongPoll-сервера
|
||||
$response = json_decode($this->robot->browser->request(method: 'POST', uri: 'groups.getLongPollServer', options: [
|
||||
|
@ -190,7 +209,8 @@ final class longpoll
|
|||
if (isset($response->error)) {
|
||||
// Что-то сделать
|
||||
|
||||
var_export($response->error); die;
|
||||
var_export($response->error);
|
||||
die;
|
||||
}
|
||||
|
||||
// Инициализация
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
9104
|
Loading…
Reference in New Issue