From d35ef8fa0d9a9aa5d762c5fd338371d9b665df24 Mon Sep 17 00:00:00 2001 From: ObsidianMinor Date: Mon, 10 Jul 2017 11:30:11 -0500 Subject: [PATCH] Added @AntiTcb's suggestions --- src/Discord.Net.Rest/ClientHelper.cs | 11 ++++++++++- src/Discord.Net.Rest/Entities/Users/RestUser.cs | 8 ++++---- .../Entities/Users/SocketUser.cs | 8 ++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Discord.Net.Rest/ClientHelper.cs b/src/Discord.Net.Rest/ClientHelper.cs index 9a9afe877..89c000758 100644 --- a/src/Discord.Net.Rest/ClientHelper.cs +++ b/src/Discord.Net.Rest/ClientHelper.cs @@ -156,7 +156,16 @@ namespace Discord.Rest public static async Task> GetRelationshipsAsync(BaseDiscordClient client) { var models = await client.ApiClient.GetRelationshipsAsync().ConfigureAwait(false); - return models.Select(r => RestRelationship.Create(client, r)).ToImmutableArray(); + return models.Select(r => RestRelationship.Create(client, r)).ToReadOnlyCollection(models); } + + public static async Task AddFriendAsync(BaseDiscordClient client, ulong user, RequestOptions options) + => await client.ApiClient.AddFriendAsync(user, options).ConfigureAwait(false); + + public static async Task BlockUserAsync(BaseDiscordClient client, ulong user, RequestOptions options) + => await client.ApiClient.BlockUserAsync(user, options).ConfigureAwait(false); + + public static async Task RemoveRelationshipAsync(BaseDiscordClient client, ulong user, RequestOptions options) + => await client.ApiClient.RemoveRelationshipAsync(user, options).ConfigureAwait(false); } } diff --git a/src/Discord.Net.Rest/Entities/Users/RestUser.cs b/src/Discord.Net.Rest/Entities/Users/RestUser.cs index df7922dd7..6c34aacb0 100644 --- a/src/Discord.Net.Rest/Entities/Users/RestUser.cs +++ b/src/Discord.Net.Rest/Entities/Users/RestUser.cs @@ -62,13 +62,13 @@ namespace Discord.Rest public override string ToString() => $"{Username}#{Discriminator}"; private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id}{(IsBot ? ", Bot" : "")})"; - + public Task AddFriendAsync(RequestOptions options = null) - => Discord.ApiClient.AddFriendAsync(Id, options); + => ClientHelper.AddFriendAsync(Discord, Id, options); public Task BlockUserAsync(RequestOptions options = null) - => Discord.ApiClient.BlockUserAsync(Id, options); + => ClientHelper.BlockUserAsync(Discord, Id, options); public Task RemoveRelationshipAsync(RequestOptions options = null) - => Discord.ApiClient.RemoveRelationshipAsync(Id, options); + => ClientHelper.RemoveRelationshipAsync(Discord, Id, options); //IUser async Task IUser.GetOrCreateDMChannelAsync(RequestOptions options) diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs index b3c126079..c8193f370 100644 --- a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs +++ b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs @@ -65,12 +65,12 @@ namespace Discord.WebSocket public override string ToString() => $"{Username}#{Discriminator}"; private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id}{(IsBot ? ", Bot" : "")})"; internal SocketUser Clone() => MemberwiseClone() as SocketUser; - + public async Task AddFriendAsync(RequestOptions options = null) - => await Discord.ApiClient.AddFriendAsync(Id, options); + => await ClientHelper.AddFriendAsync(Discord, Id, options); public async Task BlockUserAsync(RequestOptions options = null) - => await Discord.ApiClient.BlockUserAsync(Id, options); + => await ClientHelper.BlockUserAsync(Discord, Id, options); public async Task RemoveRelationshipAsync(RequestOptions options = null) - => await Discord.ApiClient.RemoveRelationshipAsync(Id, options); + => await ClientHelper.RemoveRelationshipAsync(Discord, Id, options); } }