* Fix null channel being passed in RequirePermission preconditions * c#7 pattern matchingtags/2.0.0-beta
@@ -57,13 +57,11 @@ namespace Discord.Commands | |||||
if (ChannelPermission.HasValue) | if (ChannelPermission.HasValue) | ||||
{ | { | ||||
var guildChannel = context.Channel as IGuildChannel; | |||||
ChannelPermissions perms; | ChannelPermissions perms; | ||||
if (guildChannel != null) | |||||
if (context.Channel is IGuildChannel guildChannel) | |||||
perms = guildUser.GetPermissions(guildChannel); | perms = guildUser.GetPermissions(guildChannel); | ||||
else | else | ||||
perms = ChannelPermissions.All(guildChannel); | |||||
perms = ChannelPermissions.All(context.Channel); | |||||
if (!perms.Has(ChannelPermission.Value)) | if (!perms.Has(ChannelPermission.Value)) | ||||
return PreconditionResult.FromError($"Bot requires channel permission {ChannelPermission.Value}"); | return PreconditionResult.FromError($"Bot requires channel permission {ChannelPermission.Value}"); | ||||
@@ -56,13 +56,11 @@ namespace Discord.Commands | |||||
if (ChannelPermission.HasValue) | if (ChannelPermission.HasValue) | ||||
{ | { | ||||
var guildChannel = context.Channel as IGuildChannel; | |||||
ChannelPermissions perms; | ChannelPermissions perms; | ||||
if (guildChannel != null) | |||||
if (context.Channel is IGuildChannel guildChannel) | |||||
perms = guildUser.GetPermissions(guildChannel); | perms = guildUser.GetPermissions(guildChannel); | ||||
else | else | ||||
perms = ChannelPermissions.All(guildChannel); | |||||
perms = ChannelPermissions.All(context.Channel); | |||||
if (!perms.Has(ChannelPermission.Value)) | if (!perms.Has(ChannelPermission.Value)) | ||||
return Task.FromResult(PreconditionResult.FromError($"User requires channel permission {ChannelPermission.Value}")); | return Task.FromResult(PreconditionResult.FromError($"User requires channel permission {ChannelPermission.Value}")); | ||||