1.2.2 • Published 5 years ago

yandex-dialogs-sdk-chatbase v1.2.2

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

yandex-dialogs-sdk-chatbase

npm version

Отправляет данные диалогов в Google Chatbase.

Middleware for yandex-dialogs-sdk

Installation

npm i yandex-dialogs-sdk-chatbase --save
yarn add yandex-dialogs-sdk-chatbase

Usage

Get api key, add a bot here - https://chatbase.com/bots/main-page

const { Alice } = require('yandex-dialogs-sdk');
const chatbase = require('yandex-dialogs-sdk-chatbase');

const alice = new Alice();
alice.use(chatbase('your_api_key'));

alice.any(ctx => {
    const msg = 'Hello';
    // перед ответом пользователю нужно вызывать этот метод с текстом ответа
    ctx.chatbase.sendEvent(msg);
    return Reply.text(msg);
});
alice.listen(8080);

Advanced usage

Чтобы использовать chatbase на полную мощность, нужно разметить навык.

Подробнее об intents, not handled messages можно почитать в chatbase quickstart.

Intents (команды)

Нужно передавать распознанную команду как intent: ctx.chatbase.setIntent('greeting').

Not handled messages (непонятые сообщения)

Нужно отмечать их через ctx.chatbase.setNotHandled() или ctx.chatbase.setHandled(false).

Feedback (отзывы)

Отзывы можно помечать через ctx.chatbase.setAsFeedback(). Не обнаружено последствий этой разметки.

Версия навыка

Версию можно передавать вторым параметром в конструкторе, либо через ctx.chatbase.setVersion('1.2.3').

Пример с использованием всех возможностей:

const { Alice } = require('yandex-dialogs-sdk');
const chatbase = require('yandex-dialogs-sdk-chatbase');
const packageJson = require('./package.json');

const alice = new Alice();
alice.use(chatbase('your_api_key', packageJson.version)); // версию можно указать в конструкторе

// можно указать версию навыка и так, но это избыточно
alice.use((ctx, next) => {
    ctx.chatbase.setVersion(packageJson.version);
    return next(ctx);
});

alice.command('спасибо', ctx => {
    const msg = 'Пожалуйста';

    ctx.chatbase.setIntent('thankyou')); // любую понятую команду надо размечать
    ctx.chatbase.setAsFeedback()); // оценочный запрос
    ctx.chatbase.sendEvent(msg); // перед ответом пользователю нужно вызывать этот метод с текстом ответа

    return Reply.text(msg);
});

alice.any(ctx => {
    const msg = 'Не понимаю';

    ctx.chatbase.setNotHandled(); // отмечаем непонятное
    ctx.chatbase.sendEvent(msg);

    return Reply.text(msg);
});
alice.listen(8080);
1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago