Создает экземпляр класса для работы с API ВКонтакте Устанавливает токен из конфигурации приложения, если он доступен
Контекст приложения (обязателен)
Protected_appContextКонтекст приложения.
Protected_errorПоследняя ошибка (объект ответа API, Error или текст)
Protected_requestЭкземпляр класса для выполнения HTTP-запросов
Флаг для прямой передачи содержимого файла По умолчанию: false
Токен доступа к VK API
Protected_logПишет информацию об ошибках через AppContext.logError (структурированный логгер)
Текст или объект ошибки для логирования
Получает URL для загрузки документов в сообщения
ID получателя сообщения
Тип документа:
Данные для загрузки или null при ошибке
// Загрузка обычного документа
const server = await vk.docsGetMessagesUploadServer(12345, 'doc');
// Загрузка голосового сообщения
const server = await vk.docsGetMessagesUploadServer(12345, 'audio_message');
// Загрузка граффити
const server = await vk.docsGetMessagesUploadServer(12345, 'graffiti');
Сохраняет загруженный документ
Идентификатор документа
Название документа
Теги документа
Информация о сохраненном документе или null при ошибке
Инициализирует токен доступа к VK API
Токен доступа к VK API
Отправляет сообщение пользователю или в чат
Идентификатор получателя:
domain, а не peer_idТекст сообщения
Дополнительные параметры:
Информация об отправленном сообщении или null при ошибке
// Простое сообщение
await vk.messagesSend(12345, 'Привет!');
// Сообщение с вложениями
await vk.messagesSend(12345, 'Фото:', {
attachments: ['photo123_456', 'doc123_456']
});
// Сообщение с клавиатурой
const keyboard = {
one_time: true,
buttons: [[{
action: {
type: 'text',
label: 'Кнопка',
payload: '{"button": 1}'
},
color: 'primary'
}]]
};
await vk.messagesSend(12345, 'Выберите:', {
keyboard: JSON.stringify(keyboard)
});
// Сообщение с каруселью
const template = {
type: 'carousel',
elements: [{
title: 'Заголовок',
description: 'Описание',
photo_id: '-123456_789',
buttons: [{
action: {
type: 'text',
label: 'Кнопка',
payload: '{"button": 1}'
}
}]
}]
};
await vk.messagesSend(12345, '', {
template: JSON.stringify(template)
});
Получает URL для загрузки фотографий в сообщения
ID получателя сообщения
Данные для загрузки или null при ошибке
Сохраняет загруженную фотографию в сообщениях
Идентификатор фотографии
Идентификатор сервера
Хэш-сумма фотографии
Информация о сохраненной фотографии или null при ошибке
Подтверждение получения callback-события от кнопки. Обязательный метод для обработки message_event в VK Bot API. Без этого вызова VK показывает пользователю "Бот недоступен" при нажатии callback-кнопки.
ID пользователя
ID события из message_event
OptionaleventData: {Данные события (опционально): show_snackbar, open_link или open_modal
OptionalpeerId: TVkPeerIdID диалога из message_event. Для обратной совместимости используется userId
Результат выполнения или null при ошибке
Загружает файл на сервера ВКонтакте
URL для загрузки файла
Путь к файлу или его содержимое
Имя multipart-поля с файлом. Сервер загрузки фото
(photos.getMessagesUploadServer) принимает файл только в поле photo —
с полем file он возвращает пустой photo: "[]", и сохранение фото падает.
Документы и голосовые (docs.getMessagesUploadServer) ждут поле file
(значение по умолчанию).
Информация о загруженном файле или null при ошибке
Для фотографий возвращает:
Для документов возвращает:
// Загрузка фото.
// Поля photo/server/hash у IVkUploadFile опциональны —
// перед вызовом photosSaveMessagesPhoto проверяем их наличие
const server = await vk.photosGetMessagesUploadServer(12345);
if (server) {
const upload = await vk.upload(server.upload_url, 'photo.jpg', 'photo');
if (upload?.photo && upload?.server && upload?.hash) {
const photo = await vk.photosSaveMessagesPhoto(
upload.photo,
upload.server,
upload.hash
); // IVkPhotosSave[] — берём первый элемент
}
}
// Загрузка документа
const server = await vk.docsGetMessagesUploadServer(12345, 'doc');
if (server) {
const upload = await vk.upload(server.upload_url, 'document.pdf');
if (upload) {
const doc = await vk.docsSave(
upload.file,
'Документ',
'тег1,тег2'
);
}
}
Получает информацию о пользователе или списке пользователей
ID пользователя, список ID через запятую или массив ID
Дополнительные параметры запроса
Массив пользователей или null при ошибке
Класс для взаимодействия с API ВКонтакте. Предоставляет методы для отправки сообщений, загрузки файлов и работы с другими функциями API.
See
https://vk.ru/dev/bots_docs
Example