Add abc.GuildChannel.clone to clone a channel with another name.

Fixes #2093
This commit is contained in:
Rapptz
2019-04-18 20:54:16 -04:00
parent ceb154718d
commit f5c38c3559
2 changed files with 71 additions and 0 deletions

View File

@ -214,6 +214,15 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable):
"""
await self._edit(options, reason=reason)
async def clone(self, *, name=None, reason=None):
return await self._clone_impl({
'topic': self.topic,
'nsfw': self.nsfw,
'rate_limit_per_user': self.slowmode_delay
}, name=name, reason=reason)
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
async def delete_messages(self, messages):
"""|coro|
@ -526,6 +535,14 @@ class VoiceChannel(discord.abc.Connectable, discord.abc.GuildChannel, Hashable):
permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__
async def clone(self, *, name=None, reason=None):
return await self._clone_impl({
'bitrate': self.bitrate,
'user_limit': self.user_limit
}, name=name, reason=reason)
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
async def edit(self, *, reason=None, **options):
"""|coro|
@ -629,6 +646,13 @@ class CategoryChannel(discord.abc.GuildChannel, Hashable):
"""Checks if the category is NSFW."""
return self.nsfw
async def clone(self, *, name=None, reason=None):
return await self._clone_impl({
'nsfw': self.nsfw
}, name=name, reason=reason)
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
async def edit(self, *, reason=None, **options):
"""|coro|
@ -791,6 +815,13 @@ class StoreChannel(discord.abc.GuildChannel, Hashable):
"""Checks if the channel is NSFW."""
return self.nsfw
async def clone(self, *, name=None, reason=None):
return await self._clone_impl({
'nsfw': self.nsfw
}, name=name, reason=reason)
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
async def edit(self, *, reason=None, **options):
"""|coro|