From 2ebc0ab21889a6adb96fb4711d4acc6c3cac67fb Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 15 Jun 2016 20:49:18 -0400 Subject: [PATCH] Don't assume that any shared fields are optional in Client.edit_channel. Thanks Jake and night. --- discord/client.py | 6 ++++-- discord/http.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/discord/client.py b/discord/client.py index c725da915..d786cca47 100644 --- a/discord/client.py +++ b/discord/client.py @@ -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) diff --git a/discord/http.py b/discord/http.py index da301f8b4..0ff3dbfc3 100644 --- a/discord/http.py +++ b/discord/http.py @@ -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 }