Beispiel #1
0
def oauth2_step2():

    code = request.args.get('code')
    url = 'https://slack.com/api/oauth.access?client_id=%s&client_secret=%s&code=%s&redirect_uri=%s' % (
        CLIENT_ID, CLIENT_SECRET, code, REDIRECT_URI)

    r = requests.get(url)
    response = json.loads(r.text)

    s = session()

    team = Team(name=response['team_name'],
                token=response['access_token'],
                id=response['team_id'],
                bot_id=response['bot']['bot_user_id'],
                bot_token=response['bot']['bot_access_token'])
    s.add(team)

    sc = SlackClient(response['access_token'])
    """
    user_im_ids = {}
    
    im_list = sc.api_call('im.list')
    return str(im_list)

    
    for im in im_list['ims']:
        pass
        #user_im_ids[im['user']] = im['id']

    """

    user_list = sc.api_call("users.list")['members']

    for user_object in user_list:

        if user_object['deleted'] or not user_object['is_bot']:
            continue

        user_id = user_object['id']

        user_profile = user_object['profile']

        #im_id = user_im_ids[user_id]
        #user = User(id=user_id, team=team, im_id=im_id)

        user = User(id=user_id, team=team)
        s.add(user)

    s.commit()

    os.system("nohup python bot/rtmbot.py %s &" %
              response['bot']['bot_access_token'])

    return jsonify(r.json())
Beispiel #2
0
def dashboard():

    ad_matches = db.ad_matches()    #./dashboard

    #---------------OPERATIONS--------------------------------

    if request.method == 'POST':

        if request.form.get('operation') == 'schedule_match':

            team1 = request.form.get('team1_id')
            team2 = request.form.get('team2_id')
            date  = request.form.get('date')

            match = Match(team1_id=team1, team2_id=team2, date=date)

            db.addMatch(match)   

            return redirect(url_for('dashboard'))  

        elif request.form.get('operation') == 'delete_match':

            match_id = request.form.get('match_id')

            match = Match(match_id=match_id)

            db.deleteMatch(match)

            return redirect(url_for('dashboard'))

        elif request.form.get('operation') == 'add_team':

            name = request.form.get('team_name')
            captain = request.form.get('captain_name')

            team = Team(name=name, captain=captain)

            db.addTeam(team)

            return redirect(url_for('dashboard'))

        elif request.form.get('operation') == 'delete_team':

            id = request.form.get('team_id')

            team = Team(id=id)

            db.deleteTeam(team)

            return redirect(url_for('dashboard'))

        
        elif request.form.get('operation') == 'add_player':

            name = request.form.get('player_name')
            team_id = request.form.get('team_id')

            player = Player(name=name, team_id=team_id)

            db.addPlayer(player)

            return redirect(url_for('dashboard'))

        elif request.form.get('operation') == 'delete_player':

            id = request.form.get('player_id')
            team_id = request.form.get('team_id')

            player = Player(id=id, team_id=team_id)

            db.deletePlayer(player)

            return redirect(url_for('dashboard'))


    return render_template("./admin/dashboard.html",title="Dash Board", matches=ad_matches)