mirror of https://github.com/stijndcl/didier
Compare commits
No commits in common. "aae56164884af38f750e471a230b171f47de1759" and "1ee990089114fc6b89c1b243ea0ee7ccd3235eb2" have entirely different histories.
aae5616488
...
1ee9900891
|
|
@ -61,11 +61,6 @@ class School(commands.Cog):
|
||||||
if s.semester_over:
|
if s.semester_over:
|
||||||
return await ctx.send("Het semester is afgelopen.")
|
return await ctx.send("Het semester is afgelopen.")
|
||||||
|
|
||||||
# DM only shows user's own minor
|
|
||||||
if ctx.guild is None:
|
|
||||||
minor_roles = [*schedule.find_minor(self.client, ctx.author.id)]
|
|
||||||
return await ctx.send(embed=s.create_schedule(minor_roles=minor_roles).to_embed())
|
|
||||||
|
|
||||||
return await ctx.send(embed=s.create_schedule().to_embed())
|
return await ctx.send(embed=s.create_schedule().to_embed())
|
||||||
|
|
||||||
@commands.command(name="Pin", usage="[Message]")
|
@commands.command(name="Pin", usage="[Message]")
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,7 @@ class Tasks(commands.Cog):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Create embed once because this can be heavy
|
# Create embed once because this can be heavy
|
||||||
if "embed" in category and category["embed_once"]:
|
if "embed" in category:
|
||||||
embed = category["embed"]()
|
embed = category["embed"]()
|
||||||
else:
|
else:
|
||||||
embed = None
|
embed = None
|
||||||
|
|
@ -219,13 +219,6 @@ class Tasks(commands.Cog):
|
||||||
if "embed" not in category:
|
if "embed" not in category:
|
||||||
await userInstance.send(random.choice(category["messages"]))
|
await userInstance.send(random.choice(category["messages"]))
|
||||||
else:
|
else:
|
||||||
# Embed has to be customized per user
|
|
||||||
if embed is None and "embed_once" in category:
|
|
||||||
# TODO clean this up, there's a better way :)
|
|
||||||
# remind category with a before- method & setup per user
|
|
||||||
args = category["argsf"](self.client, user)
|
|
||||||
embed = category["embed"](*args)
|
|
||||||
|
|
||||||
await userInstance.send(random.choice(category["messages"]), embed=embed)
|
await userInstance.send(random.choice(category["messages"]), embed=embed)
|
||||||
|
|
||||||
with open("files/lastTasks.json", "w") as fp:
|
with open("files/lastTasks.json", "w") as fp:
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from data import schedule
|
from data import schedule
|
||||||
from functions import les, config
|
from functions import les, config
|
||||||
from functions.database import remind
|
from functions.database import remind
|
||||||
|
|
@ -15,15 +13,11 @@ class Reminders:
|
||||||
|
|
||||||
self._les = [int(user[0]) for user in rows if user[2]]
|
self._les = [int(user[0]) for user in rows if user[2]]
|
||||||
self._lesMessages = ["Lessenrooster voor vandaag:"]
|
self._lesMessages = ["Lessenrooster voor vandaag:"]
|
||||||
self.les = {"users": self._les, "messages": self._lesMessages, "embed": self.les_embed, "argsf": schedule.find_minor, "embed_once": False, "weekends": False, "disabled": False}
|
self.les = {"users": self._les, "messages": self._lesMessages, "embed": self.lesEmbed, "weekends": False, "disabled": True}
|
||||||
|
|
||||||
self.categories = [self.nightly, self.les]
|
self.categories = [self.nightly, self.les]
|
||||||
|
|
||||||
def les_embed(self, minor: Optional[int] = None):
|
def lesEmbed(self):
|
||||||
dt = les.find_target_date()
|
dt = les.find_target_date()
|
||||||
s = schedule.Schedule(dt, int(config.get("year")), int(config.get("semester")))
|
s = schedule.Schedule(dt, int(config.get("year")), int(config.get("semester")))
|
||||||
|
|
||||||
if minor is not None:
|
|
||||||
return s.create_schedule(minor_roles=[minor]).to_embed()
|
|
||||||
|
|
||||||
return s.create_schedule().to_embed()
|
return s.create_schedule().to_embed()
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,10 @@ from dacite import from_dict
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from discord import Colour, Embed
|
from discord import Colour, Embed
|
||||||
from discord.ext import commands
|
|
||||||
|
|
||||||
from enums.platform import Platform, get_platform
|
from enums.platform import Platform, get_platform
|
||||||
from functions.timeFormatters import fromArray, intToWeekday, timeFromInt
|
from functions.timeFormatters import fromArray, intToWeekday, timeFromInt
|
||||||
from settings import COC_ID
|
|
||||||
import json
|
import json
|
||||||
from typing import Dict, Optional, List, Tuple
|
from typing import Dict, Optional, List
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
@ -238,7 +235,7 @@ class Schedule:
|
||||||
|
|
||||||
return slots_today
|
return slots_today
|
||||||
|
|
||||||
def create_schedule(self, minor_roles: Optional[List[int]] = None):
|
def create_schedule(self):
|
||||||
"""
|
"""
|
||||||
Create the schedule for the current week
|
Create the schedule for the current week
|
||||||
"""
|
"""
|
||||||
|
|
@ -250,10 +247,6 @@ class Schedule:
|
||||||
|
|
||||||
# Find minor slots
|
# Find minor slots
|
||||||
for minor in self.schedule_dict["minors"]:
|
for minor in self.schedule_dict["minors"]:
|
||||||
# Customized schedule
|
|
||||||
if minor_roles is not None and minor["role"] not in minor_roles:
|
|
||||||
continue
|
|
||||||
|
|
||||||
m_slots = []
|
m_slots = []
|
||||||
for course in minor["schedule"]:
|
for course in minor["schedule"]:
|
||||||
# Go over every course
|
# Go over every course
|
||||||
|
|
@ -405,16 +398,3 @@ class ScheduleEmbed(LesEmbed):
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
return "\n".join(list(f"{entry.course}: **{entry.get_link_str()}**" for entry in has_link))
|
return "\n".join(list(f"{entry.course}: **{entry.get_link_str()}**" for entry in has_link))
|
||||||
|
|
||||||
|
|
||||||
def find_minor(client: commands.Bot, userid: int) -> Tuple[Optional[int]]:
|
|
||||||
guild = client.get_guild(COC_ID)
|
|
||||||
user = guild.get_member(userid)
|
|
||||||
|
|
||||||
minors_ids = [891744461405687808, 891744390035415111]
|
|
||||||
|
|
||||||
for role in user.roles:
|
|
||||||
if role.id in minors_ids:
|
|
||||||
return role.id,
|
|
||||||
|
|
||||||
return None,
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@
|
||||||
"minors": [
|
"minors": [
|
||||||
{
|
{
|
||||||
"name": "Beveiliging en parallelle systemen",
|
"name": "Beveiliging en parallelle systemen",
|
||||||
"role": 891744461405687808,
|
|
||||||
"online_links": {
|
"online_links": {
|
||||||
"zoom": "https://ufora.ugent.be/d2l/ext/rp/439235/lti/framedlaunch/556e197e-e87b-4c27-be5d-53adc7a41826"
|
"zoom": "https://ufora.ugent.be/d2l/ext/rp/439235/lti/framedlaunch/556e197e-e87b-4c27-be5d-53adc7a41826"
|
||||||
},
|
},
|
||||||
|
|
@ -96,7 +95,6 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Elektrotechniek en Telecommunicatie",
|
"name": "Elektrotechniek en Telecommunicatie",
|
||||||
"role": 891744390035415111,
|
|
||||||
"schedule": [
|
"schedule": [
|
||||||
{
|
{
|
||||||
"course": "Inleiding tot Telecommunicatie",
|
"course": "Inleiding tot Telecommunicatie",
|
||||||
|
|
@ -172,7 +170,6 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Onderwijs",
|
"name": "Onderwijs",
|
||||||
"role": -1,
|
|
||||||
"schedule": []
|
"schedule": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,6 @@ HOST_IPC = _to_bool(os.getenv("HOSTIPC", "false"))
|
||||||
READY_MESSAGE = os.getenv("READYMESSAGE", "I'M READY I'M READY I'M READY I'M READY") # Yes, this is a Spongebob reference
|
READY_MESSAGE = os.getenv("READYMESSAGE", "I'M READY I'M READY I'M READY I'M READY") # Yes, this is a Spongebob reference
|
||||||
STATUS_MESSAGE = os.getenv("STATUSMESSAGE", "with your Didier Dinks.")
|
STATUS_MESSAGE = os.getenv("STATUSMESSAGE", "with your Didier Dinks.")
|
||||||
|
|
||||||
# Id's of servers/channels
|
|
||||||
COC_ID: int = int(os.getenv("COC_ID", "626699611192688641"))
|
|
||||||
|
|
||||||
# Guilds to test slash commands in
|
# Guilds to test slash commands in
|
||||||
# Ex: 123,456,789
|
# Ex: 123,456,789
|
||||||
_guilds = os.getenv("SLASHTESTGUILDS", "").replace(" ", "")
|
_guilds = os.getenv("SLASHTESTGUILDS", "").replace(" ", "")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue