PHPackages                             ilkatkov/vkmarlib\_php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ilkatkov/vkmarlib\_php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ilkatkov/vkmarlib\_php
======================

Marusia VK Library

1.2.0(3y ago)722MITPHPPHP ^7.4

Since Jan 12Pushed 3y ago1 watchersCompare

[ Source](https://github.com/ilkatkov/vkmarlib_php)[ Packagist](https://packagist.org/packages/ilkatkov/vkmarlib_php)[ RSS](/packages/ilkatkov-vkmarlib-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)DependenciesVersions (8)Used By (0)

VK Marusia Library
==================

[](#vk-marusia-library)

В данном пакете представлена библиотека для работы с навыками/скиллами Маруси.

Для работы библиотеки требуется PHP версии не ниже 7.4.

Оглавление
----------

[](#оглавление)

- [Установка](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Начало работы](#%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B)
- [Классы и их методы](#%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B-%D0%B8-%D0%B8%D1%85-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B)
    - [Skill](#skill)
        - [Текст](#%D1%82%D0%B5%D0%BA%D1%81%D1%82)
        - [Речь пользователя](#%D1%80%D0%B5%D1%87%D1%8C-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F)
        - [TTS](#tts)
        - [Push](#push)
        - [Кнопки](#%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8)
        - [Карточки](#%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D1%87%D0%BA%D0%B8)
        - [Метаданные](#%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5)
        - [Данные сессии](#%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8)
        - [Данные пользователя](#%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F)
        - [Вывод данных](#%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)
    - [Card](#card)
- [Обработка ошибок](#%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA)
- [Примеры](#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)

Установка
---------

[](#установка)

Установить библиотеку можно с помощью composer:

```
composer require ilkatkov/vkmarlib_php

```

Начало работы
-------------

[](#начало-работы)

Для начала использования вам необходимо создать объект библиотеки:

```
$content = file_get_contents('php://input');
$m = new VKMarLib\Skill($content);
```

`$content` - запрос от Маруси, представленный в виде строки JSON. В примерах передается `'php://input'`.

Далее с этим объектом можно работать, используя его методы, например, задать текст ответа при вызове вашего скилла:

```
$m->setText("Hello, world!");
$m->setEndSession(); // устанавливаем конец сессии
echo $m->getResponseJson(); // вывод ответа вебхука
```

Классы и их методы
------------------

[](#классы-и-их-методы)

Библиотека обновляется и на данный момент поддерживает основные методы работы с навыками Маруси:

### Skill

[](#skill)

#### Текст

[](#текст)

МетодОписание`setText(string $text)`Устанавливает текст ответа#### Речь пользователя

[](#речь-пользователя)

МетодОписание`getTokens()`Возвращает распознанные слова в виде массива строк`existInTokens(...$values)`Возвращает true, если хотя бы одно слово из аргументов находится в nluTokens, иначе - false#### TTS

[](#tts)

МетодОписание`setTts(string $tts)`Устанавливает TTS ответа#### Push

[](#push)

МетодОписание`setPush(string $text, array $payload = [])`Устанавливает Push-уведомление с текстом $text и нагрузкой $payload (может быть пустой)#### Кнопки

[](#кнопки)

МетодОписание`addButton(string $title)`Добавляет кнопку с именем $title`addButtons(array $titles)`Добавляет кнопки с именами из массива $titles#### Карточки

[](#карточки)

МетодОписание`addCard(Card $card)`Добавляет заполненную карточку в ответ#### Метаданные

[](#метаданные)

МетодОписание`getClientCity()`Возвращает название города клиента на русском языке`getClientLocale()`Возвращает языковой стандарт клиента`getClientTimezone()`Возвращает часовой пояс клиента#### Данные сессии

[](#данные-сессии)

МетодОписание`setEndSession()`Устанавливает конец сессии`getSessionStates()`Возвращает состояния сессии (session state) запроса`getSessionState(string $key)`Возвращает состояние сессии (session state) запроса по ключу $key`setSessionState(string $key, $value)`Устанавливает значение $value по ключу $key в массив состояний сессии`delSessionState(string $key)`Удаляет состояние сессии по ключу $key`clearSessionStates()`Очищает состояния сессии#### Данные пользователя

[](#данные-пользователя)

МетодОписание`getUserStates()`Возвращает состояния пользователя (user state) запроса`getUserState(string $key)`Возвращает состояние пользователя (user state) запроса по ключу $key`setUserState(string $key, $value)`Устанавливает значение $value по ключу $key в массив состояний пользователя`delUserState(string $key)`Удаляет состояние пользователя по ключу $key`clearUserStates()`Очищает состояния пользователя#### Вывод данных

[](#вывод-данных)

МетодОписание`getResponseJson()`Формирует и возвращает JSON ответ для Маруси### Card

[](#card)

Объект класса для работы с карточками создается следующим образом:

```
use VKMarLib\Classes\Card;

$cardType = "BigImage";
$card = new Card($cardType);
```

, где входной параметр `$type` может принимать значения "BigImage", "ItemsList", "MiniApp" или "Link".

МетодОписание`setImageId(int $imageId)`Устанавливает изображение для карточки`addImageId(int $imageId)`Добавляет изображение с imageId в список ItemsList`setUrl(string $url)`Устанавливает ссылку для карточки`setTitle(string $title)`Устанавливает заголовок для карточки Link`setText(string $text)`Устанавливает текст для карточки Link`getCard()`Возвращает заполненную карточку в виде массиваОбработка ошибок
----------------

[](#обработка-ошибок)

ТипУсловия`VKMarLib\Exceptions\ResponseException`Ошибка формирования ответа для Маруси`VKMarLib\Exceptions\RequestException`Ошибка чтения запроса от Маруси`VKMarLib\Exceptions\ValidationException`Нарушение валидации данных для ответа Марусе`VKMarLib\Exceptions\ArgumentException`Передача неверного параметра в методах формирования ответа для Маруси`VKMarLib\Exceptions\NotAvailableForActionException`Метод не может быть вызванПримеры
-------

[](#примеры)

Все примеры можно найти в директории `/examples`.

License
-------

[](#license)

MIT

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

5

Last Release

1208d ago

Major Versions

v0.0.1-alpha → 1.0.12023-01-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/10ca5ca5ee68f29ade1949fd310780932be504f211c4568d821b256384ee5ce7?d=identicon)[ilkatkov](/maintainers/ilkatkov)

---

Top Contributors

[![ilkatkov](https://avatars.githubusercontent.com/u/55957279?v=4)](https://github.com/ilkatkov "ilkatkov (46 commits)")

### Embed Badge

![Health badge](/badges/ilkatkov-vkmarlib-php/health.svg)

```
[![Health](https://phpackages.com/badges/ilkatkov-vkmarlib-php/health.svg)](https://phpackages.com/packages/ilkatkov-vkmarlib-php)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
