示例#1
0
def add_user_mapping(slack_text):
    number = str(slack_text[2])
    receiver_username = slack_text[0].strip("@")

    if NumberMap.objects.all().filter(slack_username=receiver_username).exists():
        return send_response('{0} has already been added. Make your payment now!'.format(receiver_username))

    else:
        new_mapping = NumberMap(phone_number=number, slack_username=receiver_username)
        new_mapping.save()
        return send_response('{0} has been added to Slackmo. Make your payment now!'.format(receiver_username))
def add_user_mapping(slack_text):
    number = str(slack_text[2])
    receiver_username = slack_text[0].strip("@")

    if NumberMap.objects.all().filter(
            slack_username=receiver_username).exists():
        return send_response(
            '{0} has already been added. Make your payment now!'.format(
                receiver_username))

    else:
        new_mapping = NumberMap(phone_number=number,
                                slack_username=receiver_username)
        new_mapping.save()
        return send_response(
            '{0} has been added to Slackmo. Make your payment now!'.format(
                receiver_username))
def venmoauth(request):
    code = request.GET.get('code')

    # parse slack_id and slack_username
    params = request.GET.get('params').split("@@@")
    slack_id = params[0]
    slack_username = params[1]

    # prepare payload Oauth request for Venmo
    # supply Venmo Client_ID, Client_Secret, short-lived Code
    payload = {
        "client_id": "ClIENT_ID",
        "client_secret": "CLIENT_SECRET",
        "code": code
    }

    # exchange short-lived code for access token
    url = "https://api.venmo.com/v1/oauth/access_token"

    response = requests.post(url, payload)
    # parse Venmo response
    response_dict = response.json()

    # receive venmo token & phone number
    venmo_token = response_dict['access_token']
    venmo_number = response_dict['user']['phone']

    # if successful Oauth register user
    if not is_authenticated(slack_id):
        new_user = Requestor(slack_user_id=slack_id,
                             venmo_auth_token=venmo_token)
        new_user.save()

    # also, add user to mappings to venmo
    if not NumberMap.objects.all().filter(
            slack_username=slack_username).exists():
        new_mapping = NumberMap(phone_number=venmo_number,
                                slack_username=slack_username)
        new_mapping.save()

    return redirect('/web/success')
示例#4
0
def venmoauth(request):
    code = request.GET.get('code')

    # parse slack_id and slack_username
    params = request.GET.get('params').split("@@@")
    slack_id = params[0]
    slack_username = params[1]

    # prepare payload Oauth request for Venmo
    # supply Venmo Client_ID, Client_Secret, short-lived Code
    payload = {
    "client_id": "ClIENT_ID",
    "client_secret": "CLIENT_SECRET",
    "code": code
    }

    # exchange short-lived code for access token
    url = "https://api.venmo.com/v1/oauth/access_token"

    response = requests.post(url, payload)
    # parse Venmo response
    response_dict = response.json()

    # receive venmo token & phone number
    venmo_token = response_dict['access_token']
    venmo_number = response_dict['user']['phone']

    # if successful Oauth register user
    if not is_authenticated(slack_id):
        new_user = Requestor(slack_user_id=slack_id, venmo_auth_token=venmo_token)
        new_user.save()

    # also, add user to mappings to venmo
    if not NumberMap.objects.all().filter(slack_username=slack_username).exists():
        new_mapping = NumberMap(phone_number=venmo_number, slack_username=slack_username)
        new_mapping.save()

    return redirect('/web/success')