首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于重铸bot连接器的我的recast.ai机器人的端点url是什么?

用于重铸bot连接器的我的recast.ai机器人的端点url是什么?
EN

Stack Overflow用户
提问于 2017-01-25 16:49:53
回答 1查看 542关注 0票数 2

我已经在recast.ai上创建了一个机器人,我想将它与slack集成起来。现在,bot连接器正在请求在本地主机运行的我的机器人的端点(由ngrok转发)。现在我的问题是:

  1. 我的机器人实际上运行在recast.ai (我已经创建和训练过),而不是在我的机器上,那么我如何转发它(我相信它和Microsoft一样)?
  2. 我应该为我的recast.ai机器人开发一个解析器&托管它,那么bot连接器意味着什么呢?
EN

回答 1

Stack Overflow用户

发布于 2017-01-26 09:24:42

您的bot不是在Recast.AI上运行的,Recast.AI是一个平台和一个API,您可以在这里训练一个bot来理解用户的输入。但是,您需要创建一个接收用户输入的脚本,并将其发送到Recast.AI API以进行分析。

Bot连接器帮助您将脚本连接到任何通道(如信使或空闲),并从这些通道接收所有用户的输入。

因此,您需要使用ngrok在本地运行脚本(也称为bot),并在bot连接器接口中设置这个URL,以接收来自用户的每条消息。

如果您在NodeJs中创建了机器人,您的脚本将如下所示:

代码语言:javascript
复制
npm install --save recastai recastai-botconnector express body-parser 

您的文件index.js:

代码语言:javascript
复制
/* module imports */
const BotConnector = require('recastai-botconnector')
const recastai = require('recastai')
const express = require('express')
const bodyParser = require('body-parser')

/* Bot Connector connection */
const myBot = new BotConnector({ userSlug: 'YOUR_USER_SLUG', botId: 'YOUR_BOT_ID', userToken: 'YOUR_USER_TOKEN' })

/* Recast.AI API connection */
const client = new recastai.Client('YOUR_REQUEST_TOKEN')

/* Server setup */
const app = express()
const port = 5000

app.use(bodyParser.json())
app.post('/', (req, res) => myBot.listen(req, res))
app.listen(port, () => console.log('Bot running on port', port))

/* When a bot receive a message */
myBot.onTextMessage(message => {
  console.log(message)
  const userText = message.content.attachment.content
  const conversationToken = message.senderId

  client.textConverse(userText, { conversationToken })
    .then(res => {
      // We get the first reply from Recast.AI or a default reply
      const reply = res.reply() || 'Sorry, I didn\'t understand'

      const response = {
        type: 'text',
        content: reply,
      }

      return message.reply(response)
    })
    .then(() => console.log('Message successfully sent'))
    .catch(err => console.error(`Error while sending message: ${err}`))
})

运行你的机器人

代码语言:javascript
复制
node index.js
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41857134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档