Microsoft Bot Frameworkを使用して、着信および発信ボットメッセージの間でAPIをプロキシする方法はありますか?Microsoft Bot Framework - サードパーティAPIから応答を送信する方法
私が置き換えられました:
server.post('/api/messages', connector.listen());
req.body.text
を取り、別のエンドポイントに送信し、私の独自の実装で。
エンドポイントの応答をチャットに戻すにはどうすればよいですか?
server.post('/api/messages', (req, res, next) => {
request.post('endpoint', {
json: {"text": req.body.text},
}, (error, response, body) => {
// how to send body as an outgoing chat message?
})
})
更新:エセキエル・Jadibの答えは動作しませんなぜ
指摘して、私は完全なコードを追加しました。 req
は、ボットのコールバック関数内で定義されていません。
const restify = require('restify')
const builder = require('botbuilder')
const request = require('request')
// Setup Restify Server
const server = restify.createServer()
server.use(restify.plugins.bodyParser())
server.listen(process.env.port || process.env.PORT || 3978, function() {
console.log('%s listening to %s', server.name, server.url)
})
// Create chat connector for communicating with the Bot Framework Service
const connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
})
server.post('/api/messages', connector.listen())
const bot = new builder.UniversalBot(connector, function (session) {
request.post('endpoint', {
json: {"text": req.body.text}
}, (error, response, body) => {
session.send(body)
})
})
使用session.message.textまたはsession.messageの代わりreq.body:参考
、あなたはここでミドルウェアの機能を実証作業例ボットを見つけることができます.text –