diff --git a/fight/fight.py b/fight/fight.py index 2aa7533..abe30c1 100644 --- a/fight/fight.py +++ b/fight/fight.py @@ -211,6 +211,25 @@ class Fight: @fadmin.command(name="score") async def fadmin_score(self, ctx, mID, score1, score2): """Set's the score for matchID and clears disputes""" + currFight = await self._getcurrentfight(ctx) + tID = await self._activefight(ctx) + if not currFight: + await ctx.send("No tournament currently running!") + return + + if not currFight["OPEN"]: + await ctx.send("Tournament currently not accepting new players") + return + + if await self._infight(ctx, tID, user.id): + await ctx.send("You are already in this tournament!") + return + + currFight["PLAYERS"].append(user.id) + + await self._save_fight(ctx, tID, currFight) + + await ctx.send("User has been added to tournament") # **********************Fightset command group start********************* @@ -669,9 +688,9 @@ class Fight: async def _save_tracker(self, ctx, messageid: int, matchData): """Save a passed fight""" - guild_group = self.config.guild(ctx.guild) - async with guild_group.srtracker() as allTracker: - alltracker[str(messageid)] = matchData + + async with self.config.srtracker() as allTracker: + allTracker[str(messageid)] = matchData # allTracker = dict(await self.config.srtracker()) # allTracker[messageid] = matchData @@ -806,7 +825,7 @@ class Fight: if theT["RULES"]["TYPE"] == 0: return await self._rr_report_wl(guild, tID, mID, member, False) - async def _report_dispute(self, guild: discord.Guild, tID, mID, member: discord.Member): + async def _report_dispute(self, guild: discord.Guild, tID, mID): """Reports a win for member in match""" theT = await self._getfight(guild, tID) @@ -814,7 +833,7 @@ class Fight: return False if theT["RULES"]["TYPE"] == 0: - return await self._rr_report_dispute(guild, tID, mID, member) + return await self._rr_report_dispute(guild, tID, mID) return False @@ -836,7 +855,7 @@ class Fight: """User reports a win or loss for member in match""" theT = await self._getfight(guild, tID) - teamnum = await self._rr_matchperms(guild, tID user.id, mID) + teamnum = await self._rr_matchperms(guild, tID, user.id, mID) # _rr_parseuser has already be run in on_raw_reaction_add, should be safe to proceed without checking again @@ -873,12 +892,12 @@ class Fight: for mID in theR: if not await self._rr_matchover(ctx, tID, mID): match = theT["TYPEDATA"]["MATCHES"][mID] - if (match["USERSCORE1"]["SCORE1"] == math.ceil(theT["RULES"]["BESTOF"]/2)) != + if ((match["USERSCORE1"]["SCORE1"] == math.ceil(theT["RULES"]["BESTOF"]/2)) != (match["USERSCORE1"]["SCORE2"] == math.ceil(theT["RULES"]["BESTOF"]/2)) and (match["USERSCORE2"]["SCORE1"] == math.ceil(theT["RULES"]["BESTOF"]/2)) != (match["USERSCORE2"]["SCORE2"] == math.ceil(theT["RULES"]["BESTOF"]/2)) and (match["USERSCORE1"]["SCORE1"] == match["USERSCORE2"]["SCORE1"]) and - (match["USERSCORE1"]["SCORE2"] == match["USERSCORE2"]["SCORE2"]): + (match["USERSCORE1"]["SCORE2"] == match["USERSCORE2"]["SCORE2"])): theT["TYPEDATA"]["MATCHES"][mID]["SCORE1"] = theT["TYPEDATA"]["MATCHES"][mID]["USERSCORE1"]["SCORE1"] theT["TYPEDATA"]["MATCHES"][mID]["SCORE1"] = theT["TYPEDATA"]["MATCHES"][mID]["USERSCORE2"]["SCORE2"] @@ -886,14 +905,6 @@ class Fight: else: await self._rr_report_dispute(guild, tID, mID) - - async def _rr_(self, guild: discord.Guild, tID, mID): - """Applies scores to all non-disputed matches""" - theT = await self._getfight(guild, tID) - theR = theT["TYPEDATA"]["SCHEDULE"][theT["TYPEDATA"]["ROUND"]] - - await self._save_fight(ctx, tID, theT) - async def _rr_parseuser(self, guild: discord.Guild, tID, userid): theT = await self._getfight(guild, tID) matches = theT["TYPEDATA"]["MATCHES"] @@ -911,8 +922,8 @@ class Fight: theT = await self._getfight(guild, tID) match = theT["TYPEDATA"]["MATCHES"][mID] - if (match["SCORE1"] == math.ceil(theT["RULES"]["BESTOF"]/2)) != - (match["SCORE2"] == math.ceil(theT["RULES"]["BESTOF"]/2)): + if ((match["SCORE1"] == math.ceil(theT["RULES"]["BESTOF"]/2)) != + (match["SCORE2"] == math.ceil(theT["RULES"]["BESTOF"]/2))): return True @@ -1191,5 +1202,5 @@ class Fight: await self._report_loss() await log_channel.send("Message ID: "+str(message_id)+" was reporting a loss") if emoji_id == wld[2]: - await self._report_dispute() + await self._report_dispute(guild, tracker["TID"], tracker["MID"]) await log_channel.send("Message ID: "+str(message_id)+" was reporting a dispute")