From f5c38c3559ba0ee39bee7204e324fb024189ec57 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Thu, 18 Apr 2019 20:54:16 -0400 Subject: Add abc.GuildChannel.clone to clone a channel with another name. Fixes #2093 --- discord/channel.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'discord/channel.py') diff --git a/discord/channel.py b/discord/channel.py index 96f9e3c6..e3055f88 100644 --- a/discord/channel.py +++ b/discord/channel.py @@ -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| -- cgit v1.2.3