2017-02-11 36 views
1

您可以閱讀here,您可以調用具有特定請求的技能。如何使用newSession處理程序調用具有特定請求的技能?

但我的技能有一個新會話處理程序,只要我試圖調用我的技能與特定的請求,它仍然在這個新的會話函數結束。

const handlers = { 
    'NewSession': function() { 
     this.attributes.speechOutput = this.t('WELCOME_MESSAGE', this.t('SKILL_NAME')); 
     this.attributes.repromptSpeech = this.t('WELCOME_REPROMT'); 
     this.emit(':ask', this.attributes.speechOutput, this.attributes.repromptSpeech); 
     }, 
    'RankIntent': function() { 
     const rank1raw = this.event.request.intent.slots.RankOne; 
     const rank2raw = this.event.request.intent.slots.RankTwo; 
     ... 
    } 
} 

是否有一種方式來獲得正確的意圖,否則我將不得不做一些,如果在newsession的功能條款,看看是怎麼進來的,並且功能應對?

回答

1

正如你可以閱讀here on line 17

使用LaunchRequest,而不是newsession的,如果你想使用 一次性模型Alexa的,問[我的技能 - 調用名稱](做 事)...

所以我的做法將是:

const handlers = { 
    'LaunchRequest': function() { 
     this.attributes.speechOutput = this.t('WELCOME_MESSAGE', this.t('SKILL_NAME')); 
     this.attributes.repromptSpeech = this.t('WELCOME_REPROMT'); 
     this.emit(':ask', this.attributes.speechOutput, this.attributes.repromptSpeech); 
     }, 
    'RankIntent': function() { 
     const rank1raw = this.event.request.intent.slots.RankOne; 
     const rank2raw = this.event.request.intent.slots.RankTwo; 
     ... 
    } 
} 
相關問題