import VK from 'vk-io';
// OR
import { VK } from 'vk-io';
Инициализация новой инстанции
Например
Параметр |
Тип |
Описание |
options |
Object |
Опции |
Устанавливает опции
vk.setOptions(options); // => this
Параметр |
Тип |
Описание |
options |
Object |
Опции |
Опция |
Тип |
Описание |
По умолчанию |
token |
string |
Токен |
null |
language |
string |
Язык возвращаемых данных |
null |
agent |
Agent |
HTTPS агент |
https.Agent |
Доступные языки возвращаемых данных
ru
- русский
ua
- украинский
be
- белорусский
en
- английский
es
- испанский
fi
- финский
de
- немецкий
it
- итальянский
Опция |
Тип |
Описание |
По умолчанию |
appId |
number |
Идентификатор приложения |
null |
appSecret |
string |
Секретный ключ приложения |
null |
login |
string |
Логин (email) |
null |
phone |
string |
Телефон |
null |
password |
string |
Пароль |
null |
authScope |
string |
Доступ приложения |
all |
Опция |
Тип |
Описание |
По умолчанию |
apiMode |
string |
Режим работы API |
sequential |
apiWait |
number |
Время ожидания следующей попытки запроса после ошибки |
3000 |
apiLimit |
number |
Количество запрос к API в секунду |
3 |
apiBaseUrl |
string |
Базовый URL для API |
https://api.vk.com/method |
apiAttempts |
number |
Количество попыток повтора запроса после ошибки |
3 |
apiTimeout |
number |
Время ожидания запроса |
10000 |
apiHeaders |
Object |
Заголовки отправляемые вместе с запросом |
{'User-Agent':`vk-io/${version} (+https://github.com/negezor/vk-io)\`} |
apiExecuteCount |
number |
Количество параллельных запросов при apiMode=(parallel/parallel_selected) |
25 |
apiExecuteMethods |
string[] |
Методы которые будут собираться в execute при apiMode=parallel_selected |
['messages.send'] |
Доступные режимы работы API
sequential
- Все запросы идут последовательно
parallel
- Все запросы собираются пачкой по apiExecuteCount
в метод execute
parallel_selected
- Выбранные методы собираются пачкой по apiExecuteCount
в метод execute
, остальные методы последовательно
Опция |
Тип |
Описание |
По умолчанию |
uploadTimeout |
number |
Время ожидания запроса загрузки |
20000 |
Опция |
Тип |
Описание |
По умолчанию |
pollingWait |
number |
Время ожидания следующей попытки запроса после ошибки |
3000 |
pollingGroupId |
number |
ID группы для polling |
null |
pollingAttempts |
number |
Количество попыток повтора запроса после ошибки |
3 |
Опция |
Тип |
Описание |
По умолчанию |
webhookPath |
string |
Путь для обратного вызова Webhook |
null |
webhookSecret |
string |
Секретный ключ для проверки запросов |
null |
webhookConfirmation |
string |
Строка подтверждения сервера |
null |
Опция |
Тип |
Описание |
По умолчанию |
collectAttempts |
number |
Количество попыток повтора запроса после ошибки |
3 |
Устанавливает токен
Параметр |
Тип |
Описание |
token |
string |
Токен |
Возвращает токен
Устанавливает обработчик капчи
vk.captchaHandler = handler;
Параметр |
Тип |
Описание |
handler |
Function |
Обработчик капчи |
vk.captchaHandler = (payload, retry) => {...};
Параметр |
Тип |
Описание |
payload |
Object |
Полезная нагрузка |
retry |
Function |
Повторяет запрос с кодом капчи |
Список возможных доступных свойств в payload
Свойство |
Тип |
Описание |
sid |
number |
Идентификатор капчи |
src |
string |
URL на изображение капчи |
request |
?Request |
Объект запроса |
Пример использования
vk.captchaHandler = async ({ src }, retry) => {
const key = await myAwesomeCaptchaHandler(src);
try {
await retry(key);
console.log('Капча успешно решена');
} catch (error) {
console.log('Капча неверная');
}
};
Устанавливает обработчик двухфакторной защиты
vk.twoFactorHandler = handler;
Параметр |
Тип |
Описание |
handler |
Function |
Обработчик двух факторной защиты |
vk.twoFactorHandler = (payload, retry) => {...};
Параметр |
Тип |
Описание |
payload |
Object |
Полезная нагрузка |
retry |
Function |
Повторяет запрос с кодом двух факторной защиты |
Пример использования
vk.twoFactorHandler = async (payload, retry) => {
const code = await getTwoFactorCode();
try {
await retry(code);
console.log('Двухфакторная авторизация пройдена');
} catch (error) {
console.log('Двухфакторная авторизация провалилась');
}
};