[英]Recast.ai: TypeError: Cannot read property 'attachment' of undefined
[英]what would be the end point url of my recast.ai bot for recast bot connector
您的漫游器未在Recast.AI上運行 。 Recast.AI是一個平台和API,您可以在其中訓練機器人以了解用戶的輸入。 但是您需要創建一個接收用戶輸入的腳本,並將其發送到Recast.AI API進行分析。
Bot Connector可幫助您將腳本連接到任何通道(例如Messenger或Slack),並從這些通道接收用戶的所有輸入。
因此,您需要使用ngrok在本地運行腳本(也稱為bot),並在bot連接器界面中設置此URL,以接收來自用戶的每條消息。
如果您在NodeJs中創建機器人,則腳本將如下所示:
npm install --save recastai recastai-botconnector express body-parser
您的文件index.js:
/* 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}`))
})
並運行您的機器人
node index.js
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.