Fix adding multiple permissions.
authorCMDR furrycat <elite@furrycat.net>
Mon, 6 Mar 2017 16:45:00 +0000 (16:45 +0000)
committerCMDR furrycat <elite@furrycat.net>
Mon, 6 Mar 2017 16:45:00 +0000 (16:45 +0000)
plugin/admin/admin.py

index e36aadf..d1c7bca 100644 (file)
@@ -208,10 +208,15 @@ class Admin(object):
       if target is None:
         await bot.say(message.channel, 'Need target for channel overwrite!')
         return
-      await bot.overwrite_permissions(channel, target, overwrite)
+      permissions = channel.overwrites_for(target)
+      args = { k: v for k, v in dict(permissions).items() }
+      args[permission] = allow
+      permissions.update(**args)
+      await bot.overwrite_permissions(channel, target, permissions)
       return
 
-    args = { permission: allow }
+    args = { k: v for k, v in dict(permissions).items() }
+    args[permission] = allow
     permissions.update(**args)
 
     if parsed[0] == '&':