added m;randomgame

This commit is contained in:
Sakimori 2021-01-03 17:59:13 -05:00
parent 92cd4a1858
commit a2a6e9d7bb
2 changed files with 58 additions and 30 deletions

View File

@ -171,6 +171,11 @@ class team(object):
self.pitcher = temp_rotation[rotation_slot % len(temp_rotation)]
def is_ready(self):
try:
return (len(self.lineup) >= 1 and len(self.rotation) > 0)
except AttributeError:
self.rotation = [self.pitcher]
self.pitcher = None
return (len(self.lineup) >= 1 and len(self.rotation) > 0)
def prepare_for_save(self):

View File

@ -179,6 +179,22 @@ class StartGameCommand(Command):
await msg.channel.send("We can't find one or both of those teams. Check your staging, chief.")
return
class StartRandomGameCommand(Command):
name = "randomgame"
template = "m;randomgame"
description = "Starts a 9-inning game between 2 entirely random teams. Embrace chaos."
async def execute(self, msg, command):
channel = msg.channel
await msg.delete()
await channel.send("Rolling the bones...")
teamslist = games.get_all_teams()
game = games.game(msg.author.name, random.choice(teamslist).finalize(), random.choice(teamslist).finalize(), length=3)
game_task = asyncio.create_task(watch_game(channel, game, user="the winds of chaos"))
await game_task
class SetupGameCommand(Command):
name = "setupgame"
template = "m;setupgame"
@ -488,6 +504,7 @@ commands = [
ShowAllTeamsCommand(),
SearchTeamsCommand(),
StartGameCommand(),
StartRandomGameCommand(),
CreditCommand(),
RomanCommand(),
HelpCommand(),
@ -740,6 +757,9 @@ async def watch_game(channel, newgame, user = None, league = None):
discrim_string = league
state_init["is_league"] = True
elif user is not None:
if isinstance(user, str):
discrim_string = f"Started by {user}"
else:
discrim_string = f"Started by {user.name}"
state_init["is_league"] = False
else:
@ -941,7 +961,7 @@ async def team_pages(msg, all_teams, search_term=None):
async def game_watcher():
while True:
try:
#try:
this_array = gamesarray.copy()
for i in range(0,len(this_array)):
game, channel, user, key = this_array[i]
@ -962,6 +982,9 @@ async def game_watcher():
winstring += f"{winning_team} wins!"
if user is not None:
if isinstance(user, str):
await channel.send(f"A game from {user} just ended.")
else:
await channel.send(f"{user.mention}'s game just ended.")
else:
await channel.send("A game started from this channel just ended.")
@ -971,8 +994,8 @@ async def game_watcher():
await channel.send(embed=final_embed)
gamesarray.pop(i)
break
except:
print("something broke in game_watcher")
#except:
#print("something broke in game_watcher")
await asyncio.sleep(6)