diff --git a/discord/abc.py b/discord/abc.py index 89229279e..7814772a9 100644 --- a/discord/abc.py +++ b/discord/abc.py @@ -346,11 +346,6 @@ class GuildChannel: denied = Permissions.all_channel() base.value &= ~denied.value - # text channels do not have voice related permissions - if isinstance(self, TextChannel): - denied = Permissions.voice() - base.value &= ~denied.value - return base @asyncio.coroutine diff --git a/discord/channel.py b/discord/channel.py index 8efae5462..998b70d11 100644 --- a/discord/channel.py +++ b/discord/channel.py @@ -95,6 +95,16 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable): def _get_guild_id(self): return self.guild.id + def permissions_for(self, member): + base = super().permissions_for(member) + + # text channels do not have voice related permissions + denied = Permissions.voice() + base.value &= ~denied.value + return base + + permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__ + @asyncio.coroutine def edit(self, **options): """|coro|