Esempio n. 1
0
def turn_on_credit_processing(request, responder):
    if request.intent == 'confirmation':
        set_credit_flag(responder.frame['user']['id'], True)
        responder.reply('Послугу "Кредит довіри" підключено.')
        return
    if request.intent == 'abort':
        responder.reply('Зрозуміло. Чим іще ми можемо вам допомогти?')
        return
    if request.intent == 'repeat':
        turn_on_credit_continue(request, responder)
        return
    else:
        responder.frame['credit_process_count'] = responder.frame.get(
            'credit_process_count', 0) + 1
        if responder.frame['credit_process_count'] < 3:
            responder.frame['user'] = get_user_data(
                request.context['username'])
            responder.frame['service_plan'] = get_service_plan(
                responder.frame['user']['service_plan_id'])
            responder.params.target_dialogue_state = 'turn_on_credit_processing'
            responder.reply(
                'Перепрошую, я вас не зрозуміла.\n' +
                f'Ми можемо внести вам кредит довіри на суму {responder.frame["service_plan"]["price"]}'
                + f' до {str(datetime.now() + timedelta(days=10))[:10]}.' +
                f'Сплатити {abs(responder.frame["user"]["balance"]) + responder.frame["service_plan"]["price"]} грн '
                f'потрібно протягом 10 днів. ' +
                f'Вас влаштовують такі умови?')
            return
        else:
            responder.frame['credit_process_count'] = 0
            responder.reply(
                'Перепрошую, я вас не зрозуміла. Чим ще можемо вам допомогти?')
            return
Esempio n. 2
0
def service_plan_description(request, responder):
    responder.frame['user'] = get_user_data(request.context['username'])
    responder.frame['service_plan'] = get_service_plan(responder.frame['user']['service_plan_id'])
    responder.reply(f"Ваш тарифний план {responder.frame['service_plan']['name']}.\n" +
                    f"{responder.frame['service_plan']['description']}\n" +
                    f"Вартість складає {responder.frame['service_plan']['price']} "
                    f"гривень на місяць.")
Esempio n. 3
0
def change_service_plan_selection(request, responder):
    if request.intent == 'abort':
        responder.reply("Зрозуміло. Чим ще ми можемо вам допомогти?")
        return
    if request.intent == 'clarify':
        responder.reply("- Смідл Спорт HD Pro +100\n- Смідл Power Time Pro +200\n- Premium HD +200")
        responder.params.target_dialogue_state = 'change_service_plan_selection'
        return
    if request.intent == 'specify_service_plan':
        selected_plan = None
        for e in request.entities:
            if e['type'] == 'service_plan':
                selected_plan = e['value'][0]
        if selected_plan and selected_plan['id'] != responder.frame['service_plan']['id']:
            responder.frame['selected_service_plan'] = get_service_plan(selected_plan['id'])
            responder.params.target_dialogue_state = 'change_service_plan_confirm'
            responder.reply("Ви бажаєте змінити ваш тарифний план з " +
                            f"{responder.frame['service_plan']['name']} на " +
                            f"{responder.frame['selected_service_plan']['name']}?")
            return
    responder.frame['change_service_plan_selection_count'] = responder.frame.get('change_service_plan_selection_count', 0) + 1
    if responder.frame['change_service_plan_selection_count'] < 3:
        responder.params.target_dialogue_state = 'change_service_plan_selection'
        responder.reply(f"Зараз ваш тарифний план {responder.frame['service_plan']['name']}." +
                        f" На який тарифний план ви бажаєте перейти?")
        return
    else:
        responder.frame['change_service_plan_selection_count'] = 0
        responder.reply(f"{vocalized_name(request.context['username'])},  зачекайте на з'єднання, будь ласка.")
Esempio n. 4
0
def turn_on_credit_continue(request, responder):
    responder.frame['user'] = get_user_data(request.context['username'])
    responder.frame['service_plan'] = get_service_plan(
        responder.frame['user']['service_plan_id'])
    responder.params.target_dialogue_state = 'turn_on_credit_processing'
    responder.reply(
        f'Ми можемо внести вам кредит довіри на суму {responder.frame["service_plan"]["price"]}'
        + f' до {str(datetime.now() + timedelta(days=10))[:10]}.' +
        f'Сплатити {abs(responder.frame["user"]["balance"]) + responder.frame["service_plan"]["price"]} грн '
        f'потрібно протягом 10 днів. ' + f'Вас влаштовують такі умови?')
Esempio n. 5
0
def change_service_plan(request, responder):
    for e in request.entities:
        if e['type'] == 'service_plan':
            selected_plan = e['value'][0]
    if not responder.frame.get('verified', False):
        responder.params.target_dialogue_state = 'verify_service_number'
        responder.frame['return_to'] = change_service_plan
        responder.reply(f"Спочатку пройдіть верифікацію. Введіть 8 цифр вашого договору.")
    else:
        responder.frame['user'] = get_user_data(request.context['username'])
        responder.frame['service_plan'] = get_service_plan(responder.frame['user']['service_plan_id'])
        responder.params.target_dialogue_state = 'change_service_plan_selection'
        responder.reply(f"Зараз ваш тарифний план {responder.frame['service_plan']['name']}." +
                        f" На який тарифний план ви бажаєте перейти?")