41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from abc import ABC
|
|
|
|
import discord
|
|
import riotwatcher
|
|
|
|
import APICommands.Command
|
|
from APICommands.Command import getSummonerNameFromMessage
|
|
|
|
|
|
class SummonerLevel(APICommands.Command.Command, ABC):
|
|
commandName = "Summoner level"
|
|
keywords = ["level", "Level", "lvl"]
|
|
|
|
def __init__(self, pref, api: riotwatcher.LolWatcher, region: str, additionalKeywords: list):
|
|
if additionalKeywords is None:
|
|
additionalKeywords = []
|
|
super().__init__(pref, api, region, additionalKeywords)
|
|
|
|
async def execute(self, message: discord.Message):
|
|
sumname = ""
|
|
try:
|
|
sumname = getSummonerNameFromMessage(message)
|
|
except:
|
|
await self.usage(message)
|
|
if sumname != "":
|
|
level = await self.requestLevel(sumname, message)
|
|
if level is not None:
|
|
await message.channel.send("Der Spieler " + sumname + " hat das Level " + str(level) + ".")
|
|
|
|
async def info(self, message: discord.Message):
|
|
pass
|
|
|
|
async def usage(self, message: discord.Message):
|
|
await message.channel.send("Wrong usage of " + self.commandName + "! Use " + self.pref + "level [Summoner]")
|
|
|
|
async def requestLevel(self, sumname: str, message: discord.Message):
|
|
if not await self.checkSumname(sumname, message):
|
|
return
|
|
response = self.api.summoner.by_name(self.region, sumname)
|
|
return response["summonerLevel"]
|
|
|