Per pull-request feedbackpull/633/head
| @@ -11,7 +11,7 @@ namespace Discord.Commands | |||||
| { | { | ||||
| public override Task<PreconditionResult> CheckPermissions(ICommandContext context, CommandInfo command, IDependencyMap map) | public override Task<PreconditionResult> CheckPermissions(ICommandContext context, CommandInfo command, IDependencyMap map) | ||||
| { | { | ||||
| if (context.Channel.Nsfw) | |||||
| if (context.Channel.IsNsfw) | |||||
| return Task.FromResult(PreconditionResult.FromSuccess()); | return Task.FromResult(PreconditionResult.FromSuccess()); | ||||
| else | else | ||||
| return Task.FromResult(PreconditionResult.FromError("This command may only be invoked in an NSFW channel.")); | return Task.FromResult(PreconditionResult.FromError("This command may only be invoked in an NSFW channel.")); | ||||
| @@ -9,7 +9,7 @@ namespace Discord | |||||
| string Name { get; } | string Name { get; } | ||||
| /// <summary> Checks if the channel is NSFW. </summary> | /// <summary> Checks if the channel is NSFW. </summary> | ||||
| bool Nsfw { get; } | |||||
| bool IsNsfw { get; } | |||||
| /// <summary> Gets a collection of all users in this channel. </summary> | /// <summary> Gets a collection of all users in this channel. </summary> | ||||
| IAsyncEnumerable<IReadOnlyCollection<IUser>> GetUsersAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null); | IAsyncEnumerable<IReadOnlyCollection<IUser>> GetUsersAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null); | ||||
| @@ -1,10 +0,0 @@ | |||||
| namespace Discord | |||||
| { | |||||
| public static class NsfwUtils | |||||
| { | |||||
| public static bool IsNsfw(IChannel channel) => | |||||
| IsNsfw(channel.Name); | |||||
| public static bool IsNsfw(string channelName) => | |||||
| channelName.StartsWith("nsfw"); | |||||
| } | |||||
| } | |||||
| @@ -289,5 +289,10 @@ namespace Discord.Rest | |||||
| author = RestUser.Create(client, guild, model, webhookId); | author = RestUser.Create(client, guild, model, webhookId); | ||||
| return author; | return author; | ||||
| } | } | ||||
| public static bool IsNsfw(IChannel channel) => | |||||
| IsNsfw(channel.Name); | |||||
| public static bool IsNsfw(string channelName) => | |||||
| channelName.StartsWith("nsfw"); | |||||
| } | } | ||||
| } | } | ||||
| @@ -46,7 +46,7 @@ namespace Discord.Rest | |||||
| //IChannel | //IChannel | ||||
| string IChannel.Name => null; | string IChannel.Name => null; | ||||
| bool IChannel.Nsfw => NsfwUtils.IsNsfw(this); | |||||
| bool IChannel.IsNsfw => ChannelHelper.IsNsfw(this); | |||||
| Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options) | Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options) | ||||
| => Task.FromResult<IUser>(null); //Overriden | => Task.FromResult<IUser>(null); //Overriden | ||||
| @@ -97,7 +97,7 @@ namespace Discord.Rest | |||||
| //IChannel | //IChannel | ||||
| string IChannel.Name { get { throw new NotSupportedException(); } } | string IChannel.Name { get { throw new NotSupportedException(); } } | ||||
| bool IChannel.Nsfw { get { throw new NotSupportedException(); } } | |||||
| bool IChannel.IsNsfw { get { throw new NotSupportedException(); } } | |||||
| IAsyncEnumerable<IReadOnlyCollection<IUser>> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options) | IAsyncEnumerable<IReadOnlyCollection<IUser>> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options) | ||||
| { | { | ||||
| throw new NotSupportedException(); | throw new NotSupportedException(); | ||||
| @@ -1,4 +1,5 @@ | |||||
| using System; | |||||
| using Discord.Rest; | |||||
| using System; | |||||
| using Model = Discord.API.Rpc.Channel; | using Model = Discord.API.Rpc.Channel; | ||||
| @@ -7,7 +8,7 @@ namespace Discord.Rpc | |||||
| public class RpcChannel : RpcEntity<ulong> | public class RpcChannel : RpcEntity<ulong> | ||||
| { | { | ||||
| public string Name { get; private set; } | public string Name { get; private set; } | ||||
| public bool Nsfw => NsfwUtils.IsNsfw(Name); | |||||
| public bool IsNsfw => ChannelHelper.IsNsfw(Name); | |||||
| public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id); | public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id); | ||||
| @@ -1,4 +1,5 @@ | |||||
| using System; | |||||
| using Discord.Rest; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| using System.Linq; | using System.Linq; | ||||
| @@ -40,7 +41,7 @@ namespace Discord.WebSocket | |||||
| //IChannel | //IChannel | ||||
| string IChannel.Name => null; | string IChannel.Name => null; | ||||
| bool IChannel.Nsfw => NsfwUtils.IsNsfw(this); | |||||
| bool IChannel.IsNsfw => ChannelHelper.IsNsfw(this); | |||||
| Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options) | Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options) | ||||
| => Task.FromResult<IUser>(null); //Overridden | => Task.FromResult<IUser>(null); //Overridden | ||||