Skip to content

Отправка данных диалога в Google Chatbase

Notifications You must be signed in to change notification settings

popstas/yandex-dialogs-sdk-chatbase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);

About

Отправка данных диалога в Google Chatbase

Resources

Stars

Watchers

Forks

Packages

No packages published