From e076c3b70238e0fb6e817af819ccc1c1190f9ce6 Mon Sep 17 00:00:00 2001 From: ffaadd <me@ffaadd.xyz> Date: Mon, 21 Mar 2022 13:13:12 +0100 Subject: [PATCH 1/5] fix for #130 and #155 --- cogs/learninggroups.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py index 675db08..c040c37 100644 --- a/cogs/learninggroups.py +++ b/cogs/learninggroups.py @@ -257,8 +257,10 @@ class LearningGroups(commands.Cog): category = await self.bot.fetch_channel(self.categories[GroupState.ARCHIVED]) await self.move_channel(channel, category) await channel.edit(name=f"archiv-${channel.name[1:]}") - await self.remove_group(channel) await self.update_permissions(channel) + await self.remove_group(channel) + await self.update_statusmessage() + async def set_channel_state(self, channel, state: GroupState = None): channel_config = self.channels[str(channel.id)] -- GitLab From 0f343ce231d0ae335ce73e2b47fe0e4be0904ec1 Mon Sep 17 00:00:00 2001 From: ffaadd <me@ffaadd.xyz> Date: Mon, 21 Mar 2022 13:29:34 +0100 Subject: [PATCH 2/5] fix for #153 --- cogs/learninggroups.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py index c040c37..e249f06 100644 --- a/cogs/learninggroups.py +++ b/cogs/learninggroups.py @@ -419,11 +419,14 @@ class LearningGroups(commands.Cog): users[mid] = True user = await self.bot.fetch_user(mid) if user and send_message: - await utils.send_dm(user, f"Du wurdest in die Lerngruppe <#{channel.id}> aufgenommen. " - "Viel Spass beim gemeinsamen Lernen!\n" - "Dieser Link führt dich direkt zum Lerngruppen-Channel. " - "Diese Nachricht kannst du bei Bedarf in unserer Unterhaltung " - "über Rechtsklick anpinnen.") + try: + await utils.send_dm(user, f"Du wurdest in die Lerngruppe <#{channel.id}> aufgenommen. " + "Viel Spass beim gemeinsamen Lernen!\n" + "Dieser Link führt dich direkt zum Lerngruppen-Channel. " + "Diese Nachricht kannst du bei Bedarf in unserer Unterhaltung " + "über Rechtsklick anpinnen.") + except: + pass group_config["users"] = users -- GitLab From 569c7fd712dc1b1ee1688c6e3c2a739b0d5560d4 Mon Sep 17 00:00:00 2001 From: ffaadd <me@ffaadd.xyz> Date: Mon, 21 Mar 2022 13:32:05 +0100 Subject: [PATCH 3/5] add filter to learngroup request to reduce support time and fix for #159 --- cogs/learninggroups.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py index e249f06..0a27bc8 100644 --- a/cogs/learninggroups.py +++ b/cogs/learninggroups.py @@ -583,13 +583,24 @@ class LearningGroups(commands.Cog): ) @cmd_lg.command(name="request", aliases=["r", "req"]) async def cmd_request_group(self, ctx, arg_course, arg_name, arg_semester, arg_state): + + arg_state = re.sub(r"[^a-z]", "", arg_state.lower()) + state = self.arg_state_to_group_state(arg_state) + + arg_course = re.sub(r"[^0-9]", "", arg_course) + arg_course = re.sub(r"^0+", "", arg_course) + arg_name = re.sub( r"[^A-Za-zäöüß0-9-]", "", arg_name.lower().replace(" ", "-") ) + arg_semester = arg_semester.lower() + arg_semester = re.sub(r"[^wiseo0-9]", "", arg_semester) + + if len(arg_semester) == 8: arg_semester = f"{arg_semester[0:4]}{arg_semester[-2:]}" channel_config = {"owner_id": ctx.author.id, "course": arg_course, "name": arg_name, "semester": arg_semester, -- GitLab From 709f740d377e8cf7864627f165a0a6cba7150923 Mon Sep 17 00:00:00 2001 From: ffaadd <me@ffaadd.xyz> Date: Mon, 21 Mar 2022 14:23:27 +0100 Subject: [PATCH 4/5] add detection of semester and status in learngroup requests to switch if arguments if needed, should fix # 63 --- cogs/learninggroups.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py index 0a27bc8..ddbd53d 100644 --- a/cogs/learninggroups.py +++ b/cogs/learninggroups.py @@ -578,13 +578,23 @@ class LearningGroups(commands.Cog): "name": "Ein frei wählbarer Text ohne Leerzeichen.", "semester": "Das Semester, für welches diese Lerngruppe erstellt werden soll. sose oder wise gefolgt " "von der zweistelligen Jahreszahl (z. B. sose22).", - "status": "Gibt an ob die Lerngruppe für weitere Lernwillige geöffnet ist (open) oder nicht (closed)." + "status": "Gibt an ob die Lerngruppe für weitere Lernwillige geöffnet ist (open) oder nicht (closed) oder ob es sich um eine private Lerngruppe handelt (private)." } ) @cmd_lg.command(name="request", aliases=["r", "req"]) async def cmd_request_group(self, ctx, arg_course, arg_name, arg_semester, arg_state): - arg_state = re.sub(r"[^a-z]", "", arg_state.lower()) + arg_state = re.sub(r"[^a-z0-9]", "", arg_state.lower()) + arg_semester = re.sub(r"[^a-z0-9]", "", arg_semester.lower()) + + if re.match(r"(wise)|(sose)[0-9]+", arg_state) and re.match(r"(open)|(closed*)|(private)", arg_semester): + tmp = arg_state + arg_state = arg_semester + arg_semester = tmp + + arg_semester = re.sub(r"[^wiseo0-9]", "", arg_semester) + + arg_state = re.sub(r"[^a-z]", "", arg_state) state = self.arg_state_to_group_state(arg_state) @@ -597,8 +607,7 @@ class LearningGroups(commands.Cog): arg_name.lower().replace(" ", "-") ) - arg_semester = arg_semester.lower() - arg_semester = re.sub(r"[^wiseo0-9]", "", arg_semester) + if len(arg_semester) == 8: -- GitLab From b7a5a9164d1833a2527a268fa8761f94388770cf Mon Sep 17 00:00:00 2001 From: ffaadd <me@ffaadd.xyz> Date: Mon, 21 Mar 2022 14:52:06 +0100 Subject: [PATCH 5/5] add ping for lg-owner on join request. fix #145 --- cogs/learninggroups.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py index ddbd53d..21dbd55 100644 --- a/cogs/learninggroups.py +++ b/cogs/learninggroups.py @@ -925,7 +925,7 @@ class LearningGroups(commands.Cog): channel=channel, title="Jemand möchte deiner Lerngruppe beitreten!", description=f"<@!{ctx.author.id}> möchte gerne der Lerngruppe **#{channel.name}** beitreten.", - message=f"Anfrage von <@!{ctx.author.id}>", + message=f"<@!{group_config['owner_id']}>, du wirst gebraucht. Anfrage von <@!{ctx.author.id}>:", custom_prefix="learninggroups:join" ) await utils.send_dm(ctx.author, f"Deine Anfrage wurde an **#{channel.name}** gesendet. " @@ -999,8 +999,8 @@ class LearningGroups(commands.Cog): if self.is_group_owner(channel, member) or self.is_mod(member): if confirmed: - if message.mentions and len(message.mentions) == 1: - await self.add_member_to_group(channel, message.mentions[0]) + if message.mentions and len(message.mentions) == 2: + await self.add_member_to_group(channel, message.mentions[1]) await self.update_permissions(channel) else: -- GitLab