Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 1.95 KB

readme.md

File metadata and controls

80 lines (56 loc) · 1.95 KB

recast.ai middleware for Telegraf

Build Status NPM Version

recast.ai middleware for Telegraf. Easily create Telegram bots with Natural Language Processing.

Installation

$ npm install telegraf-recast

Example

const Telegraf = require('telegraf')
const TelegrafAI = require('telegraf-recast')

const app = new Telegraf(process.env.BOT_TOKEN)
const recast = new TelegrafAI(process.env.RECASTAI_TOKEN)

// Add recast.ai middleware
app.use(recast.middleware())

// Intent handler
recast.on('termostat', (ctx) => {
  // Some logic
})

See working example.

API

TelegrafAI.new(token)

Initialize new TelegrafAI.

Param Type Description
token string Recast request access token

TelegrafAI.on(name, fn, [fn, ...])

Adds intent handlers to app

Param Type Description
name string Intent name
fn function Intent handler middleware

User context

Telegraf user context props and functions:

recast.on('intent name', (ctx) => {
  ctx.state.recast            // Current RecastAI context 
  ctx.state.recast.act        // type of text
  ctx.state.recast.intent     // first intent
  ctx.state.recast.intents    // intents
  ctx.state.recast.source     // original text
  ctx.state.recast.entities   // entities
  ctx.state.recast.raw        // raw recast.ai response
})