[英]how to preserve state using Twilio Whatsapp API
我正在構建一個 Twilio 機器人,我很難理解如何保存機器人接收/發送的每條消息的狀態。
例如:
bot: "Hello"
user: "show me movies"
bot: "in what language?"
user: "english"
所以此時我向機器人詢問了兩件事,電影和電影的語言。 但是我怎樣才能保留機器人的上下文呢? 即“電影”? 我試圖深入研究 Twilio 文檔,但那里沒有太多信息。
我的代碼如下所示:
// whatsapp/main.js
const accountSid = "accountSid";
const authToken = "authToken";
const client = require("twilio")(accountSid, authToken);
const MessagingResponse = require("twilio").twiml.MessagingResponse;
function sendResponse(req, res, next) {
console.log("echo:", req.body.Body);
const twiml = new MessagingResponse();
twiml.message(req.body.Body);
res.writeHead(200, { "Content-Type": "text/xml" });
res.end(twiml.toString());
}
module.exports = { sendMessage, sendResponse };
// api.js
const express = require("express");
const router = express.Router();
const { sendResponse } = require("../actions/whatsapp/main");
router.post("/incoming", (req, res, next) => {
console.log(req.body);
sendResponse(req, res, next);
});
module.exports = router;
所以目前我只是簡單地回應機器人收到的消息。 主要問題是機器人收到的每條消息都是一個新post
請求,所以做我想做的事情有點棘手(或者我更有可能只是不知道該怎么做)
任何幫助將不勝感激,謝謝!
Twilio 開發人員布道者在這里。 👋
大多數情況下,消息掛鈎是無狀態的,通常人們將狀態保存在自己的數據存儲中。 不過,您可以做的是使用將在 4 小時內來回發送的 cookie 。 這樣你就可以持久化會話數據。
您可能還想看看Autopilot ,它允許您使用collect
在一項任務中收集多個答案。
希望有幫助。 很高興回答更多問題。 :)
編輯:
這也是docs 中的特定部分。
我有一個類似的問題,我只是想分享這個。 希望它可以幫助任何有類似問題的人
我閱讀了此答案中共享的鏈接@stefan judis我發現管理狀態取決於您可能沒有錯誤或正確的做法
以下是使用 whatsapp api 處理狀態的一些建議
希望這會有所幫助並幫助遇到同樣問題的任何人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.