「預覽」模式中的版本有一些模擬「動作」處理程序設置。顯然,不是每個用戶都會欠42美元!在github上的示例代碼中,沒有設置模擬動作處理程序。有關於如何訂閱這些動作事件與處理這方面的例子:https://github.com/watson-virtual-agents/chat-widget/tree/master/examples/basic-actions-example
截至17年5月31日就可以覆蓋所有的在建使用下面的代碼片段的行爲......
const config = { instance: null };
const getUserProfileVariablesMap = {
'bill_amount': '42.01',
'payment_due_date': (() => {
const currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
return `${currentDate.getMonth() + 1}/${currentDate.getDate()}/${currentDate.getFullYear()}`;
})(),
'authorized_users': 'Bob Everyman and Jane Doe'
};
const getUserProfileVariables = (data) => {
const variables = data.message.action.args.variables;
variables.forEach(v => {
const value = getUserProfileVariablesMap[v];
(value) ? config.instance.profile.set(v, value) : config.instance.profile.set(v, '[sample data]');
});
config.instance.sendSilently('success');
};
const success =() => config.instance.sendSilently('success');
const agent =() => config.instance.receive('On your own site you would run code to connect to an agent now.');
const accountSettings =() => config.instance.receive('On your own site you would run code to open the Account Settings page now.');
function registerActions(instance) {
config.instance = instance;
instance.subscribe('action:getUserProfileVariables', getUserProfileVariables);
instance.subscribe('action:updateAddress', success);
instance.subscribe('action:updateUserName', success);
instance.subscribe('action:updatePhoneNumber', success);
instance.subscribe('action:updateEmail', success);
instance.subscribe('action:payBill', success);
instance.subscribe('action:sendPaymentReceipt', success);
instance.subscribe('action:agent', agent);
instance.subscribe('action:openAccountSettingsPage', accountSettings);
};
window.IBMChatActions = {
registerActions: registerActions
};
// window.IBMChatActions.registerActions(window.IBMChat);
有沒有人試圖測試嵌入式WVA聊天機器人?在我看來,獨立聊天機器人的行爲與在預覽模式下運行WVA的行爲不同,獨立聊天機器人始終無法接收第二部分響應。 – starflake