umbot - v2.0.1
    Preparing search index...

    Class VkRequest

    Класс для взаимодействия с API ВКонтакте Предоставляет методы для отправки сообщений, загрузки файлов и работы с другими функциями API

    (https://vk.com/dev/bots_docs) Смотри тут

    import { VkRequest } from './api/VkRequest';

    // Создание экземпляра
    const vk = new VkRequest();
    vk.initToken('your-vk-token');

    // Отправка простого сообщения
    await vk.messagesSend(12345, 'Привет!');

    // Отправка сообщения с клавиатурой
    const keyboard = {
    one_time: true,
    buttons: [[{
    action: {
    type: 'text',
    label: 'Кнопка',
    payload: '{"button": 1}'
    },
    color: 'primary'
    }]]
    };

    await vk.messagesSend(12345, 'Выберите действие:', {
    keyboard: JSON.stringify(keyboard)
    });

    // Загрузка и отправка фото
    const server = await vk.photosGetMessagesUploadServer(12345);
    if (server) {
    const upload = await vk.upload(server.upload_url, 'path/to/photo.jpg');
    if (upload) {
    const photo = await vk.photosSaveMessagesPhoto(
    upload.photo,
    upload.server,
    upload.hash
    );
    if (photo) {
    await vk.messagesSend(12345, 'Фото:', {
    attachments: [`photo${photo.owner_id}_${photo.id}`]
    });
    }
    }
    }

    Hierarchy (View Summary)

    Index

    Constructors

    • Создает экземпляр класса для работы с API ВКонтакте Устанавливает токен из конфигурации приложения, если он доступен

      Returns VkRequest

    Properties

    VK_API_VERSION: "5.103" = '5.103'

    Версия VK API по умолчанию

    VK_API_ENDPOINT: "https://api.vk.com/method/" = 'https://api.vk.com/method/'

    Базовый URL для всех методов VK API

    token: null | string

    Токен доступа к VK API

    isAttachContent: boolean

    Флаг для прямой передачи содержимого файла По умолчанию: false

    Methods

    • Инициализирует токен доступа к VK API

      Parameters

      • token: string

        Токен доступа к VK API

      Returns void

    • Выполняет вызов метода VK API

      Type Parameters

      Parameters

      • method: string

        Название метода VK API

      Returns Promise<null | T>

      Результат выполнения метода или null при ошибке

    • Загружает файл на сервера ВКонтакте

      Parameters

      • url: string

        URL для загрузки файла

      • file: string

        Путь к файлу или его содержимое

      Returns Promise<null | IVkUploadFile>

      Информация о загруженном файле или null при ошибке

      Для фотографий возвращает:

      • photo: строка, содержащая информацию о фото
      • server: строка, идентификатор сервера
      • hash: строка, хеш загруженного файла

      Для документов возвращает:

      • file: строка, информация о загруженном файле
      // Загрузка фото
      const server = await vk.photosGetMessagesUploadServer(12345);
      if (server) {
      const upload = await vk.upload(server.upload_url, 'photo.jpg');
      if (upload) {
      const photo = await vk.photosSaveMessagesPhoto(
      upload.photo,
      upload.server,
      upload.hash
      );
      }
      }

      // Загрузка документа
      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'
      );
      }
      }
    • Отправляет сообщение пользователю или в чат

      Parameters

      • peerId: TVkPeerId

        Идентификатор получателя:

        • ID пользователя (например, "12345")
        • ID чата: 2000000000 + chat_id (например, для чата 1: 2000000001)
        • ID сообщества: -ID сообщества (например, "-123456789")
      • message: string

        Текст сообщения

      • params: null | IVkParams = null

        Дополнительные параметры:

        • random_id: уникальный ID для избежания повторов
        • attachment: медиавложения в формате "<owner_id>_<media_id>" Примеры:
          • Фото: "photo123456_789"
          • Документ: "doc123456_789"
          • Аудио: "audio123456_789"
          • Видео: "video123456_789"
        • keyboard: клавиатура в JSON формате или строкой
        • template: шаблон карусели в JSON формате или строкой

      Returns Promise<null | IVKSendMessage>

      Информация об отправленном сообщении или 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)
      });
    • Получает информацию о пользователе или списке пользователей

      Parameters

      • userId: string[] | TVkPeerId

        ID пользователя или массив ID

      • params: null | IVkParamsUsersGet = null

        Дополнительные параметры запроса

      Returns Promise<null | IVkUsersGet>

      Информация о пользователях или null при ошибке

    • Получает URL для загрузки фотографий в сообщения

      Parameters

      • peerId: TVkPeerId

        ID получателя сообщения

      Returns Promise<null | IVkUploadServer>

      Данные для загрузки или null при ошибке

    • Сохраняет загруженную фотографию в сообщениях

      Parameters

      • photo: string

        Идентификатор фотографии

      • server: string

        Идентификатор сервера

      • hash: string

        Хэш-сумма фотографии

      Returns Promise<null | IVkPhotosSave>

      Информация о сохраненной фотографии или null при ошибке

    • Получает URL для загрузки документов в сообщения

      Parameters

      • peerId: TVkPeerId

        ID получателя сообщения

      • type: TVkDocType

        Тип документа:

        • 'doc': обычный документ (PDF, ZIP и т.д.)
        • 'audio_message': голосовое сообщение
        • 'graffiti': граффити

      Returns Promise<null | IVkUploadServer>

      Данные для загрузки или null при ошибке

      // Загрузка обычного документа
      const server = await vk.docsGetMessagesUploadServer(12345, 'doc');

      // Загрузка голосового сообщения
      const server = await vk.docsGetMessagesUploadServer(12345, 'audio_message');

      // Загрузка граффити
      const server = await vk.docsGetMessagesUploadServer(12345, 'graffiti');
    • Сохраняет загруженный документ

      Parameters

      • file: string

        Идентификатор документа

      • title: string

        Название документа

      • tags: null | string = null

        Теги документа

      Returns Promise<null | IVkDocSave>

      Информация о сохраненном документе или null при ошибке