mirror of https://github.com/stijndcl/didier
commit
b910018ddc
|
@ -2,7 +2,7 @@ from decorators import help
|
|||
from discord.ext import commands
|
||||
from enums.help_categories import Category
|
||||
from functions import checks, config
|
||||
from functions.football import getMatches, getTable
|
||||
from functions.football import getMatches, getTable, get_jpl_code
|
||||
|
||||
|
||||
class Football(commands.Cog):
|
||||
|
@ -36,6 +36,13 @@ class Football(commands.Cog):
|
|||
async def table(self, ctx, *args):
|
||||
await ctx.send(getTable())
|
||||
|
||||
@commands.check(checks.isMe)
|
||||
@jpl.command(name="Update")
|
||||
async def update(self, ctx):
|
||||
code = get_jpl_code()
|
||||
config.config("jpl", code)
|
||||
await ctx.message.add_reaction("✅")
|
||||
|
||||
|
||||
def setup(client):
|
||||
client.add_cog(Football(client))
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"jpl": "Informatie over de Jupiler Pro League.",
|
||||
"jpl matches": "Bekijk de wedstrijden die gespeeld worden op [Week]. Default naar de huidige speeldag.",
|
||||
"jpl table": "De huidige stand van het klassement.",
|
||||
"jpl update": "Haalt de nieuwe code voor de competitie van dit jaar op.",
|
||||
"leaderboard": "Bekijk de Top 10 van [Categorie].\nIndien je geen categorie opgeeft krijg je een lijst van categorieën.",
|
||||
"les": "Bekijk het lessenrooster voor [Dag] in het [Jaargang]-de jaar.\nIndien je geen dag opgeeft, is dit standaard vandaag. De jaargang is standaard 2.\nLes Morgen/Overmorgen werkt ook.",
|
||||
"lmgtfy": "Stuur iemand een LMGTFY link wanneer ze je een domme vraag stellen in plaats van het zelf op te zoeken.\nQueries met spaties moeten **niet** tussen aanhalingstekens staan.",
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
from enum import Enum
|
||||
from attr import dataclass, field
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from functions.timeFormatters import fromString
|
||||
from functions.scrapers.sporza import getJPLMatches, getJPLTable
|
||||
from functions.stringFormatters import leadingZero
|
||||
from datetime import datetime
|
||||
import re
|
||||
from requests import get
|
||||
import tabulate
|
||||
|
||||
|
||||
|
@ -162,3 +164,14 @@ def _formatRow(row):
|
|||
scoresArray.insert(1, row.find_all("a")[0].renderContents().decode("utf-8").split("<!--")[0])
|
||||
|
||||
return scoresArray
|
||||
|
||||
|
||||
def get_jpl_code() -> int:
|
||||
editions = get("https://api.sporza.be/web/soccer/competitions/48").json()["editions"]
|
||||
newest_edition = editions[0]["_links"]["self"]["href"]
|
||||
phase = get(newest_edition).json()["phases"][0]
|
||||
phase_url = phase["_links"]["self"]["href"]
|
||||
r = re.compile(r"\d+$")
|
||||
match = re.search(r, phase_url)
|
||||
|
||||
return int(match[0])
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from bs4 import BeautifulSoup
|
||||
from functions import config
|
||||
import re
|
||||
from requests import get
|
||||
|
||||
|
@ -38,7 +39,8 @@ def getJPLMatches(week: int):
|
|||
"""
|
||||
JPL matches for a given matchweek
|
||||
"""
|
||||
current_day = get("https://api.sporza.be/web/soccer/matchdays/161733/{}".format(week))
|
||||
jpl = config.get("jpl")
|
||||
current_day = get(f"https://api.sporza.be/web/soccer/phases/{jpl}/matchdays/{week}")
|
||||
|
||||
# Something went wrong
|
||||
if current_day.status_code != 200:
|
||||
|
|
Loading…
Reference in New Issue