示例#1
0
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__()]
示例#2
0
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__()]
示例#3
0
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__()]
示例#4
0
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__()]
示例#5
0
    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))
示例#6
0
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__()]
示例#7
0
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__()]