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