From 5f5ee9e1f075df1e3a54c3f0be6f4b026f70f729 Mon Sep 17 00:00:00 2001 From: Sakimori Date: Mon, 4 Jan 2021 15:24:19 -0500 Subject: [PATCH 1/4] fixed bug in game_watcher, added game_freeze check to tournament and randomgame --- the_prestige.py | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/the_prestige.py b/the_prestige.py index 07c2e14..b322a2a 100644 --- a/the_prestige.py +++ b/the_prestige.py @@ -184,6 +184,10 @@ class StartRandomGameCommand(Command): description = "Starts a 9-inning game between 2 entirely random teams. Embrace chaos." async def execute(self, msg, command): + if config()["game_freeze"]: + await msg.channel.send("Patch incoming. We're not allowing new games right now.") + return + channel = msg.channel await msg.delete() await channel.send("Rolling the bones...") @@ -485,6 +489,10 @@ class StartTournamentCommand(Command): description = "Starts a tournament with the teams given. Byes will be given to teams to allow for numbers other than powers of two. The current tournament format is:\nBest of 5 until the finals, which are Best of 7" async def execute(self, msg, command): + if config()["game_freeze"]: + await msg.channel.send("Patch incoming. We're not allowing new games right now.") + return + to_parse = command.split("\n")[0] if "--rounddelay " in to_parse: try: @@ -1104,7 +1112,9 @@ async def game_watcher(): game, channel, user, key = this_array[i] if game.over and main_controller.master_games_dic[key][1]["end_delay"] <= 9: final_embed = game_over_embed(game) - if user is not None: + if user is isinstance(user, str): + await channel.send(f"A game started by {user} just ended.") + elif user is not None: await channel.send(f"{user.mention}'s game just ended.") else: await channel.send("A game started from this channel just ended.") @@ -1143,24 +1153,5 @@ def get_team_fuzzy_search(team_name): if len(teams) == 1: team = teams[0] return team - - -#test_bracket = { -# "Milwaukee Lockpicks" : {"wins": 4, "rd": 0}, -# "Madagascar Penguins" : {"wins": 2, "rd": 0}, -# "Twin Cities Evening" : {"wins": 1, "rd": 0}, -# "Washington State Houses" : {"wins": 9, "rd": 0}, -# "Appalachian Underground" : {"wins": 8, "rd": 0}, -# "Pacific2 Rams" : {"wins": 3, "rd": 0}, -# "New Jersey Radio" : {"wins": 11, "rd": 0}, -# "Moline Jolenes" : {"wins": 6, "rd": 0}, -# "California Commissioners" : {"wins": 10, "rd": 0}, -# "Pigeon’s Reckoning" : {"wins": 7, "rd": 0}, -# "Kernow Technologists" : {"wins": 5, "rd": 0} -# } -#tourney = leagues.tournament("Test Tourney", test_bracket, max_innings=3) -#tourney.build_bracket(by_wins=True) -#tourney.bracket.set_winners_dive(['Twin Cities Evening','Madagascar Penguins', 'Pacific2 Rams']) -#print(tourney.bracket.this_bracket) client.run(config()["token"]) \ No newline at end of file From b4202a1a460e68353adfa6c148cf2bcb12a829e6 Mon Sep 17 00:00:00 2001 From: Sakimori Date: Mon, 4 Jan 2021 15:37:53 -0500 Subject: [PATCH 2/4] fixes bug #118 --- games.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/games.py b/games.py index f990724..8724f01 100644 --- a/games.py +++ b/games.py @@ -139,7 +139,7 @@ class team(object): def slide_player(self, name, new_spot): this_player, index, roster = self.find_player(name) - if this_player is not None and new_spot < len(roster): + if this_player is not None and new_spot <= len(roster): roster.pop(index) roster.insert(new_spot-1, this_player) return True From 32136b51dceb7418572bd02dbcfaf2aedb94c8ad Mon Sep 17 00:00:00 2001 From: Sakimori Date: Mon, 4 Jan 2021 15:45:30 -0500 Subject: [PATCH 3/4] added error message to addplayer if pitcher/batter is not specified --- the_prestige.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/the_prestige.py b/the_prestige.py index 2199bad..94b48bc 100644 --- a/the_prestige.py +++ b/the_prestige.py @@ -386,14 +386,17 @@ class AddPlayerCommand(Command): new_player = games.player(ono.get_stats(player_name)) - if "batter" in command.split("\n")[0]: + if "batter" in command.split("\n")[0].lower(): if not team.add_lineup(new_player)[0]: await msg.channel.send("Too many batters 🎶") return - elif "pitcher" in command.split("\n")[0]: + elif "pitcher" in command.split("\n")[0].lower(): if not team.add_pitcher(new_player): await msg.channel.send("8 pitchers is quite enough, we think.") return + else: + await msg.channel.send("You have to tell us if you want a pitcher or a batter, boss. Just say so in the first line, with the command.") + return await msg.channel.send(embed=build_team_embed(team)) games.update_team(team) From 772aa2f7709520581f1cfc3b0033862fce5fbef4 Mon Sep 17 00:00:00 2001 From: Sakimori Date: Mon, 4 Jan 2021 16:17:55 -0500 Subject: [PATCH 4/4] deletes tournament setup message, ensures more than 1 team in a tournament --- the_prestige.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/the_prestige.py b/the_prestige.py index 94b48bc..f40eaaa 100644 --- a/the_prestige.py +++ b/the_prestige.py @@ -518,12 +518,20 @@ class StartTournamentCommand(Command): return team_dic[team] = {"wins": 0} + channel = msg.channel + await msg.delete() + + if len(team_dic) < 2: + await msg.channel.send("One team does not a tournament make.") + return + id = random.randint(1111,9999) tourney = leagues.tournament(tourney_name, team_dic, id=id, secs_between_rounds = round_delay * 60) tourney.build_bracket(random_sort = True) - await start_tournament_round(msg.channel, tourney) + + await start_tournament_round(channel, tourney) commands = [