diff --git a/cogs/learninggroups.py b/cogs/learninggroups.py
index 675db08148ed4c2b1a404a1d1b5e17b408dabdcb..21dbd55ae1b6144e2b2dedb64e84b5273ea4b8e0 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)]
@@ -417,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
 
@@ -573,18 +578,38 @@ 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-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)
+
+        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()
+
+
+
+
         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,
@@ -900,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. "
@@ -974,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: