async def config_handler(result) -> List[Dict]: response = ActionResponse() response.intent = text(INTENT_CONFIG_NAME) response.action = 'command' response.values = [ result.query_result.parameters['command'], 'bool', result.query_result.parameters['value'] ] return [response.__repr__()]
async def config_list_handler(result) -> List[Dict]: def code_list(e): return '<{0}><{1}>{2}</{1}></{0}>'.format('li', 'code', e) cmd_list = '<ul>{}</ul>'.format(''.join(map(code_list, COMMANDS.keys()))) response = Accordion() response.intent = text(INTENT_CONFIG_LIST_NAME) response.add_pane('Commands', cmd_list) return [response.__repr__()]
async def elicitation_question_handler(result) -> List[Dict]: intent = text(INTENT_ELICITATION_QUESTION_NAME) question = TextMessage() question.intent = intent question.text = random_text(INTENT_ELICITATION_QUESTION_TEXT) quick_replies = QuickReply() quick_replies.intent = intent quick_replies.add_reply('Yes', '') quick_replies.add_reply('No', '') return [question.__repr__(), quick_replies.__repr__()]
async def fallback_handler(result) -> List[Dict]: response = TextMessage() response.intent = text(INTENT_FALLBACK_NAME) if 'insult' in result.query_result.parameters: response.text = random_text(INTENT_FALLBACK_INSULT_TEXT) elif 'gibberish' in result.query_result.parameters: response.text = random_text(INTENT_FALLBACK_GIBBERISH_TEXT) else: response.text = random_text(INTENT_FALLBACK_TEXT) return [response.__repr__()]
def car_distance(dist_ms: float, dist_meters: float, track_len: float): track_len = max(track_len, 1000) if dist_meters > track_len: laps = dist_meters / track_len if laps > 1.05: return '{:3.1f} {}'.format(laps, text(LAPS_ACR)) elif laps < 1.05: return '{:3.0f} {}'.format(laps, LAP_ACR) if dist_ms > 60: minute = dist_ms / 60 if minute > 1.05: return '{:3.1f} {}'.format(minute, MINUTES_ACR) elif minute < 1.05: return '{:3.0f} {}'.format(minute, MINUTE_ACR) return Format.duration(int(dist_ms * 1000))
async def welcome_handler(result) -> List[Dict]: response = TextMessage() response.intent = text(INTENT_WELCOME_NAME) response.text = random_text(INTENT_WELCOME_TEXT) return [response.__repr__()]
async def help_handler(result) -> List[Dict]: response = TextMessage() response.intent = text(INTENT_HELP_NAME) response.text = random_text(INTENT_HELP_TEXT) return [response.__repr__()]