umbot - v2.0.1
    Preparing search index...

    Class MarusiaRequest

    Класс для взаимодействия с API голосового помощника Маруся Расширяет функционал VkRequest для работы со специфичными методами Маруси

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

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

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

    // Загрузка изображения
    async function uploadImage(imagePath: string) {
    // Получаем URL для загрузки
    const uploadLink = await marusia.marusiaGetPictureUploadLink();
    if (uploadLink) {
    // Загружаем изображение
    const upload = await marusia.upload(uploadLink.upload_url, imagePath);
    if (upload) {
    // Сохраняем изображение в библиотеке
    const picture = await marusia.marusiaSavePicture(
    upload.photo,
    upload.server,
    upload.hash
    );
    return picture;
    }
    }
    return null;
    }

    // Загрузка аудио
    async function uploadAudio(audioPath: string) {
    // Получаем URL для загрузки
    const uploadLink = await marusia.marusiaGetAudioUploadLink();
    if (uploadLink) {
    // Загружаем аудиофайл
    const upload = await marusia.upload(uploadLink.upload_url, audioPath);
    if (upload) {
    // Сохраняем аудио в библиотеке
    const audio = await marusia.marusiaCreateAudio(upload);
    return audio;
    }
    }
    return null;
    }

    Hierarchy (View Summary)

    Index

    Constructors

    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

    • Запрашивает URL для загрузки изображения на сервера Маруси

      Returns Promise<null | IMarusiaApiPictureUpdateLink>

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

      Поддерживаемые форматы изображений:

      • JPEG, JPG, PNG
      • Максимальный размер: 5MB
      • Рекомендуемое разрешение: 800x800 пикселей
      // Получение URL для загрузки
      const uploadLink = await marusia.marusiaGetPictureUploadLink();
      if (uploadLink) {
      // Загрузка изображения
      const upload = await marusia.upload(uploadLink.upload_url, 'image.jpg');
      if (upload) {
      console.log('Изображение загружено:', upload);
      }
      }
    • Сохраняет загруженное изображение в библиотеке Маруси

      Parameters

      • photo: string

        Идентификатор загруженного изображения

      • server: string

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

      • hash: string

        Хэш-сумма для проверки изображения

      Returns Promise<null | IMarusiaApiSavePicture>

      Результат сохранения или null при ошибке

      После успешного сохранения изображение становится доступным в библиотеке навыка и может быть использовано в карточках и других элементах интерфейса.

      // Полный процесс загрузки и сохранения изображения
      const uploadLink = await marusia.marusiaGetPictureUploadLink();
      if (uploadLink) {
      const upload = await marusia.upload(uploadLink.upload_url, 'image.jpg');
      if (upload) {
      const picture = await marusia.marusiaSavePicture(
      upload.photo,
      upload.server,
      upload.hash
      );
      if (picture) {
      console.log('ID изображения:', picture.id);
      }
      }
      }
    • Получает список всех изображений из библиотеки навыка

      Returns Promise<any>

      Список изображений или null при ошибке

      Метод возвращает информацию о всех изображениях, загруженных в навык:

      • id: уникальный идентификатор изображения
      • url: URL для доступа к изображению
      • preview_url: URL превью изображения
      • created: дата создания (Unix timestamp)
      // Получение списка изображений
      const pictures = await marusia.marusiaGetPictures();
      if (pictures) {
      pictures.items.forEach(picture => {
      console.log('ID:', picture.id);
      console.log('URL:', picture.url);
      console.log('Превью:', picture.preview_url);
      });
      }
    • Запрашивает URL для загрузки аудиофайла на сервера Маруси

      Returns Promise<null | IMarusiaApiAudioUpdateLink>

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

      Поддерживаемые форматы аудио:

      • MP3
      • Максимальный размер: 10MB
      • Максимальная длительность: 5 минут
      • Рекомендуемый битрейт: 128 kbps
      // Получение URL для загрузки
      const uploadLink = await marusia.marusiaGetAudioUploadLink();
      if (uploadLink) {
      // Загрузка аудио
      const upload = await marusia.upload(uploadLink.upload_url, 'audio.mp3');
      if (upload) {
      console.log('Аудио загружено:', upload);
      }
      }
    • Сохраняет загруженный аудиофайл в библиотеке Маруси

      Parameters

      • audio_meta: object

        Метаданные аудиофайла после загрузки

      Returns Promise<null | IMarusiaApiCreateAudio>

      Результат сохранения или null при ошибке

      После успешного сохранения аудиофайл становится доступным в библиотеке навыка и может быть использован в голосовых ответах.

      // Полный процесс загрузки и сохранения аудио
      const uploadLink = await marusia.marusiaGetAudioUploadLink();
      if (uploadLink) {
      const upload = await marusia.upload(uploadLink.upload_url, 'audio.mp3');
      if (upload) {
      const audio = await marusia.marusiaCreateAudio(upload);
      if (audio) {
      console.log('ID аудио:', audio.id);
      console.log('URL аудио:', audio.url);
      }
      }
      }
    • Инициализирует токен доступа к 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 при ошибке

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

      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 при ошибке