def handle(self, handler_input): logger.info("HAN FP_SetNumberQuestionsHandler") speech_list = [] FreePlayAttr.set_attr_free_play( handler_input) # reset questions asked. num_questions = SlotUtils.get_slot_val_by_name(handler_input, 'num_questions') if num_questions is None: ms_can_set_questions = FPNumQuestions.get_ms_can_set_num_questions( ) prompt, reprompt = (FPNumQuestions.get_q_num_questions() for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list( ms_can_set_questions, 2, prompt) else: FreePlayAttr.set_attr_num_questions(handler_input, num_questions) ms_confirm = ConfirmUtils.get_random_confirmation(handler_input) ms_ask_num_questions = FPNumQuestions.get_ms_ask_num_questions( handler_input) prompt = FPPrompts.get_q_fp_setup_prompt(handler_input) reprompt = FPPrompts.get_q_fp_setup_reprompt(handler_input) speech_list += Pauser.make_ms_pause_level_list( ms_confirm, ms_ask_num_questions, 2, prompt) ModeStats.translate_mode_stats_to_sesh(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN FP_SetTimesTablesHandler") attr = handler_input.attributes_manager.session_attributes speech_list = [] ## Get & Set slots lower_table, upper_table, tables_query = ( FreePlayAttr.get_times_table_input_slots(handler_input)) ## Logic checks retry_query = attr.get('inform_query_tables_format', False) tables_provided = FreePlayLogic.check_tables_provided( lower_table, upper_table, tables_query) if tables_provided: FreePlayAttr.set_attr_free_play(handler_input) FreePlayAttr.set_attr_times_tables(handler_input, lower_table, upper_table, tables_query) if retry_query: ms_potential_mistake = FPTimesTables.get_ms_potential_mistake_parsing_query( ) speech_list += Pauser.make_ms_pause_level_list( ms_potential_mistake, 2) else: ms_confirm = ConfirmUtils.get_random_confirmation( handler_input) speech_list.append(ms_confirm) ms_using_tables = (FPTimesTables.get_ms_using_tables_from_input( lower_table, upper_table, tables_query)) speech_list += Pauser.make_ms_pause_level_list(ms_using_tables, 2) if retry_query: ms_retry_query = FPTimesTables.get_ms_can_retry_query_format() speech_list += Pauser.make_ms_pause_level_list( ms_retry_query, 3.5) FreePlayAttr.reset_attr_query_format(handler_input) prompt = FPPrompts.get_q_fp_setup_prompt(handler_input) reprompt = FPPrompts.get_q_fp_setup_reprompt(handler_input) speech_list.append(prompt) ## Ask for times_tables slots else: q_times_tables, reprompt = ( FPTimesTables.get_q_times_tables_input() for _ in range(2)) q_times_tables = CardFuncs.format_prompt(q_times_tables) speech_list.append(q_times_tables) reprompt = LastPrompt.get_last_prompt(handler_input) ModeStats.translate_mode_stats_to_sesh(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN NoHandler") ms_confirmation = ConfirmUtils.get_confirmation(punct=True) prompt = HelpUtils.get_q_what_todo() reprompt = HelpUtils.get_ms_help_overview() speech_list = (ms_confirmation, 1, prompt) speech = get_linear_nlg(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN CreateUserProfileHandler") user_name = SlotUtils.get_first_slot_value(handler_input) if not user_name: logger.info("HAN RetryUserName") ms_welcome = UserProfileUtils.get_ms_welcome(handler_input) ms_retry_name = UserProfileUtils.get_ms_did_not_hear_name() prompt, reprompt = ( UserProfileUtils.get_q_retry_name() for _ in range(2)) prompt = CardFuncs.format_prompt(prompt) speech_list = ( ms_welcome, 0.5, ms_retry_name, 1.75, prompt ) else: logger.info("HAN CreatedProfile") UserProfileUtils.set_sesh_attr(handler_input, user_name) PlayerDict.create_new_player(handler_input, user_name) ms_confirm = ConfirmUtils.get_player_confirmation(handler_input) ms_created_first_profile = UserProfileUtils.get_ms_created_first_profile(handler_input) ms_overview = HelpUtils.get_ms_act_descript() prompt, reprompt = ( HelpUtils.get_q_what_todo() for _ in range(2)) prompt = CardFuncs.format_prompt(prompt) speech_list = ( ms_confirm, 1, ms_created_first_profile, 3, ms_overview, 2.25, prompt ) speech = get_linear_nlg(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return ( handler_input.response_builder .speak(speech) .ask(reprompt) .set_card( SimpleCard( card_title, card_text)) .response)
def handle(self, handler_input): logger.info("HAN FP_ParametersIntent") speech_list = [] ms_confirm = ConfirmUtils.get_confirmation(True) ms_fp_params = FPSpeech.get_ms_fp_parameters(handler_input) prompt, reprompt = (LastPrompt.get_last_prompt(handler_input) for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list(ms_confirm, 1, ms_fp_params, 2.5, prompt) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): speech_list = [] ms_confirm = ConfirmUtils.get_random_confirmation(handler_input) prompt, reprompt = (HelpUtils.get_q_what_todo() for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list(ms_confirm, 2, prompt) ModeStats.translate_mode_stats_to_sesh(handler_input) ## Set end all attr FreePlayAttr.set_attr_end_fp(handler_input) SM_Attr.set_attr_end_survival_mode(handler_input) SC_Attr.set_attr_end_sc(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN NumQuestionsAnsweredHandler") attr = handler_input.attributes_manager.session_attributes speech_list = [] questions_answered = attr.get('questions_answered', 0) ms_confirm = ConfirmUtils.get_player_confirmation(handler_input) ms_ans_questions = random.choice( mult_questions.data.MT_NUM_QUESTIONS_ANS).format( questions_answered) prompt, reprompt = (LastPrompt.get_last_prompt(handler_input) for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list(ms_confirm, 1, ms_ans_questions, 2, prompt) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN SC_StartHandler") speech_list = [] SC_Attr.set_attr_start_sc(handler_input) player_obj = PlayerDict.load_player_obj(handler_input) difficulty = SlotUtils.get_resolved_value(handler_input, 'difficulty') if not difficulty: ms_welcome = SC_WelcomeUtils.get_ms_welcome(player_obj) q_difficulty, reprompt = ( SC_Difficulty.get_q_sc_difficulty(player_obj) for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list( ms_welcome, 2, q_difficulty) elif difficulty: SC_Attr.set_sc_diff(handler_input, difficulty) ms_confirmation = ConfirmUtils.get_confirmation(True) ms_use_difficulty = SC_Difficulty.get_ms_using_difficulty( difficulty) SC_Questions.load_sc_questions(handler_input) ms_start_timer = SC_WelcomeUtils.get_ms_starting_time() question = SC_Questions.get_question(handler_input, first_question=True) reprompt = question speech_list += Pauser.make_ms_pause_level_list( ms_confirmation, 0.5, ms_use_difficulty, 2, ms_start_timer, question) SC_Attr.save_start_time(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN FP_SetTableBoundsHandler") speech_list = [] lower_bound, upper_bound = FreePlayAttr.get_table_bound_slots( handler_input) FreePlayAttr.set_table_bounds(handler_input, lower_bound, upper_bound) bounds_provided = FreePlayLogic.check_table_bounds_provided( lower_bound, upper_bound) if bounds_provided: confirm = ConfirmUtils.get_random_confirmation(handler_input) ms_adjusted_table_bounds = FPUpperLowerBounds.get_ms_set_table_bounds( lower_bound, upper_bound) prompt = FPPrompts.get_q_fp_setup_prompt(handler_input) reprompt = FPPrompts.get_q_fp_setup_reprompt(handler_input) # QuestionAttr.increment_questions_answered(handler_input, increase=False) ## New question, but not counted as answered. speech_list += Pauser.make_ms_pause_level_list( confirm, 1, ms_adjusted_table_bounds, 2, prompt) else: ms_can_change_bounds = FPUpperLowerBounds.get_ms_can_change_table_bounds( ) prompt, reprompt = (FPUpperLowerBounds.get_q_change_bounds() for _ in range(2)) speech_list += Pauser.make_ms_pause_level_list( ms_can_change_bounds, 2.5, prompt) ModeStats.translate_mode_stats_to_sesh(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)
def handle(self, handler_input): logger.info("HAN FP_StartHandler") attr = handler_input.attributes_manager.session_attributes speech_list = [] ## Set attr & get slots FreePlayAttr.set_attr_free_play(handler_input) ## Get table_input to start game. lower_table, upper_table, tables_query = ( FreePlayAttr.get_times_table_input_slots(handler_input)) FreePlayAttr.set_attr_times_tables(handler_input, lower_table, upper_table, tables_query) ## Logic check retry_query = attr.get('inform_query_tables_format', False) tables_provided = FreePlayLogic.check_tables_provided( lower_table, upper_table, tables_query) tables_exist = FreePlayLogic.check_tables_exist(handler_input) log_all(retry_query, tables_exist) ## Confirmation if tables_provided or tables_exist: if retry_query: ms_potential_mistake = FPTimesTables.get_ms_potential_mistake_parsing_query( ) speech_list += Pauser.make_ms_pause_level_list( ms_potential_mistake, 2) else: ms_confirm = ConfirmUtils.get_confirmation(punct=True) speech_list += Pauser.make_ms_pause_level_list(ms_confirm, 1) if tables_provided: ms_using_tables = ( FPTimesTables.get_ms_using_tables_from_input( lower_table, upper_table, tables_query)) elif tables_exist: ms_using_tables = None # Create method to use existing tables. speech_list += Pauser.make_ms_pause_level_list(ms_using_tables, 2) if retry_query: ms_retry_query = FPTimesTables.get_ms_can_retry_query_format() speech_list += Pauser.make_ms_pause_level_list( ms_retry_query, 3.5) FreePlayAttr.reset_attr_query_format(handler_input) ms_first_problem = FPQuestions.get_question(handler_input, first_question=True) speech_list.append(ms_first_problem) reprompt = FPQuestions.get_rephrased_question(handler_input) if not tables_provided: ms_welcome = FPSpeech.get_ms_welcome(handler_input) q_times_tables, reprompt = ( FPTimesTables.get_q_times_tables_input() for _ in range(2)) q_times_tables = CardFuncs.format_prompt(q_times_tables) speech_list += Pauser.make_ms_pause_level_list( ms_welcome, 1.5, q_times_tables) ModeStats.translate_mode_stats_to_sesh(handler_input) speech = ' '.join(speech_list) card_title, card_text = CardFuncs.get_card_info(handler_input, speech) return (handler_input.response_builder.speak(speech).ask( reprompt).set_card(SimpleCard(card_title, card_text)).response)