aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-06-15 20:49:18 -0400
committerRapptz <[email protected]>2016-06-15 20:56:43 -0400
commit2ebc0ab21889a6adb96fb4711d4acc6c3cac67fb (patch)
tree1fb53ca2c6faec0d409a1bca1fa2cfe64abbd932
parentThe name is required in Client.edit_channel so add it if it is missing. (diff)
downloaddiscord.py-2ebc0ab21889a6adb96fb4711d4acc6c3cac67fb.tar.xz
discord.py-2ebc0ab21889a6adb96fb4711d4acc6c3cac67fb.zip
Don't assume that any shared fields are optional in Client.edit_channel.
Thanks Jake and night.
-rw-r--r--discord/client.py6
-rw-r--r--discord/http.py2
2 files changed, 5 insertions, 3 deletions
diff --git a/discord/client.py b/discord/client.py
index c725da91..d786cca4 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 da301f8b..0ff3dbfc 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
}