Skip to content

telegraf/telegraf-recast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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