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"