Allow additional parameters on channel creation

This commit is contained in:
Tyler
2018-12-18 14:14:13 -06:00
committed by Rapptz
parent eab0a4f38d
commit febb8a965c
2 changed files with 46 additions and 18 deletions

View File

@ -508,17 +508,16 @@ class HTTPClient:
r = Route('PATCH', '/guilds/{guild_id}/channels', guild_id=guild_id)
return self.request(r, json=data, reason=reason)
def create_channel(self, guild_id, name, channel_type, parent_id=None, permission_overwrites=None, *, reason=None):
def create_channel(self, guild_id, channel_type, *, reason=None, **options):
payload = {
'name': name,
'type': channel_type
}
if permission_overwrites is not None:
payload['permission_overwrites'] = permission_overwrites
if parent_id is not None:
payload['parent_id'] = parent_id
valid_keys = ('name', 'parent_id', 'topic', 'bitrate', 'nsfw',
'user_limit', 'position', 'permission_overwrites', 'rate_limit_per_user')
payload.update({
k: v for k, v in options.items() if k in valid_keys and v is not None
})
return self.request(Route('POST', '/guilds/{guild_id}/channels', guild_id=guild_id), json=payload, reason=reason)