diff --git a/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs b/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs index 1536bc1a3..198d18b8b 100644 --- a/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs +++ b/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs @@ -51,11 +51,16 @@ namespace Discord /// Unknown channel type. public static ChannelPermissions All(IChannel channel) { + // Because IVoiceChannel implements ITextChannel, the switch will allow voice to pass as text. + // + // This check will prevent that and first attempt to cast as voice instead. + if (channel is IVoiceChannel) + return Voice; + return channel switch { ITextChannel _ => Text, IStageChannel _ => Stage, - IVoiceChannel _ => Voice, ICategoryChannel _ => Category, IDMChannel _ => DM, IGroupChannel _ => Group,