首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用kommunicate.io从对话框中触发自定义欢迎消息?

如何使用kommunicate.io从对话框中触发自定义欢迎消息?
EN

Stack Overflow用户
提问于 2020-01-18 05:59:56
回答 2查看 698关注 0票数 2

我刚刚开始使用对话框流和kommunicate.io创建一个机器人。因此,我创建了一个简单的bot,并将其与kommunicatesettings集成,最后在我的HTML页面中复制了kommunicatesettings脚本。我可以从机器人那里得到简单的回应。但是现在我想为每个HTML页面设置一个不同的欢迎信息。那么,这能用社区的方式来完成吗?我试过:

代码语言:javascript
复制
    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 || {});

设置中的“文本”。但它什么也做不了。

我只想在欢迎词中显示文件标题。因此,如果某些nodejs实现代码能够做到这一点,那就可以了(document.title和window.location在实现代码中不起作用)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-24 09:44:56

当一个新的会话开始并通过对话框流机器人进行路由时,Kommunicate会触发在Dialogflow控制台中配置的Default Welcome Intent。但是,您可以自定义欢迎消息,并为您的会话动态设置不同的欢迎消息。您必须在对话框流控制台上创建事件,并在customWelcomeEvent参数中传递该事件。下面是完整的脚本:

代码语言:javascript
复制
(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 || {});

当某些事件发生在您的网站上时,您可以动态更新此设置。此设置将应用于更新后开始的所有新会话,即在设置更新后开始的会话将触发新的欢迎事件。

此外,此设置还可用于在网站的不同页面()上显示不同的欢迎信息。

希望能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2020-01-18 19:54:48

您可以启用并自定义default welcome intent中的DialogFlow,当会话通过bot路由时(例如,在页面重新加载和Kommunicate的init时)将触发这些会话。

我不确定你能否为每一页定制欢迎页面,至少不容易。

尝试的一种方法是将一些自定义数据传递给DialogFlow

代码语言:javascript
复制
var chatContext = {
"key1":"value1",
"key2":"value2"
}
Kommunicate.updateSettings({"KM_CHAT_CONTEXT":chatContext})

然后将其传递给web钩子。

代码语言:javascript
复制
"originalDetectIntentRequest": {
"payload": {
 "key1": "value1",
 "key2": "value2"
 }
} 

我认为它最终可以用来个性化你的欢迎信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59797952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档