Пример #1
0
def points():
    if request.json.get('challenge'):
        return request.json['challenge']

    elif request.json.get('event').get(
            'type') == "reaction_added" and request.json.get('event').get(
                'reaction') in ["house-point", "10-points-to", "hogwarts"]:
        try:
            targetuser = request.json.get('event')['item_user']
        except KeyError:
            abort(500)
        awardinguser = request.json.get('event')['user']
        if targetuser == awardinguser:
            return "Same User"
        for i in [targetuser, awardinguser]:
            reactuserinfo = sc.api_call("users.info", user=i).get('user')
            reactuser = {
                'slack_id': reactuserinfo['id'],
                'name': choose_name(reactuserinfo),
                'house': 5
            }
            Person.insert(**reactuser).on_conflict(
                conflict_target=[Person.slack_id],  # Which constraint?
                update={
                    Person.name: reactuser['name']
                }).execute()

        giveuser = Person.get(slack_id=awardinguser)
        receiveuser = Person.get(slack_id=targetuser)
        house = receiveuser.house

        print giveuser, receiveuser, house

        Point.create(house=house, receive=receiveuser, give=giveuser)

        return "Success"
    elif request.json.get('event').get(
            'type') == "message" and request.json.get('event').get(
                'channel_type') == "im":
        #print request.json.get('event')
        if request.json.get('event').get('text') == "!sort":
            sc.api_call("chat.postMessage",
                        channel=request.json.get('event').get('channel'),
                        text="Where shall I put you?...",
                        attachments=message_attachments)
        return "Success"
    else:
        print request.json.get('event')
        print request.form
        print request.json
        return "Success"