如何使用 kommunicate.io 从 Dialogflow 机器人触发自定义欢迎消息?
How to trigger a customised welcome message from Dialogflow bot using kommunicate.io?
我刚刚开始使用 dialogflow 和 kommunicate.io 创建一个机器人。因此,我创建了一个简单的机器人并将其与 kommunicate 集成,最后在我的 HTML 页面中复制了 kommunicatesettings 脚本。我能够从机器人那里得到简单的回应。但现在我想为每个 HTML 页面设置不同的欢迎信息。那么这可以使用 kommunicatesettings 来完成吗?我试过了:
var kommunicateSettings = {"appId":"7519ee060abee2b532e8565aa0527ae","popupWidget":true,"automaticChatOpenOnNavigation":true,
"appSettings": {
"chatWidget": {
"popup": true
},
"chatPopupMessage": [{
"message": "Wanna ask something related to "+document.title+ "?",
"delay": 3000
}],
"text": {
"text": ["My welcome message!"]
}
}
};
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://widget.kommunicate.io/v2/kommunicate.app";
var h = document.getElementsByTagName("head")[0]; h.appendChild(s);
window.kommunicate = m; m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
"text" 在设置中。但是它什么也做不了。
我只想在欢迎消息中显示文档标题。因此,如果一些用于实现的 nodejs 代码可以做到这一点,那就没问题了(document.title 和 window.location 在实现代码中不起作用)。
您可以在 DialogFlow 中启用和自定义 default welcome intent
,当通过机器人路由对话时(例如,在页面重新加载和 Kommunicate 插件初始化时),Kommunicate 会触发它。
我不确定您是否可以为每个页面自定义欢迎页面,至少不容易。
一种尝试方法是将一些自定义数据传递给 DialogFlow
var chatContext = {
"key1":"value1",
"key2":"value2"
}
Kommunicate.updateSettings({"KM_CHAT_CONTEXT":chatContext})
然后传递给 webhook
"originalDetectIntentRequest": {
"payload": {
"key1": "value1",
"key2": "value2"
}
}
我认为它最终可以用来个性化您的欢迎信息。
当新对话开始并通过 Dialogflow 机器人路由时,Kommunicate 会触发在 Dialogflow 控制台中配置的 Default Welcome Intent
。但是,您可以自定义欢迎消息并为您的对话动态设置不同的欢迎消息。您必须在 Dialogflow 控制台上创建事件并在 customWelcomeEvent
参数中传递事件。下面是完整的脚本:
(function (d, m) {
var kommunicateSettings = {
"appId": "your-app-Id",
onInit: function (status, data) {
if (status == "success") {
Kommunicate.updateSettings({ "customWelcomeEvent": "welcome_event_for_home_page" });
}
}
};
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://widget.kommunicate.io/v2/kommunicate.app";
var h = document.getElementsByTagName("head")[0]; h.appendChild(s);
window.kommunicate = m; m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
您可以在网站上发生某些事件时动态更新此设置。
此设置将应用于更新后开始的所有新对话,即设置更新后开始的对话将触发新的欢迎事件。
此外,此设置可用于在您网站的不同页面上显示不同的欢迎信息。
希望对您有所帮助。
我刚刚开始使用 dialogflow 和 kommunicate.io 创建一个机器人。因此,我创建了一个简单的机器人并将其与 kommunicate 集成,最后在我的 HTML 页面中复制了 kommunicatesettings 脚本。我能够从机器人那里得到简单的回应。但现在我想为每个 HTML 页面设置不同的欢迎信息。那么这可以使用 kommunicatesettings 来完成吗?我试过了:
var kommunicateSettings = {"appId":"7519ee060abee2b532e8565aa0527ae","popupWidget":true,"automaticChatOpenOnNavigation":true,
"appSettings": {
"chatWidget": {
"popup": true
},
"chatPopupMessage": [{
"message": "Wanna ask something related to "+document.title+ "?",
"delay": 3000
}],
"text": {
"text": ["My welcome message!"]
}
}
};
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://widget.kommunicate.io/v2/kommunicate.app";
var h = document.getElementsByTagName("head")[0]; h.appendChild(s);
window.kommunicate = m; m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
"text" 在设置中。但是它什么也做不了。
我只想在欢迎消息中显示文档标题。因此,如果一些用于实现的 nodejs 代码可以做到这一点,那就没问题了(document.title 和 window.location 在实现代码中不起作用)。
您可以在 DialogFlow 中启用和自定义 default welcome intent
,当通过机器人路由对话时(例如,在页面重新加载和 Kommunicate 插件初始化时),Kommunicate 会触发它。
我不确定您是否可以为每个页面自定义欢迎页面,至少不容易。
一种尝试方法是将一些自定义数据传递给 DialogFlow
var chatContext = {
"key1":"value1",
"key2":"value2"
}
Kommunicate.updateSettings({"KM_CHAT_CONTEXT":chatContext})
然后传递给 webhook
"originalDetectIntentRequest": {
"payload": {
"key1": "value1",
"key2": "value2"
}
}
我认为它最终可以用来个性化您的欢迎信息。
当新对话开始并通过 Dialogflow 机器人路由时,Kommunicate 会触发在 Dialogflow 控制台中配置的 Default Welcome Intent
。但是,您可以自定义欢迎消息并为您的对话动态设置不同的欢迎消息。您必须在 Dialogflow 控制台上创建事件并在 customWelcomeEvent
参数中传递事件。下面是完整的脚本:
(function (d, m) {
var kommunicateSettings = {
"appId": "your-app-Id",
onInit: function (status, data) {
if (status == "success") {
Kommunicate.updateSettings({ "customWelcomeEvent": "welcome_event_for_home_page" });
}
}
};
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://widget.kommunicate.io/v2/kommunicate.app";
var h = document.getElementsByTagName("head")[0]; h.appendChild(s);
window.kommunicate = m; m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
您可以在网站上发生某些事件时动态更新此设置。 此设置将应用于更新后开始的所有新对话,即设置更新后开始的对话将触发新的欢迎事件。
此外,此设置可用于在您网站的不同页面上显示不同的欢迎信息。
希望对您有所帮助。