JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q48274F
  • License MIT

Robot SDK for XiaoAi Public Platform

Package Exports

  • aixbot

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aixbot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Robot SDK for XiaoAi Public Platform

SDK for XiaoAi public platform.

install

npm install aixbot

usage

independent

const AixBot = require('aixbot');

const aixbot = new AixBot('123');

// define middleware
aixbot.use(async (ctx, next) => {
    console.log(`process request for '${ctx.request.query}' ...`);
    var start = new Date().getTime();
    await next();
    var execTime = new Date().getTime() - start;
    console.log(`... response in duration ${execTime}ms`);
});

// define event listener
aixbot.onEvent('enterSkill', (ctx) => {
    ctx.query('hi');
});

// define text listener
aixbot.hears('who are you', (ctx) => {
    ctx.query('I am aixbot');
});

// define regex listener
aixbot.hears(/\w+/, (ctx) => {
    ctx.query(ctx.request.query);
});

// close session
aixbot.onEvent('quitSkill', (ctx) => {
    ctx.reply('bye').closeSession();
});

// run http server
aixbot.run(8080);

with KOA

const AixBot = require('aixbot');

const aixbot = new AixBot('123');

// define event listener
aixbot.onEvent('enterSkill', (ctx) => {
    ctx.query('hi');
});

// define text listener
aixbot.hears('who are you', (ctx) => {
    ctx.query('I am aixbot');
});

// define regex listener
aixbot.hears(/\w+/, (ctx) => {
    ctx.query(ctx.request.query);
});

// close session
aixbot.onEvent('quitSkill', (ctx) => {
    ctx.reply('bye').closeSession();
});

const Koa = require('koa');
const koaBody = require('koa-body');
const Router = require('koa-router');

const router = new Router();
const app = new Koa();

// koa middleware
app.use(koaBody());
router.get('/', (ctx, next) => {
    ctx.response.body = 'welcome';
    ctx.response.status = 200;    
});

// register aixbot handler to koa router
router.post('/aixbot', aixbot.httpHandler());
  
app.use(router.routes());

app.listen(8080);
console.log('KOA server is runing...');