Exemplo n.º 1
0
def handle_member_answer(
    event_number: str,
    member_number: str,
    origin_conversation_uuid: str,
    origin_call_uuid: str,
    client: nexmo.Client,
):
    """Connects an organizer to a call-in-progress when they answer."""

    # Members can actually be part of multiple events, so look up the event
    # separately.
    member = db.get_member_by_number(member_number)
    event = db.get_event_by_number(event_number)

    if member is None or event is None:
        error_ncco = [{
            "action": "talk",
            "text": common_text.voice_answer_error
        }]
        return error_ncco

    client.send_speech(
        origin_call_uuid,
        text=common_text.voice_answer_announce.format(member=member))

    ncco = [
        {
            "action":
            "talk",
            "text":
            common_text.voice_answer_greeting.format(member=member,
                                                     event=event),
        },
        {
            "action": "conversation",
            "name": origin_conversation_uuid,
            "startOnEnter": True,
            "endOnExit": True,
        },
    ]

    audit_log.log(
        audit_log.Kind.VOICE_CONVERSATION_ANSWERED,
        description=f"{member.name} answered {origin_conversation_uuid[-12:]}.",
        user="******",
        event=event,
    )

    return ncco
Exemplo n.º 2
0
def handle_member_answer(
    event_number: str,
    member_number: str,
    origin_conversation_uuid: str,
    origin_call_uuid: str,
    client: nexmo.Client,
):
    """Connects an organizer to a call-in-progress when they answer."""

    # Members can actually be part of multiple events, so look up the event
    # separately.
    member = db.get_member_by_number(member_number)
    event = db.get_event_by_number(event_number)

    if member is None or event is None:
        error_ncco = [{
            "action":
            "talk",
            "text":
            ("Oh no, an error occurred and we couldn't find the event or "
             "member entry for this call."),
        }]
        return error_ncco

    client.send_speech(origin_call_uuid,
                       text=f"{member.name} is joining this call.")

    ncco = [
        {
            "action": "talk",
            "text": f"Hello {member.name}, connecting you to {event.name}.",
        },
        {
            "action": "conversation",
            "name": origin_conversation_uuid,
            "startOnEnter": True,
            "endOnExit": True,
        },
    ]

    return ncco