Don't assume that any shared fields are optional in Client.edit_channel.

Thanks Jake and night.
This commit is contained in:
Rapptz 2016-06-15 20:49:18 -04:00
parent eeba4963f3
commit 2ebc0ab218
2 changed files with 5 additions and 3 deletions

View File

@ -1522,8 +1522,10 @@ class Client:
Editing the channel failed.
"""
if 'name' not in options:
options['name'] = channel.name
keys = ('name', 'topic', 'position')
for key in keys:
if key not in options:
options[key] = getattr(channel, key)
yield from self.http.edit_channel(channel.id, **options)

View File

@ -339,7 +339,7 @@ class HTTPClient:
def edit_channel(self, channel_id, **options):
url = '{0.CHANNELS}/{1}'.format(self, channel_id)
valid_keys = ('name', 'topic', 'bitrate', 'user_limit')
valid_keys = ('name', 'topic', 'bitrate', 'user_limit', 'position')
payload = {
k: v for k, v in options.items() if k in valid_keys
}