From d9513afac5732772eaa06e93a1210fdb8760173e Mon Sep 17 00:00:00 2001 From: Conatum Date: Sun, 27 Aug 2023 16:04:53 +0300 Subject: [PATCH] fix (rooms): Update perms on member change. --- src/modules/rooms/room.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/modules/rooms/room.py b/src/modules/rooms/room.py index 449c2b76..9e34b874 100644 --- a/src/modules/rooms/room.py +++ b/src/modules/rooms/room.py @@ -113,12 +113,32 @@ class Room: await self.channel.send(embed=notification) except discord.HTTPException: pass + guild = self.channel.guild + members = [guild.get_member(memberid) for memberid in memberids] + members = [member for member in members if member] + for member in members: + await self.channel.set_permissions( + member, + overwrite=member_overwrite, + reason="Adding invited members to private room." + ) async def rm_members(self, memberids): member_data = self.bot.get_cog('RoomCog').data.RoomMember await member_data.table.delete_where(channelid=self.data.channelid, userid=list(memberids)) self.members = list(set(self.members).difference(memberids)) # No need to notify for removal + if self.channel: + guild = self.channel.guild + members = [guild.get_member(memberid) for memberid in memberids] + members = [member for member in members if member] + for member in members: + if member.id != self.data.ownerid and member != guild.me: + await self.channel.set_permissions( + member, + overwrite=None, + reason="Removing kicked members from private room." + ) return async def transfer_ownership(self, new_owner):