From 06964afae6c8f9db7bafa9411aaae7f4ec218e58 Mon Sep 17 00:00:00 2001 From: s-prechtl Date: Thu, 17 Mar 2022 14:22:55 +0100 Subject: [PATCH] HighestMasteryCommand.py refactored --- APICommands/HighestMasteryCommand.py | 85 ++++++++++++---------------- 1 file changed, 37 insertions(+), 48 deletions(-) diff --git a/APICommands/HighestMasteryCommand.py b/APICommands/HighestMasteryCommand.py index bf82e98..c4a1ace 100644 --- a/APICommands/HighestMasteryCommand.py +++ b/APICommands/HighestMasteryCommand.py @@ -19,57 +19,46 @@ class HighestMastery(APICommands.Command.Command, ABC): sumname = "" firstIsInt = intTryParse(message.content.split(" ")[1])[1] - if len(message.content.split(" ")) > 2 and firstIsInt: # If number is given + try: + sumname = APICommands.Command.getSummonerNameFromMessage(message, 2) + except: + await self.usage(message) + if sumname != "": + if not await self.checkSumname(sumname, message): + return + listlen = int(message.content.split(" ")[1]) if firstIsInt else 10 try: - sumname = APICommands.Command.getSummonerNameFromMessage(message, 2) + output = self.getChampionMasteryList(sumname, listlen) + for i in output: + await message.channel.send(i) except: await self.usage(message) - if sumname != "": - if not await self.checkSumname(sumname, message): - return - try: - listlen = int(message.content.split(" ")[1]) - output = self.getChampionMasteryList(sumname, listlen) - for i in output: - await message.channel.send(i) - except: - await self.usage(message) - elif not firstIsInt: # no number given - try: - sumname = APICommands.Command.getSummonerNameFromMessage(message, 1) - except: - await self.usage(message) - if sumname != "": - try: - listlen = 10 - output = self.getChampionMasteryList(sumname, listlen) - for i in output: - await message.channel.send(i) - except: - await self.usage(message) - async def info(self, message: discord.Message): - pass - async def usage(self, message: discord.Message): - await message.channel.send("Wrong usage of" + self.commandName + "!\nUsage: " + self.pref + "hm [count] [" - "Summonername]") +async def info(self, message: discord.Message): + pass - def getChampionMasteryList(self, sumname, listlen): - output = ["Der Spieler " + sumname + " hat den höchsten Mastery auf diesen " + str( - listlen) + " Champions\n"] - count = 0 - response = self.api.champion_mastery.by_summoner(self.region, self.getEncryptedSummonerID(sumname))[ - :listlen] - championsJSON = getChampionsJSON() - for i in response: - champname = championIdToName(i["championId"], championsJSON) - mpoints = i["championPoints"] - mastery = i["championLevel"] - out = "**" + champname + "**" + " Points: " + str(mpoints) + " Level: " + str( - mastery) + "\n" - if len(output[count]) + len(out) >= 2000: - output.append("") - count += 1 - output[count] += out - return output + +async def usage(self, message: discord.Message): + await message.channel.send("Wrong usage of" + self.commandName + "!\nUsage: " + self.pref + "hm [count] [" + "Summonername]") + + +def getChampionMasteryList(self, sumname, listlen): + output = ["Der Spieler " + sumname + " hat den höchsten Mastery auf diesen " + str( + listlen) + " Champions\n"] + count = 0 + response = self.api.champion_mastery.by_summoner(self.region, self.getEncryptedSummonerID(sumname))[ + :listlen] + championsJSON = getChampionsJSON() + for i in response: + champname = championIdToName(i["championId"], championsJSON) + mpoints = i["championPoints"] + mastery = i["championLevel"] + out = "**" + champname + "**" + " Points: " + str(mpoints) + " Level: " + str( + mastery) + "\n" + if len(output[count]) + len(out) >= 2000: + output.append("") + count += 1 + output[count] += out + return output