recast.ai middleware for Telegraf
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
.editorconfig
.eslintignore
.eslintrc
.gitignore
.travis.yml
LICENSE
package.json
readme.md

readme.md

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