Don't use Bulk Channel Edit endpoint if not actually moving channels.

Should make the category-only edit cases more straightforward since
it does not rely on other guilds in the cache, outside of the category
itself.
This commit is contained in:
Rapptz
2017-09-24 04:55:10 -04:00
parent 148816c4e8
commit f86ac47b28
2 changed files with 5 additions and 2 deletions

View File

@ -239,7 +239,10 @@ class GuildChannel:
position = options.pop('position')
except KeyError:
if parent_id is not _undefined:
yield from self._move(self.position, parent_id=parent_id, lock_permissions=lock_permissions, reason=reason)
if lock_permissions:
category = self.guild.get_channel(parent_id)
options['permission_overwrites'] = [c._asdict() for c in category._overwrites]
options['parent_id'] = parent_id
elif lock_permissions and self.category_id is not None:
# if we're syncing permissions on a pre-existing channel category without changing it
# we need to update the permissions to point to the pre-existing category