gpt4 book ai didi

javascript - 如何使用 Twilio Whatsapp API 保留状态

转载 作者:行者123 更新时间:2023-12-02 23:44:49 26 4
gpt4 key购买 nike

我正在构建一个 Twilio 机器人,但我很难理解如何保留机器人接收/发送的每条消息的状态。

例如:

bot: "Hello"
user: "show me movies"
bot: "in what language?"
user: "english"

所以此时我向机器人询问了两件事:电影和电影的语言。但我如何保留机器人的上下文呢?即“电影”?我试图深入研究 Twilio docs但那里没有太多信息。

我的代码如下所示:

// 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 开发人员传播者。 👋

大多数情况下,消息 Hook 是无状态的,通常人们将状态保存在自己的数据存储中。不过,您可以做的是使用 cookies that will be send back and forth in a timespan of 4 hours 。这样您就可以保留 session 数据。

您可能还想查看Autopilot它允许您使用 collect 在一项任务中收集多个答案。

希望有帮助。很高兴回答更多问题。 :)

编辑:

这里还有 the particular part in the docs .

关于javascript - 如何使用 Twilio Whatsapp API 保留状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com