added a few more slashes
This commit is contained in:
parent
d7eb232af4
commit
3d5aba94a9
127
the_prestige.py
127
the_prestige.py
|
@ -434,6 +434,7 @@ class MovePlayerCommand(Command):
|
|||
@client.tree.command()
|
||||
@app_commands.rename(team_name="team", player_name="player", is_pitcher="pitcher", new_pos="newposition")
|
||||
async def moveplayer(interaction, team_name: str, player_name: str, is_pitcher: bool, new_pos: int):
|
||||
"""Moves a player to a different position in your lineup or rotation."""
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if new_pos < 0:
|
||||
raise CommandError("Hey, quit being cheeky. We're just trying to help. New position has to be a natural number, boss.")
|
||||
|
@ -451,9 +452,9 @@ async def moveplayer(interaction, team_name: str, player_name: str, is_pitcher:
|
|||
roster = team.rotation
|
||||
|
||||
if (roster is not None and team.slide_player_spec(player_name, new_pos, roster)) or (roster is None and team.slide_player(player_name, new_pos)):
|
||||
await msg.channel.send(embed=build_team_embed(team))
|
||||
await interaction.channel.send(embed=build_team_embed(team))
|
||||
games.update_team(team)
|
||||
await msg.channel.send("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
await interaction.response.send_message("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
else:
|
||||
raise CommandError("You either gave us a number that was bigger than your current roster, or we couldn't find the player on the team. Try again.")
|
||||
|
||||
|
@ -469,29 +470,36 @@ class AddPlayerCommand(Command):
|
|||
try:
|
||||
team_name = command.split("\n")[1].strip()
|
||||
player_name = command.split("\n")[2].strip()
|
||||
if len(player_name) > 70:
|
||||
raise CommandError("70 characters per player, boss. Quit being sneaky.")
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if owner_id != msg.author.id and msg.author.id not in config()["owners"]:
|
||||
raise CommandError("You're not authorized to mess with this team. Sorry, boss.")
|
||||
|
||||
new_player = games.player(ono.get_stats(player_name))
|
||||
|
||||
if "batter" in command.split("\n")[0].lower():
|
||||
if not team.add_lineup(new_player)[0]:
|
||||
raise CommandError("Too many batters 🎶")
|
||||
elif "pitcher" in command.split("\n")[0].lower():
|
||||
if not team.add_pitcher(new_player):
|
||||
raise CommandError("8 pitchers is quite enough, we think.")
|
||||
else:
|
||||
raise CommandError("You have to tell us if you want a pitcher or a batter, boss. Just say so in the first line, with the command.")
|
||||
|
||||
await msg.channel.send(embed=build_team_embed(team))
|
||||
games.update_team(team)
|
||||
await msg.channel.send("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
except IndexError:
|
||||
raise CommandError("Three lines, remember? Command, then team, then name.")
|
||||
|
||||
@client.tree.command()
|
||||
@app_commands.choices(is_pitcher=[app_commands.Choice(name="pitcher", value=1), app_commands.Choice(name="batter", value=0)])
|
||||
@app_commands.rename(team_name="team", player_name="player", is_pitcher="type")
|
||||
async def addplayer(interaction, team_name: str, player_name: str, is_pitcher: app_commands.Choice[int]):
|
||||
"""Adds a new player to your team."""
|
||||
if len(player_name) > 70:
|
||||
raise CommandError("70 characters per player, boss. Quit being sneaky.")
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if team is None:
|
||||
raise CommandError("We can't find that team, boss. Typo?")
|
||||
if owner_id != interaction.user.id and interaction.user.id not in config()["owners"]:
|
||||
raise CommandError("You're not authorized to mess with this team. Sorry, boss.")
|
||||
|
||||
new_player = games.player(ono.get_stats(player_name))
|
||||
|
||||
if is_pitcher.value == 0:
|
||||
if not team.add_lineup(new_player)[0]:
|
||||
raise CommandError("Too many batters 🎶")
|
||||
else:
|
||||
if not team.add_pitcher(new_player):
|
||||
raise CommandError("8 pitchers is quite enough, we think.")
|
||||
|
||||
await interaction.channel.send(embed=build_team_embed(team))
|
||||
games.update_team(team)
|
||||
await interaction.response.send_message("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
|
||||
class RemovePlayerCommand(Command):
|
||||
name = "removeplayer"
|
||||
template = """m;removeplayer
|
||||
|
@ -503,20 +511,29 @@ class RemovePlayerCommand(Command):
|
|||
try:
|
||||
team_name = command.split("\n")[1].strip()
|
||||
player_name = command.split("\n")[2].strip()
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if owner_id != msg.author.id and msg.author.id not in config()["owners"]:
|
||||
raise CommandError("You're not authorized to mess with this team. Sorry, boss.")
|
||||
|
||||
if not team.delete_player(player_name):
|
||||
raise CommandError("We've got bad news: that player isn't on your team. The good news is that... that player isn't on your team?")
|
||||
|
||||
else:
|
||||
await msg.channel.send(embed=build_team_embed(team))
|
||||
games.update_team(team)
|
||||
await msg.channel.send("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
except IndexError:
|
||||
raise CommandError("Three lines, remember? Command, then team, then name.")
|
||||
|
||||
@client.tree.command()
|
||||
@app_commands.rename(team_name="team", player_name="player")
|
||||
async def removeplayer(interaction, team_name: str, player_name: str):
|
||||
"""Removes a player from your team."""
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if owner_id != interaction.user.id and interaction.user.id not in config()["owners"]:
|
||||
raise CommandError("You're not authorized to mess with this team. Sorry, boss.")
|
||||
elif team is None:
|
||||
raise CommandError("Can't find that team, boss. Typo?")
|
||||
|
||||
if not team.delete_player(player_name):
|
||||
raise CommandError("We've got bad news: that player isn't on your team. The good news is that... that player isn't on your team?")
|
||||
|
||||
else:
|
||||
await interaction.channel.send(embed=build_team_embed(team))
|
||||
games.update_team(team)
|
||||
await interaction.response.send_message("Paperwork signed, stamped, copied, and faxed up to the goddess. Xie's pretty quick with this stuff.")
|
||||
|
||||
class ReplacePlayerCommand(Command):
|
||||
name = "replaceplayer"
|
||||
template = """m;replaceplayer
|
||||
|
@ -584,12 +601,18 @@ class DeleteTeamCommand(Command):
|
|||
|
||||
async def execute(self, msg, command, flags):
|
||||
team_name = command.strip()
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if owner_id != msg.author.id and msg.author.id not in config()["owners"]: #returns if person is not owner and not bot mod
|
||||
raise CommandError("That team ain't yours, chief. If you think that's not right, bug xvi about deleting it for you.")
|
||||
elif team is not None:
|
||||
delete_task = asyncio.create_task(team_delete_confirm(msg.channel, team, msg.author))
|
||||
await delete_task
|
||||
|
||||
|
||||
@client.tree.command()
|
||||
@app_commands.rename(team_name="team")
|
||||
async def deleteteam(interaction, team_name: str):
|
||||
"""Deletes a team. Requires confirmation."""
|
||||
team, owner_id = games.get_team_and_owner(team_name)
|
||||
if owner_id != interaction.user.id and interaction.user.id not in config()["owners"]: #returns if person is not owner and not bot mod
|
||||
raise CommandError("That team ain't yours, chief. If you think that's not right, bug xvi about deleting it for you.")
|
||||
elif team is not None:
|
||||
delete_task = asyncio.create_task(team_delete_confirm(interaction.channel, team, interaction.user))
|
||||
await delete_task
|
||||
|
||||
class AssignOwnerCommand(Command):
|
||||
name = "assignowner"
|
||||
|
@ -1645,12 +1668,12 @@ commands = [
|
|||
ViewArchetypesCommand(), #done
|
||||
ArchetypeHelpCommand(), #done
|
||||
ImportCommand(),
|
||||
SwapPlayerCommand(),
|
||||
MovePlayerCommand(),
|
||||
AddPlayerCommand(),
|
||||
RemovePlayerCommand(),
|
||||
ReplacePlayerCommand(),
|
||||
DeleteTeamCommand(),
|
||||
SwapPlayerCommand(), #done
|
||||
MovePlayerCommand(), #done
|
||||
AddPlayerCommand(), #done
|
||||
RemovePlayerCommand(), #done
|
||||
ReplacePlayerCommand(), #gonna delay
|
||||
DeleteTeamCommand(), #done
|
||||
ShowTeamCommand(), #done
|
||||
SearchTeamsCommand(), #not needed
|
||||
StartGameCommand(), #done
|
||||
|
@ -2209,12 +2232,12 @@ async def team_delete_confirm(channel, team, owner):
|
|||
await checkmsg.add_reaction("👍")
|
||||
await checkmsg.add_reaction("👎")
|
||||
|
||||
def react_check(react, user):
|
||||
return user == owner and react.message == checkmsg
|
||||
def react_check(payload):
|
||||
return payload.user_id == message.author.id and payload.message_id == checkmsg.id
|
||||
|
||||
try:
|
||||
react, user = await client.wait_for('reaction_add', timeout=20.0, check=react_check)
|
||||
if react.emoji == "👍":
|
||||
payload = await client.wait_for('raw_reaction_add', timeout=20.0, check=react_check)
|
||||
if react.emoji.name == "👍":
|
||||
await channel.send("Step back, this could get messy.")
|
||||
if db.delete_team(team):
|
||||
await asyncio.sleep(2)
|
||||
|
@ -2223,7 +2246,7 @@ async def team_delete_confirm(channel, team, owner):
|
|||
await asyncio.sleep(2)
|
||||
await channel.send("Huh. Didn't quite work. Tell xvi next time you see xer.")
|
||||
return
|
||||
elif react.emoji == "👎":
|
||||
elif react.emoji.name == "👎":
|
||||
await channel.send("Message received. Pumping brakes, turning this car around.")
|
||||
return
|
||||
except asyncio.TimeoutError:
|
||||
|
@ -2342,17 +2365,17 @@ async def save_team_confirm(message, newteam):
|
|||
await checkmsg.add_reaction("👍")
|
||||
await checkmsg.add_reaction("👎")
|
||||
|
||||
def react_check(react, user):
|
||||
return user == message.author and react.message == checkmsg
|
||||
def react_check(payload):
|
||||
return payload.user_id == message.author.id and payload.message_id == checkmsg.id
|
||||
|
||||
try:
|
||||
react, user = await client.wait_for('reaction_add', timeout=20.0, check=react_check)
|
||||
if react.emoji == "👍":
|
||||
payload = await client.wait_for('raw_reaction_add', timeout=20.0, check=react_check)
|
||||
if payload.emoji.name == "👍":
|
||||
await message.channel.send("You got it, chief. Saving now.")
|
||||
games.save_team(newteam, message.author.id)
|
||||
await message.channel.send("Saved! Thank you for flying Air Matteo. We hope you had a pleasant data entry.")
|
||||
return
|
||||
elif react.emoji == "👎":
|
||||
elif payload.emoji.name == "👎":
|
||||
await message.channel.send("Message received. Pumping brakes, turning this car around. Try again, chief.")
|
||||
return
|
||||
except asyncio.TimeoutError:
|
||||
|
|
Loading…
Reference in a new issue