Пример #1
0
        self.talk('```' + tabulate(
            table,
            headers=['Match', 'Needs to Confirm', 'Opponent', 'Score', 'Date'])
                  + '```')

    def get_win_streak(self, player_slack_id):
        win_streak = 0
        matches = Match.select().where(
            Match.pending == False, (player_slack_id == Match.winner_handle) |
            (player_slack_id == Match.loser_handle)).order_by(
                Match.played.desc())
        return len(
            list(
                takewhile(lambda m: m.winner_handle == player_slack_id,
                          matches)))


if __name__ == '__main__':
    with open('config.json') as config_data:
        config = json.load(config_data)

    slack_client = SlackClient(config['slack_token'])
    db.connect()
    Match.create_table()
    EloBot(
        slack_client,
        slack_client.get_channel_id(config['channel']),
        config['bot_name'],
        config['min_streak_length'],
    )