@@ -211,20 +211,43 @@ def register_bots_with_lex
211211
212212 next unless @lex_valid_amazon_intents . include? builtin_intent [ :type ]
213213
214- intent_name = generate_lex_full_name builtin_intent [ :name ]
214+ if @builtin_intents [ builtin_intent [ :type ] ] . nil?
215215
216- lex_intent = Lex :: BuiltInIntent . new builtin_intent [ :type ] , intent_name
216+ intent_name = generate_lex_full_name builtin_intent [ :name ]
217217
218- fulfillment_activity = builtin_intent [ :fulfillment_activity ]
218+ lex_intent = Lex :: BuiltInIntent . new builtin_intent [ :type ] , intent_name
219219
220- if !fulfillment_activity . nil? && !fulfillment_activity . empty?
221- lex_fulfillment_activity = Lex ::CodeHookFulfillmentActivity . new fulfillment_activity [ :uri ]
222- lex_intent . set_fulfillment_activity lex_fulfillment_activity
223- end
220+ fulfillment_activity = builtin_intent [ :fulfillment_activity ]
221+
222+ if !fulfillment_activity . nil? && !fulfillment_activity . empty?
223+ lex_fulfillment_activity = Lex ::CodeHookFulfillmentActivity . new fulfillment_activity [ :uri ]
224+ lex_intent . set_fulfillment_activity lex_fulfillment_activity
225+ end
226+
227+ version = @lex_manager . register_intent lex_intent
224228
225- version = @lex_manager . register_intent lex_intent
229+ lex_bot . register_intent intent_name , version
226230
227- lex_bot . register_intent intent_name , version
231+ else
232+
233+ custom_builtin_intent = @builtin_intents [ builtin_intent [ :type ] ]
234+
235+ intent_name = generate_lex_full_name custom_builtin_intent . name
236+
237+ lex_intent = Lex ::BuiltInIntent . new builtin_intent [ :type ] , intent_name
238+
239+ fulfillment_activity = custom_builtin_intent . lex [ :fulfillment_activity ]
240+
241+ if !fulfillment_activity . nil? && !fulfillment_activity . empty?
242+ lex_fulfillment_activity = Lex ::CodeHookFulfillmentActivity . new fulfillment_activity [ :uri ]
243+ lex_intent . set_fulfillment_activity lex_fulfillment_activity
244+ end
245+
246+ version = @lex_manager . register_intent lex_intent
247+
248+ lex_bot . register_intent intent_name , version
249+
250+ end
228251
229252 end
230253
@@ -603,6 +626,15 @@ def register_interaction_model_with_alexa
603626
604627 language_intent = BotManager ::Alexa ::LanguageModel ::Intent . new intent_name
605628
629+ if !@builtin_intents [ intent_name ] . nil?
630+
631+ custom_builtin_intent = @builtin_intents [ intent_name ]
632+
633+ custom_builtin_intent . sample_utterances . each do |utterance |
634+ language_intent . add_sample utterance
635+ end
636+ end
637+
606638 language_intents [ intent_name ] = language_intent
607639
608640 end
0 commit comments