如何使用 Dialogflow Fulfillment Library WebhookClient 类设置“结束对话”标志?我正在使用由 Cloud Functions for Firebase 提供支持的内联编辑器,以防万一。
情况是一个特定的意图不能被访问超过 3 次。在第一次和第二次访问时,您会收到回复,它允许您说些什么并继续;在第三次访问时,它应该给出响应然后结束对话/关闭麦克风/杀死应用程序(无论这个术语是什么)
对于非结束响应,我使用的是 WebhookClient.add(),并且我使用了丰富的响应和文本到语音的字符串的混合。
从我在 github ( https://github.com/dialogflow/dialogflow-fulfillment-nodejs )上读到的内容来看,我认为 WebhookClient.end() 就是我想要的。但是当我使用它时,sript 崩溃了,我什么也没得到。以下全是里面exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {...}
const agent = new WebhookClient({ request, response });
const fbContext = 'fallbackcount';
function fallback(agent) {
//all fallbacks use this fulfillment, we give up after 3 bunk responses
//check if we've been here before - we will find a context with a counter if we have
let countContext = agent.getContext(fbContext);
let …Run Code Online (Sandbox Code Playgroud) 我的程序有许多不同的线程处理不同的事情,其中之一处理用户输入。
其他线程没有太多阻止调用的方式,那些阻止调用的线程是基于网络的,因此在套接字关闭时将被中断或正常返回。
但是,用户线程可以调用std::cin以获取用户输入。这样做的效果是,当所有其他线程都死掉时,用户线程仍然在用户输入上受阻,并且只会在下一次给出输入时终止。
我有什么办法可以在阻止之前检查是否有任何用户输入要抓取?
我了解cin.peek()存在,但根据我的经验,如果没有任何要读的内容,它将阻止。假定我正确使用了它
我的代码基本上是一个无限循环,当另一个线程切换条件变量时停止该循环:
void doLoop()
{
while (running) //running is shared between all threads and all others die quickly when it is false. It's set to true before the threads are started
{
string input = "";
getline(cin, input);
//Handle Input
}
}
Run Code Online (Sandbox Code Playgroud)
我在Windows上使用VS2013,无法使用外部库。我一直在使用windows.h和std。
在一个关卡中,我正在创造一个演员,该演员旨在在某些时候而不是在其他时候存在。我很好地生成了演员,并计划在我不需要它时销毁它。但我想确保我不会处于这样一种状态:当演员不存在时,我会试图对演员采取行动。
我正在考虑带有 new、delete 和 nullptr 的 c++ 对象指针。我将变量初始化为 nullptr,在使用 new 时分配指针,完成后删除指针,然后将变量重新分配为 nullptr。这样我就可以通过检查指针是否不等于 nullptr 来检查指针是否有效。
什么(如果有的话)相当于 UE4 蓝图中这个看似基本的概念?
blocking ×1
c++ ×1
firebase ×1
javascript ×1
node.js ×1
null ×1
reference ×1
user-input ×1
webhooks ×1
windows-8.1 ×1