Started refactoring for future use
This commit is contained in:
parent
712f64a03a
commit
5c2ff27656
6 changed files with 148 additions and 17 deletions
22
APICommands/ChampionMasteryCommand.py
Normal file
22
APICommands/ChampionMasteryCommand.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
from abc import ABC
|
||||||
|
|
||||||
|
import discord
|
||||||
|
import riotwatcher
|
||||||
|
|
||||||
|
import APICommands.Command
|
||||||
|
|
||||||
|
|
||||||
|
class ChampionMastery(APICommands.Command.Command, ABC):
|
||||||
|
keywords = ["cm", "CM", "Championmastery", "championmastery"]
|
||||||
|
|
||||||
|
def __init__(self, pref, api: riotwatcher.LolWatcher, additionalKeywords: list):
|
||||||
|
super().__init__(pref, api, additionalKeywords)
|
||||||
|
|
||||||
|
async def execute(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def info(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def usage(self, message: discord.Message):
|
||||||
|
pass
|
||||||
45
APICommands/Command.py
Normal file
45
APICommands/Command.py
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
from abc import abstractmethod, ABCMeta
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
import discord
|
||||||
|
import riotwatcher
|
||||||
|
|
||||||
|
|
||||||
|
class Command:
|
||||||
|
__metaclass__ = ABCMeta
|
||||||
|
keywords = []
|
||||||
|
pref = ""
|
||||||
|
api: riotwatcher.LolWatcher
|
||||||
|
commandName = ""
|
||||||
|
|
||||||
|
def __init__(self, pref, api: riotwatcher.LolWatcher, addkeywords: list):
|
||||||
|
for i in addkeywords:
|
||||||
|
self.keywords.append(i)
|
||||||
|
self.pref = pref
|
||||||
|
self.api = api
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def execute(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def info(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def usage(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def isCalled(self, message: discord.Message):
|
||||||
|
for i in self.keywords:
|
||||||
|
if message.content.startswith(self.pref + i):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def log(self, message: discord.Message):
|
||||||
|
logMSG = (self.commandName + " request sent in Channel " + str(message.channel.name) + "\n\t- at: " + str(
|
||||||
|
datetime.now())[:-7] + "\n\t- by: " + str(message.author) + "\n\t- content: '" + str(
|
||||||
|
message.content) + "'\n")
|
||||||
|
print(logMSG)
|
||||||
|
with open("requests.log", "a") as f:
|
||||||
|
f.write(logMSG)
|
||||||
22
APICommands/HighestMasteryCommand.py
Normal file
22
APICommands/HighestMasteryCommand.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
from abc import ABC
|
||||||
|
|
||||||
|
import discord
|
||||||
|
import riotwatcher
|
||||||
|
|
||||||
|
import APICommands.Command
|
||||||
|
|
||||||
|
|
||||||
|
class HighestMastery(APICommands.Command.Command, ABC):
|
||||||
|
keywords = ["highestmastery", "highestMastery", "HM", "hm", "Hm", "HighestMastery"]
|
||||||
|
|
||||||
|
def __init__(self, pref, api: riotwatcher.LolWatcher, additionalKeywords: list):
|
||||||
|
super().__init__(pref, api, additionalKeywords)
|
||||||
|
|
||||||
|
async def execute(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def info(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def usage(self, message: discord.Message):
|
||||||
|
pass
|
||||||
22
APICommands/PrefixCommand.py
Normal file
22
APICommands/PrefixCommand.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
from abc import ABC
|
||||||
|
|
||||||
|
import discord
|
||||||
|
import riotwatcher
|
||||||
|
|
||||||
|
import APICommands.Command
|
||||||
|
|
||||||
|
|
||||||
|
class Prefix(APICommands.Command.Command, ABC):
|
||||||
|
keywords = ["prefix"]
|
||||||
|
|
||||||
|
def __init__(self, pref, api: riotwatcher.LolWatcher, additionalKeywords: list):
|
||||||
|
super().__init__(pref, api, additionalKeywords)
|
||||||
|
|
||||||
|
async def execute(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def info(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def usage(self, message: discord.Message):
|
||||||
|
pass
|
||||||
22
APICommands/SummonerLevelCommand.py
Normal file
22
APICommands/SummonerLevelCommand.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
from abc import ABC
|
||||||
|
|
||||||
|
import discord
|
||||||
|
import riotwatcher
|
||||||
|
|
||||||
|
import APICommands.Command
|
||||||
|
|
||||||
|
|
||||||
|
class SummonerLevel(APICommands.Command.Command, ABC):
|
||||||
|
keywords = ["level", "Level", "lvl"]
|
||||||
|
|
||||||
|
def __init__(self, pref, api: riotwatcher.LolWatcher, additionalKeywords: list):
|
||||||
|
super().__init__(pref, api, additionalKeywords)
|
||||||
|
|
||||||
|
async def execute(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def info(self, message: discord.Message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def usage(self, message: discord.Message):
|
||||||
|
pass
|
||||||
32
iLeague.py
32
iLeague.py
|
|
@ -1,9 +1,12 @@
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import discord, pickle
|
import discord
|
||||||
|
import pickle
|
||||||
import requests
|
import requests
|
||||||
from riotwatcher import LolWatcher, ApiError
|
from riotwatcher import LolWatcher
|
||||||
|
|
||||||
|
from APICommands import ChampionMasteryCommand, HighestMasteryCommand, SummonerLevelCommand, PrefixCommand
|
||||||
|
|
||||||
|
|
||||||
def championIdToName(id, championsText):
|
def championIdToName(id, championsText):
|
||||||
|
|
@ -18,12 +21,20 @@ class MyClient(discord.Client):
|
||||||
api: LolWatcher
|
api: LolWatcher
|
||||||
region: str
|
region: str
|
||||||
pref = "$"
|
pref = "$"
|
||||||
|
commands = []
|
||||||
|
|
||||||
def initAPI(self, APIKey, region="EUW1"):
|
def initAPI(self, APIKey, region="EUW1"):
|
||||||
self.api = LolWatcher(APIKey)
|
self.api = LolWatcher(APIKey)
|
||||||
self.region = region
|
self.region = region
|
||||||
|
|
||||||
def load(self): # Loads the prefix file if accesable
|
def initCommands(self):
|
||||||
|
self.commands = []
|
||||||
|
self.commands.append(ChampionMasteryCommand.ChampionMastery(self.api, self.pref, []))
|
||||||
|
self.commands.append(HighestMasteryCommand.HighestMastery(self.api, self.pref, []))
|
||||||
|
self.commands.append(SummonerLevelCommand.SummonerLevel(self.api, self.pref, []))
|
||||||
|
self.commands.append(PrefixCommand.Prefix(self.api, self.pref, []))
|
||||||
|
|
||||||
|
def load(self): # Loads the prefix file if accessable
|
||||||
try:
|
try:
|
||||||
self.pref = pickle.load(open("prefix.data", "rb"))
|
self.pref = pickle.load(open("prefix.data", "rb"))
|
||||||
print("Prefix loaded as: " + self.pref)
|
print("Prefix loaded as: " + self.pref)
|
||||||
|
|
@ -99,7 +110,7 @@ class MyClient(discord.Client):
|
||||||
try:
|
try:
|
||||||
sumname = self.getSummonerNameFromMessage(message)
|
sumname = self.getSummonerNameFromMessage(message)
|
||||||
except:
|
except:
|
||||||
await message.channel.send(err)
|
pass
|
||||||
if sumname != "":
|
if sumname != "":
|
||||||
if not await self.checkSumname(sumname, message):
|
if not await self.checkSumname(sumname, message):
|
||||||
return
|
return
|
||||||
|
|
@ -241,12 +252,6 @@ class MyClient(discord.Client):
|
||||||
ret = inp[argumentstart]
|
ret = inp[argumentstart]
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def getContentFromMessageWithPrefixCommand(self, message: discord.Message, command: list):
|
|
||||||
for i in command:
|
|
||||||
if message.content.startswith(self.pref + i):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def getChampionMasteryList(self, sumname, listlen):
|
def getChampionMasteryList(self, sumname, listlen):
|
||||||
output = ["Der Spieler " + sumname + " hat den höchsten Mastery auf diesen " + str(
|
output = ["Der Spieler " + sumname + " hat den höchsten Mastery auf diesen " + str(
|
||||||
listlen) + " Champions\n"]
|
listlen) + " Champions\n"]
|
||||||
|
|
@ -266,13 +271,6 @@ class MyClient(discord.Client):
|
||||||
output[count] += out
|
output[count] += out
|
||||||
return output
|
return output
|
||||||
|
|
||||||
def log(self, requestType, message: discord.Message):
|
|
||||||
logMSG =( requestType + " request sent in Channel " + str(message.channel.name) + "\n\t- at: " + str(
|
|
||||||
datetime.datetime.now())[:-7] + "\n\t- by: " + str(message.author) + "\n\t- content: '" + str(message.content) + "'\n")
|
|
||||||
print(logMSG)
|
|
||||||
with open("requests.log", "a") as f:
|
|
||||||
f.write(logMSG)
|
|
||||||
|
|
||||||
def getEncryptedSummonerID(self, name):
|
def getEncryptedSummonerID(self, name):
|
||||||
return self.api.summoner.by_name(self.region, name)["id"]
|
return self.api.summoner.by_name(self.region, name)["id"]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue