Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dialogflow es 我怎样才能延长上下文的20分钟寿命_Dialogflow Es_Actions On Google - Fatal编程技术网

Dialogflow es 我怎样才能延长上下文的20分钟寿命

Dialogflow es 我怎样才能延长上下文的20分钟寿命,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,正如我在谷歌文档中读到的“所有上下文在激活20分钟后过期”()。我想知道的是,是否有办法延长这一限制。例如,如果我在我的上下文中存储了一个mp3播放列表,这样我就可以在当前音频的末尾播放下一个音频,如果当前mp3的持续时间超过20分钟,我将丢失上下文和下一个mp3的任何信息。您需要设置两件事: 您自己的webhook服务器。 您喜欢的DB(我选择了MongoDB)用于存储由唯一聊天id标识的用户数据,并且可以从您集成聊天机器人的每个平台中不同地检索这些数据。 例如:在facebook上,您可以使

正如我在谷歌文档中读到的“所有上下文在激活20分钟后过期”()。我想知道的是,是否有办法延长这一限制。例如,如果我在我的上下文中存储了一个mp3播放列表,这样我就可以在当前音频的末尾播放下一个音频,如果当前mp3的持续时间超过20分钟,我将丢失上下文和下一个mp3的任何信息。

您需要设置两件事: 您自己的webhook服务器。 您喜欢的DB(我选择了MongoDB)用于存储由唯一聊天id标识的用户数据,并且可以从您集成聊天机器人的每个平台中不同地检索这些数据。 例如:在facebook上,您可以使用与您的机器人进行对话的用户的用户ID作为唯一ID,在twilio上,您可以使用电话号码,在您自己的网络聊天界面上,您可以建立自己的ID(通常是时间戳)作为发送到Dialogflow的请求的参数,并将其存储在客户端浏览器的本地存储中。因此,下次用户在同一浏览器中与您的机器人聊天时,您可以使用此唯一ID获取他的数据

对于facebook,您可以通过以下方式获取用户ID: agent.originalRequest.payload.data.sender.id 对于twilio: agent.originalRequest.payload.data.From 对于web(取决于发送到API的变量) agent.originalRequest.payload.data.{variable}

使用此唯一ID,您可以为每个用户创建自己的DB注册表,获取、检索或存储数据,并使您的上下文永远保持不变

PS:让我知道,如果我是清楚的,它的4:34上午lol,我可以评论这一点,以消除任何疑虑。
和平

您需要设置两件事: 您自己的webhook服务器。 您喜欢的DB(我选择了MongoDB)用于存储由唯一聊天id标识的用户数据,并且可以从您集成聊天机器人的每个平台中不同地检索这些数据。 例如:在facebook上,您可以使用与您的机器人进行对话的用户的用户ID作为唯一ID,在twilio上,您可以使用电话号码,在您自己的网络聊天界面上,您可以建立自己的ID(通常是时间戳)作为发送到Dialogflow的请求的参数,并将其存储在客户端浏览器的本地存储中。因此,下次用户在同一浏览器中与您的机器人聊天时,您可以使用此唯一ID获取他的数据

对于facebook,您可以通过以下方式获取用户ID: agent.originalRequest.payload.data.sender.id 对于twilio: agent.originalRequest.payload.data.From 对于web(取决于发送到API的变量) agent.originalRequest.payload.data.{variable}

使用此唯一ID,您可以为每个用户创建自己的DB注册表,获取、检索或存储数据,并使您的上下文永远保持不变

PS:让我知道,如果我是清楚的,它的4:34上午lol,我可以评论这一点,以消除任何疑虑。
和平

不幸的是,我还没有找到任何有效的解决办法。我希望有人能帮我找到一种方法,但你需要运行自己的webhook服务器,并使用你喜欢的数据库。通过使用每个平台表单附带的唯一聊天id,您可以永久存储信息。我将根据自己的答案解释更多。不幸的是,我还没有找到任何有效的解决方案。我希望有人能帮我找到一种方法,但你需要运行自己的webhook服务器,并使用你喜欢的数据库。通过使用每个平台表单附带的唯一聊天id,您可以永久存储信息。我会就我自己的答案作更多解释。