From c565bdf55bf44da6961d3aeb650c43dc4ec92290 Mon Sep 17 00:00:00 2001 From: RogueException Date: Fri, 29 Jul 2016 17:12:58 -0300 Subject: [PATCH] Reorganized classes into Rpc/Rest/WebSocket namespaces --- src/Discord.Net/API/CDN.cs | 10 +++---- src/Discord.Net/API/DiscordRestApiClient.cs | 29 ++++++++++--------- src/Discord.Net/API/DiscordRpcAPIClient.cs | 1 + .../API/Rest/GetChannelMessagesParams.cs | 6 ++-- src/Discord.Net/Audio/AudioClient.cs | 1 + src/Discord.Net/{Data => }/DataStore.cs | 3 +- src/Discord.Net/DiscordConfig.cs | 4 +++ src/Discord.Net/Entities/Application.cs | 3 +- .../Entities/Channels/DMChannel.cs | 1 + .../Entities/Channels/GroupChannel.cs | 2 +- .../Entities/Channels/GuildChannel.cs | 1 + .../Entities/Channels/IMessageChannel.cs | 4 +-- src/Discord.Net/Entities/Entity.cs | 4 ++- src/Discord.Net/Entities/Guilds/Guild.cs | 2 +- .../Entities/Guilds/GuildIntegration.cs | 1 + src/Discord.Net/Entities/Guilds/UserGuild.cs | 3 +- src/Discord.Net/Entities/Invites/Invite.cs | 7 +++-- .../Entities/Invites/InviteMetadata.cs | 3 +- src/Discord.Net/Entities/Messages/Message.cs | 1 + src/Discord.Net/Entities/Roles/Role.cs | 4 +-- .../Entities/Rpc/RemoteUserGuild.cs | 3 +- src/Discord.Net/Entities/Users/GroupUser.cs | 1 + src/Discord.Net/Entities/Users/GuildUser.cs | 1 + src/Discord.Net/Entities/Users/SelfUser.cs | 1 + src/Discord.Net/Entities/Users/User.cs | 3 +- .../WebSocket/Channels/MessageCache.cs | 5 ++-- .../WebSocket/Channels/MessageManager.cs | 4 ++- .../WebSocket/Channels/SocketDMChannel.cs | 3 +- .../WebSocket/Channels/SocketGroupChannel.cs | 2 +- .../WebSocket/Channels/SocketTextChannel.cs | 8 +++-- .../WebSocket/Channels/SocketVoiceChannel.cs | 1 + .../Entities/WebSocket/Guilds/SocketGuild.cs | 2 +- .../WebSocket/Messages/SocketMessage.cs | 3 +- .../Entities/WebSocket/Users/SocketDMUser.cs | 3 +- .../WebSocket/Users/SocketGlobalUser.cs | 3 +- .../WebSocket/Users/SocketGroupUser.cs | 3 +- .../WebSocket/Users/SocketGuildUser.cs | 3 +- .../WebSocket/Users/SocketSelfUser.cs | 1 + .../Extensions/CollectionExtensions.cs | 2 +- .../Extensions/DiscordClientExtensions.cs | 5 ++-- src/Discord.Net/Extensions/GuildExtensions.cs | 2 +- .../Extensions/GuildUserExtensions.cs | 2 +- .../{ => Rest}/DiscordRestClient.cs | 4 ++- .../{ => Rest}/DiscordRestConfig.cs | 8 ++--- src/Discord.Net/{ => Rpc}/DiscordRpcClient.cs | 13 ++------- src/Discord.Net/{ => Rpc}/DiscordRpcConfig.cs | 3 +- src/Discord.Net/Rpc/RpcEvents.cs | 6 ++++ .../DiscordSocketClient.Events.cs | 2 +- .../{ => WebSocket}/DiscordSocketClient.cs | 4 +-- .../{ => WebSocket}/DiscordSocketConfig.cs | 1 + 50 files changed, 113 insertions(+), 79 deletions(-) rename src/Discord.Net/{Data => }/DataStore.cs (99%) rename src/Discord.Net/{ => Rest}/DiscordRestClient.cs (99%) rename src/Discord.Net/{ => Rest}/DiscordRestConfig.cs (77%) rename src/Discord.Net/{ => Rpc}/DiscordRpcClient.cs (93%) rename src/Discord.Net/{ => Rpc}/DiscordRpcConfig.cs (95%) create mode 100644 src/Discord.Net/Rpc/RpcEvents.cs rename src/Discord.Net/{ => WebSocket}/DiscordSocketClient.Events.cs (99%) rename src/Discord.Net/{ => WebSocket}/DiscordSocketClient.cs (99%) rename src/Discord.Net/{ => WebSocket}/DiscordSocketConfig.cs (98%) diff --git a/src/Discord.Net/API/CDN.cs b/src/Discord.Net/API/CDN.cs index 19c6e5b3c..3973344db 100644 --- a/src/Discord.Net/API/CDN.cs +++ b/src/Discord.Net/API/CDN.cs @@ -3,14 +3,14 @@ internal static class CDN { public static string GetApplicationIconUrl(ulong appId, string iconId) - => iconId != null ? $"{DiscordRestConfig.CDNUrl}app-icons/{appId}/{iconId}.jpg" : null; + => iconId != null ? $"{DiscordConfig.CDNUrl}app-icons/{appId}/{iconId}.jpg" : null; public static string GetUserAvatarUrl(ulong userId, string avatarId) - => avatarId != null ? $"{DiscordRestConfig.CDNUrl}avatars/{userId}/{avatarId}.jpg" : null; + => avatarId != null ? $"{DiscordConfig.CDNUrl}avatars/{userId}/{avatarId}.jpg" : null; public static string GetGuildIconUrl(ulong guildId, string iconId) - => iconId != null ? $"{DiscordRestConfig.CDNUrl}icons/{guildId}/{iconId}.jpg" : null; + => iconId != null ? $"{DiscordConfig.CDNUrl}icons/{guildId}/{iconId}.jpg" : null; public static string GetGuildSplashUrl(ulong guildId, string splashId) - => splashId != null ? $"{DiscordRestConfig.CDNUrl}splashes/{guildId}/{splashId}.jpg" : null; + => splashId != null ? $"{DiscordConfig.CDNUrl}splashes/{guildId}/{splashId}.jpg" : null; public static string GetChannelIconUrl(ulong channelId, string iconId) - => iconId != null ? $"{DiscordRestConfig.CDNUrl}channel-icons/{channelId}/{iconId}.jpg" : null; + => iconId != null ? $"{DiscordConfig.CDNUrl}channel-icons/{channelId}/{iconId}.jpg" : null; } } diff --git a/src/Discord.Net/API/DiscordRestApiClient.cs b/src/Discord.Net/API/DiscordRestApiClient.cs index ae208629e..9136399b0 100644 --- a/src/Discord.Net/API/DiscordRestApiClient.cs +++ b/src/Discord.Net/API/DiscordRestApiClient.cs @@ -5,6 +5,7 @@ using Discord.Net.Converters; using Discord.Net.Queue; using Discord.Net.Rest; using Discord.Net.WebSockets; +using Discord.Rest; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -594,13 +595,13 @@ namespace Discord.API List result; if (args._limit.IsSpecified) - result = new List((limit + DiscordRestConfig.MaxUsersPerBatch - 1) / DiscordRestConfig.MaxUsersPerBatch); + result = new List((limit + DiscordConfig.MaxUsersPerBatch - 1) / DiscordConfig.MaxUsersPerBatch); else result = new List(); while (true) { - int runLimit = (limit >= DiscordRestConfig.MaxUsersPerBatch) ? DiscordRestConfig.MaxUsersPerBatch : limit; + int runLimit = (limit >= DiscordConfig.MaxUsersPerBatch) ? DiscordConfig.MaxUsersPerBatch : limit; string endpoint = $"guilds/{guildId}/members?limit={runLimit}&after={afterUserId}"; var models = await SendAsync("GET", endpoint, options: options).ConfigureAwait(false); @@ -609,11 +610,11 @@ namespace Discord.API result.Add(models); - limit -= DiscordRestConfig.MaxUsersPerBatch; + limit -= DiscordConfig.MaxUsersPerBatch; afterUserId = models[models.Length - 1].User.Id; //Was this an incomplete (the last) batch? - if (models.Length != DiscordRestConfig.MaxUsersPerBatch) break; + if (models.Length != DiscordConfig.MaxUsersPerBatch) break; } if (result.Count > 1) @@ -723,14 +724,14 @@ namespace Discord.API break; } - int runs = (limit + DiscordRestConfig.MaxMessagesPerBatch - 1) / DiscordRestConfig.MaxMessagesPerBatch; - int lastRunCount = limit - (runs - 1) * DiscordRestConfig.MaxMessagesPerBatch; + int runs = (limit + DiscordConfig.MaxMessagesPerBatch - 1) / DiscordConfig.MaxMessagesPerBatch; + int lastRunCount = limit - (runs - 1) * DiscordConfig.MaxMessagesPerBatch; var result = new API.Message[runs][]; int i = 0; for (; i < runs; i++) { - int runCount = i == (runs - 1) ? lastRunCount : DiscordRestConfig.MaxMessagesPerBatch; + int runCount = i == (runs - 1) ? lastRunCount : DiscordConfig.MaxMessagesPerBatch; string endpoint; if (relativeId != null) endpoint = $"channels/{channelId}/messages?limit={runCount}&{relativeDir}={relativeId}"; @@ -769,7 +770,7 @@ namespace Discord.API } //Was this an incomplete (the last) batch? - if (models.Length != DiscordRestConfig.MaxMessagesPerBatch) { i++; break; } + if (models.Length != DiscordConfig.MaxMessagesPerBatch) { i++; break; } } if (i > 1) @@ -814,8 +815,8 @@ namespace Discord.API Preconditions.NotEqual(channelId, 0, nameof(channelId)); Preconditions.NotNull(args, nameof(args)); Preconditions.NotNullOrEmpty(args._content, nameof(args.Content)); - if (args._content.Length > DiscordRestConfig.MaxMessageSize) - throw new ArgumentException($"Message content is too long, length must be less or equal to {DiscordRestConfig.MaxMessageSize}.", nameof(args.Content)); + if (args._content.Length > DiscordConfig.MaxMessageSize) + throw new ArgumentException($"Message content is too long, length must be less or equal to {DiscordConfig.MaxMessageSize}.", nameof(args.Content)); if (guildId != 0) return await SendAsync("POST", $"channels/{channelId}/messages", args, GuildBucket.SendEditMessage, guildId, options: options).ConfigureAwait(false); @@ -843,8 +844,8 @@ namespace Discord.API { if (args._content.Value == null) args._content = ""; - if (args._content.Value?.Length > DiscordRestConfig.MaxMessageSize) - throw new ArgumentOutOfRangeException($"Message content is too long, length must be less or equal to {DiscordRestConfig.MaxMessageSize}.", nameof(args.Content)); + if (args._content.Value?.Length > DiscordConfig.MaxMessageSize) + throw new ArgumentOutOfRangeException($"Message content is too long, length must be less or equal to {DiscordConfig.MaxMessageSize}.", nameof(args.Content)); } if (guildId != 0) @@ -924,8 +925,8 @@ namespace Discord.API if (args._content.IsSpecified) { Preconditions.NotNullOrEmpty(args._content, nameof(args.Content)); - if (args._content.Value.Length > DiscordRestConfig.MaxMessageSize) - throw new ArgumentOutOfRangeException($"Message content is too long, length must be less or equal to {DiscordRestConfig.MaxMessageSize}.", nameof(args.Content)); + if (args._content.Value.Length > DiscordConfig.MaxMessageSize) + throw new ArgumentOutOfRangeException($"Message content is too long, length must be less or equal to {DiscordConfig.MaxMessageSize}.", nameof(args.Content)); } if (guildId != 0) diff --git a/src/Discord.Net/API/DiscordRpcAPIClient.cs b/src/Discord.Net/API/DiscordRpcAPIClient.cs index 409994ecf..27c8a68c0 100644 --- a/src/Discord.Net/API/DiscordRpcAPIClient.cs +++ b/src/Discord.Net/API/DiscordRpcAPIClient.cs @@ -2,6 +2,7 @@ using Discord.Net.Queue; using Discord.Net.Rest; using Discord.Net.WebSockets; +using Discord.Rpc; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; diff --git a/src/Discord.Net/API/Rest/GetChannelMessagesParams.cs b/src/Discord.Net/API/Rest/GetChannelMessagesParams.cs index 8843c9e73..d9a800c8e 100644 --- a/src/Discord.Net/API/Rest/GetChannelMessagesParams.cs +++ b/src/Discord.Net/API/Rest/GetChannelMessagesParams.cs @@ -1,8 +1,10 @@ -namespace Discord.API.Rest +using Discord.Rest; + +namespace Discord.API.Rest { public class GetChannelMessagesParams { - public int Limit { internal get; set; } = DiscordRestConfig.MaxMessagesPerBatch; + public int Limit { internal get; set; } = DiscordConfig.MaxMessagesPerBatch; public Direction RelativeDirection { internal get; set; } = Direction.Before; diff --git a/src/Discord.Net/Audio/AudioClient.cs b/src/Discord.Net/Audio/AudioClient.cs index e4a3a1e51..a1b2bea24 100644 --- a/src/Discord.Net/Audio/AudioClient.cs +++ b/src/Discord.Net/Audio/AudioClient.cs @@ -1,6 +1,7 @@ using Discord.API.Voice; using Discord.Logging; using Discord.Net.Converters; +using Discord.WebSocket; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; diff --git a/src/Discord.Net/Data/DataStore.cs b/src/Discord.Net/DataStore.cs similarity index 99% rename from src/Discord.Net/Data/DataStore.cs rename to src/Discord.Net/DataStore.cs index d7cfe0913..b65bf07f5 100644 --- a/src/Discord.Net/Data/DataStore.cs +++ b/src/Discord.Net/DataStore.cs @@ -1,5 +1,4 @@ -using Discord.Extensions; -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; diff --git a/src/Discord.Net/DiscordConfig.cs b/src/Discord.Net/DiscordConfig.cs index 88cc96db2..698f7e3c0 100644 --- a/src/Discord.Net/DiscordConfig.cs +++ b/src/Discord.Net/DiscordConfig.cs @@ -14,6 +14,10 @@ namespace Discord public const string CDNUrl = "https://cdn.discordapp.com/"; public const string InviteUrl = "https://discord.gg/"; + public const int MaxMessageSize = 2000; + public const int MaxMessagesPerBatch = 100; + public const int MaxUsersPerBatch = 1000; + /// Gets or sets the minimum log level severity that will be sent to the LogMessage event. public LogSeverity LogLevel { get; set; } = LogSeverity.Info; } diff --git a/src/Discord.Net/Entities/Application.cs b/src/Discord.Net/Entities/Application.cs index 8b3e64b74..98545679b 100644 --- a/src/Discord.Net/Entities/Application.cs +++ b/src/Discord.Net/Entities/Application.cs @@ -1,4 +1,5 @@ -using System; +using Discord.Rest; +using System; using System.Threading.Tasks; using Model = Discord.API.Application; diff --git a/src/Discord.Net/Entities/Channels/DMChannel.cs b/src/Discord.Net/Entities/Channels/DMChannel.cs index dee579432..0ec4b5c36 100644 --- a/src/Discord.Net/Entities/Channels/DMChannel.cs +++ b/src/Discord.Net/Entities/Channels/DMChannel.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/Channels/GroupChannel.cs b/src/Discord.Net/Entities/Channels/GroupChannel.cs index 4e0a9024d..745245bb3 100644 --- a/src/Discord.Net/Entities/Channels/GroupChannel.cs +++ b/src/Discord.Net/Entities/Channels/GroupChannel.cs @@ -1,5 +1,5 @@ using Discord.API.Rest; -using Discord.Extensions; +using Discord.Rest; using System; using System.Collections.Concurrent; using System.Collections.Generic; diff --git a/src/Discord.Net/Entities/Channels/GuildChannel.cs b/src/Discord.Net/Entities/Channels/GuildChannel.cs index 31303bc10..a8d12d43e 100644 --- a/src/Discord.Net/Entities/Channels/GuildChannel.cs +++ b/src/Discord.Net/Entities/Channels/GuildChannel.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/Channels/IMessageChannel.cs b/src/Discord.Net/Entities/Channels/IMessageChannel.cs index 7aafb6ac1..2d1713a06 100644 --- a/src/Discord.Net/Entities/Channels/IMessageChannel.cs +++ b/src/Discord.Net/Entities/Channels/IMessageChannel.cs @@ -20,9 +20,9 @@ namespace Discord /// Gets the message from this channel's cache with the given id, or null if not found. IMessage GetCachedMessage(ulong id); /// Gets the last N messages from this message channel. - Task> GetMessagesAsync(int limit = DiscordRestConfig.MaxMessagesPerBatch); + Task> GetMessagesAsync(int limit = DiscordConfig.MaxMessagesPerBatch); /// Gets a collection of messages in this channel. - Task> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordRestConfig.MaxMessagesPerBatch); + Task> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch); /// Bulk deletes multiple messages. Task DeleteMessagesAsync(IEnumerable messages); diff --git a/src/Discord.Net/Entities/Entity.cs b/src/Discord.Net/Entities/Entity.cs index 8e8e7587f..6652fd208 100644 --- a/src/Discord.Net/Entities/Entity.cs +++ b/src/Discord.Net/Entities/Entity.cs @@ -1,4 +1,6 @@ -namespace Discord +using Discord.Rest; + +namespace Discord { internal abstract class Entity : IEntity { diff --git a/src/Discord.Net/Entities/Guilds/Guild.cs b/src/Discord.Net/Entities/Guilds/Guild.cs index dc5b64592..5a243c5ed 100644 --- a/src/Discord.Net/Entities/Guilds/Guild.cs +++ b/src/Discord.Net/Entities/Guilds/Guild.cs @@ -1,6 +1,6 @@ using Discord.API.Rest; using Discord.Audio; -using Discord.Extensions; +using Discord.Rest; using System; using System.Collections.Concurrent; using System.Collections.Generic; diff --git a/src/Discord.Net/Entities/Guilds/GuildIntegration.cs b/src/Discord.Net/Entities/Guilds/GuildIntegration.cs index fa2ceddda..eae31eabd 100644 --- a/src/Discord.Net/Entities/Guilds/GuildIntegration.cs +++ b/src/Discord.Net/Entities/Guilds/GuildIntegration.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Diagnostics; using System.Threading.Tasks; diff --git a/src/Discord.Net/Entities/Guilds/UserGuild.cs b/src/Discord.Net/Entities/Guilds/UserGuild.cs index 77c28192d..0803bdb33 100644 --- a/src/Discord.Net/Entities/Guilds/UserGuild.cs +++ b/src/Discord.Net/Entities/Guilds/UserGuild.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using Discord.Rest; +using System.Diagnostics; using System.Threading.Tasks; using Model = Discord.API.UserGuild; diff --git a/src/Discord.Net/Entities/Invites/Invite.cs b/src/Discord.Net/Entities/Invites/Invite.cs index 3ed09410f..d95ee1daa 100644 --- a/src/Discord.Net/Entities/Invites/Invite.cs +++ b/src/Discord.Net/Entities/Invites/Invite.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using Discord.Rest; +using System.Diagnostics; using System.Threading.Tasks; using Model = Discord.API.Invite; @@ -16,8 +17,8 @@ namespace Discord public override DiscordRestClient Discord { get; } public string Code => Id; - public string Url => $"{DiscordRestConfig.InviteUrl}/{XkcdCode ?? Code}"; - public string XkcdUrl => XkcdCode != null ? $"{DiscordRestConfig.InviteUrl}/{XkcdCode}" : null; + public string Url => $"{DiscordConfig.InviteUrl}/{XkcdCode ?? Code}"; + public string XkcdUrl => XkcdCode != null ? $"{DiscordConfig.InviteUrl}/{XkcdCode}" : null; public Invite(DiscordRestClient discord, Model model) : base(model.Code) diff --git a/src/Discord.Net/Entities/Invites/InviteMetadata.cs b/src/Discord.Net/Entities/Invites/InviteMetadata.cs index df7d965af..8cd3051f2 100644 --- a/src/Discord.Net/Entities/Invites/InviteMetadata.cs +++ b/src/Discord.Net/Entities/Invites/InviteMetadata.cs @@ -1,4 +1,5 @@ -using System; +using Discord.Rest; +using System; using Model = Discord.API.InviteMetadata; namespace Discord diff --git a/src/Discord.Net/Entities/Messages/Message.cs b/src/Discord.Net/Entities/Messages/Message.cs index 1dbf0c6a1..a4ff34733 100644 --- a/src/Discord.Net/Entities/Messages/Message.cs +++ b/src/Discord.Net/Entities/Messages/Message.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/Roles/Role.cs b/src/Discord.Net/Entities/Roles/Role.cs index 43af085b3..cbcceb0cf 100644 --- a/src/Discord.Net/Entities/Roles/Role.cs +++ b/src/Discord.Net/Entities/Roles/Role.cs @@ -1,9 +1,7 @@ using Discord.API.Rest; +using Discord.Rest; using System; -using System.Collections.Generic; -using System.Collections.Immutable; using System.Diagnostics; -using System.Linq; using System.Threading.Tasks; using Model = Discord.API.Role; diff --git a/src/Discord.Net/Entities/Rpc/RemoteUserGuild.cs b/src/Discord.Net/Entities/Rpc/RemoteUserGuild.cs index ae4152cd2..bc2f441e4 100644 --- a/src/Discord.Net/Entities/Rpc/RemoteUserGuild.cs +++ b/src/Discord.Net/Entities/Rpc/RemoteUserGuild.cs @@ -1,4 +1,5 @@ -using System; +using Discord.Rest; +using System; using Model = Discord.API.Rpc.RpcUserGuild; namespace Discord.Entities.Rpc diff --git a/src/Discord.Net/Entities/Users/GroupUser.cs b/src/Discord.Net/Entities/Users/GroupUser.cs index 7a44e5d8e..0d4bc444a 100644 --- a/src/Discord.Net/Entities/Users/GroupUser.cs +++ b/src/Discord.Net/Entities/Users/GroupUser.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Threading.Tasks; diff --git a/src/Discord.Net/Entities/Users/GuildUser.cs b/src/Discord.Net/Entities/Users/GuildUser.cs index caccb4336..5e6d9174e 100644 --- a/src/Discord.Net/Entities/Users/GuildUser.cs +++ b/src/Discord.Net/Entities/Users/GuildUser.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/Users/SelfUser.cs b/src/Discord.Net/Entities/Users/SelfUser.cs index 32576b3e0..838a45782 100644 --- a/src/Discord.Net/Entities/Users/SelfUser.cs +++ b/src/Discord.Net/Entities/Users/SelfUser.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.Rest; using System; using System.Threading.Tasks; using Model = Discord.API.User; diff --git a/src/Discord.Net/Entities/Users/User.cs b/src/Discord.Net/Entities/Users/User.cs index 640084f7b..8f6ac8259 100644 --- a/src/Discord.Net/Entities/Users/User.cs +++ b/src/Discord.Net/Entities/Users/User.cs @@ -1,4 +1,5 @@ -using System; +using Discord.Rest; +using System; using System.Diagnostics; using Model = Discord.API.User; diff --git a/src/Discord.Net/Entities/WebSocket/Channels/MessageCache.cs b/src/Discord.Net/Entities/WebSocket/Channels/MessageCache.cs index e97c76524..de6d0544a 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/MessageCache.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/MessageCache.cs @@ -1,4 +1,5 @@ -using Discord.Extensions; +using Discord.Rest; +using Discord.WebSocket; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -51,7 +52,7 @@ namespace Discord return result; return null; } - public override IImmutableList GetMany(ulong? fromMessageId, Direction dir, int limit = DiscordRestConfig.MaxMessagesPerBatch) + public override IImmutableList GetMany(ulong? fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch) { if (limit < 0) throw new ArgumentOutOfRangeException(nameof(limit)); if (limit == 0) return ImmutableArray.Empty; diff --git a/src/Discord.Net/Entities/WebSocket/Channels/MessageManager.cs b/src/Discord.Net/Entities/WebSocket/Channels/MessageManager.cs index 2d47e3190..f44766b99 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/MessageManager.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/MessageManager.cs @@ -1,4 +1,6 @@ using Discord.API.Rest; +using Discord.Rest; +using Discord.WebSocket; using System; using System.Collections.Generic; using System.Collections.Immutable; @@ -25,7 +27,7 @@ namespace Discord public virtual SocketMessage Remove(ulong id) => null; public virtual SocketMessage Get(ulong id) => null; - public virtual IImmutableList GetMany(ulong? fromMessageId, Direction dir, int limit = DiscordRestConfig.MaxMessagesPerBatch) + public virtual IImmutableList GetMany(ulong? fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch) => ImmutableArray.Create(); public virtual async Task DownloadAsync(ulong id) diff --git a/src/Discord.Net/Entities/WebSocket/Channels/SocketDMChannel.cs b/src/Discord.Net/Entities/WebSocket/Channels/SocketDMChannel.cs index bfc0c1c1e..92e8661eb 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/SocketDMChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/SocketDMChannel.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using Discord.WebSocket; +using System.Collections.Generic; using System.Collections.Immutable; using System.Threading.Tasks; using MessageModel = Discord.API.Message; diff --git a/src/Discord.Net/Entities/WebSocket/Channels/SocketGroupChannel.cs b/src/Discord.Net/Entities/WebSocket/Channels/SocketGroupChannel.cs index f0f15d0c4..368a19bfb 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/SocketGroupChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/SocketGroupChannel.cs @@ -1,4 +1,4 @@ -using Discord.Extensions; +using Discord.WebSocket; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/WebSocket/Channels/SocketTextChannel.cs b/src/Discord.Net/Entities/WebSocket/Channels/SocketTextChannel.cs index 0c7d08e43..0cbec16cd 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/SocketTextChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/SocketTextChannel.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using Discord.Rest; +using Discord.WebSocket; +using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Threading.Tasks; @@ -48,11 +50,11 @@ namespace Discord { return await _messages.DownloadAsync(id).ConfigureAwait(false); } - public override async Task> GetMessagesAsync(int limit = DiscordRestConfig.MaxMessagesPerBatch) + public override async Task> GetMessagesAsync(int limit = DiscordConfig.MaxMessagesPerBatch) { return await _messages.DownloadAsync(null, Direction.Before, limit).ConfigureAwait(false); } - public override async Task> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordRestConfig.MaxMessagesPerBatch) + public override async Task> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch) { return await _messages.DownloadAsync(fromMessageId, dir, limit).ConfigureAwait(false); } diff --git a/src/Discord.Net/Entities/WebSocket/Channels/SocketVoiceChannel.cs b/src/Discord.Net/Entities/WebSocket/Channels/SocketVoiceChannel.cs index f017c1396..b13cc04cc 100644 --- a/src/Discord.Net/Entities/WebSocket/Channels/SocketVoiceChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/Channels/SocketVoiceChannel.cs @@ -1,4 +1,5 @@ using Discord.Audio; +using Discord.WebSocket; using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/Discord.Net/Entities/WebSocket/Guilds/SocketGuild.cs b/src/Discord.Net/Entities/WebSocket/Guilds/SocketGuild.cs index befbab3aa..03fff4d98 100644 --- a/src/Discord.Net/Entities/WebSocket/Guilds/SocketGuild.cs +++ b/src/Discord.Net/Entities/WebSocket/Guilds/SocketGuild.cs @@ -1,5 +1,5 @@ using Discord.Audio; -using Discord.Extensions; +using Discord.WebSocket; using System; using System.Collections.Concurrent; using System.Collections.Generic; diff --git a/src/Discord.Net/Entities/WebSocket/Messages/SocketMessage.cs b/src/Discord.Net/Entities/WebSocket/Messages/SocketMessage.cs index 71d73a525..8441e9143 100644 --- a/src/Discord.Net/Entities/WebSocket/Messages/SocketMessage.cs +++ b/src/Discord.Net/Entities/WebSocket/Messages/SocketMessage.cs @@ -1,4 +1,5 @@ -using Model = Discord.API.Message; +using Discord.WebSocket; +using Model = Discord.API.Message; namespace Discord { diff --git a/src/Discord.Net/Entities/WebSocket/Users/SocketDMUser.cs b/src/Discord.Net/Entities/WebSocket/Users/SocketDMUser.cs index e56dd53ee..da1cc009f 100644 --- a/src/Discord.Net/Entities/WebSocket/Users/SocketDMUser.cs +++ b/src/Discord.Net/Entities/WebSocket/Users/SocketDMUser.cs @@ -1,4 +1,5 @@ -using System; +using Discord.WebSocket; +using System; using System.Diagnostics; using PresenceModel = Discord.API.Presence; diff --git a/src/Discord.Net/Entities/WebSocket/Users/SocketGlobalUser.cs b/src/Discord.Net/Entities/WebSocket/Users/SocketGlobalUser.cs index 96bbdd556..bc7519748 100644 --- a/src/Discord.Net/Entities/WebSocket/Users/SocketGlobalUser.cs +++ b/src/Discord.Net/Entities/WebSocket/Users/SocketGlobalUser.cs @@ -1,4 +1,5 @@ -using System; +using Discord.WebSocket; +using System; using Model = Discord.API.User; using PresenceModel = Discord.API.Presence; diff --git a/src/Discord.Net/Entities/WebSocket/Users/SocketGroupUser.cs b/src/Discord.Net/Entities/WebSocket/Users/SocketGroupUser.cs index 0de43c9b9..a4bda52e3 100644 --- a/src/Discord.Net/Entities/WebSocket/Users/SocketGroupUser.cs +++ b/src/Discord.Net/Entities/WebSocket/Users/SocketGroupUser.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using Discord.WebSocket; +using System.Diagnostics; namespace Discord { diff --git a/src/Discord.Net/Entities/WebSocket/Users/SocketGuildUser.cs b/src/Discord.Net/Entities/WebSocket/Users/SocketGuildUser.cs index a2fe29d46..3bae4f069 100644 --- a/src/Discord.Net/Entities/WebSocket/Users/SocketGuildUser.cs +++ b/src/Discord.Net/Entities/WebSocket/Users/SocketGuildUser.cs @@ -1,4 +1,5 @@ -using Model = Discord.API.GuildMember; +using Discord.WebSocket; +using Model = Discord.API.GuildMember; using PresenceModel = Discord.API.Presence; namespace Discord diff --git a/src/Discord.Net/Entities/WebSocket/Users/SocketSelfUser.cs b/src/Discord.Net/Entities/WebSocket/Users/SocketSelfUser.cs index 4aceb62ab..566f626ec 100644 --- a/src/Discord.Net/Entities/WebSocket/Users/SocketSelfUser.cs +++ b/src/Discord.Net/Entities/WebSocket/Users/SocketSelfUser.cs @@ -1,4 +1,5 @@ using Discord.API.Rest; +using Discord.WebSocket; using System; using System.Threading.Tasks; using Model = Discord.API.User; diff --git a/src/Discord.Net/Extensions/CollectionExtensions.cs b/src/Discord.Net/Extensions/CollectionExtensions.cs index 91c9f030f..8eebac817 100644 --- a/src/Discord.Net/Extensions/CollectionExtensions.cs +++ b/src/Discord.Net/Extensions/CollectionExtensions.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Discord.Extensions +namespace Discord { internal static class CollectionExtensions { diff --git a/src/Discord.Net/Extensions/DiscordClientExtensions.cs b/src/Discord.Net/Extensions/DiscordClientExtensions.cs index dcde721d5..503d0b824 100644 --- a/src/Discord.Net/Extensions/DiscordClientExtensions.cs +++ b/src/Discord.Net/Extensions/DiscordClientExtensions.cs @@ -1,7 +1,8 @@ -using System.Linq; +using Discord.Rest; +using System.Linq; using System.Threading.Tasks; -namespace Discord.Extensions +namespace Discord { public static class DiscordClientExtensions { diff --git a/src/Discord.Net/Extensions/GuildExtensions.cs b/src/Discord.Net/Extensions/GuildExtensions.cs index e8895f22c..8446a7c01 100644 --- a/src/Discord.Net/Extensions/GuildExtensions.cs +++ b/src/Discord.Net/Extensions/GuildExtensions.cs @@ -1,6 +1,6 @@ using System.Threading.Tasks; -namespace Discord.Extensions +namespace Discord { public static class GuildExtensions { diff --git a/src/Discord.Net/Extensions/GuildUserExtensions.cs b/src/Discord.Net/Extensions/GuildUserExtensions.cs index 357a4955f..492b5b76b 100644 --- a/src/Discord.Net/Extensions/GuildUserExtensions.cs +++ b/src/Discord.Net/Extensions/GuildUserExtensions.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Threading.Tasks; -namespace Discord.Extensions +namespace Discord { public static class GuildUserExtensions { diff --git a/src/Discord.Net/DiscordRestClient.cs b/src/Discord.Net/Rest/DiscordRestClient.cs similarity index 99% rename from src/Discord.Net/DiscordRestClient.cs rename to src/Discord.Net/Rest/DiscordRestClient.cs index 92c27e3da..806db3eb7 100644 --- a/src/Discord.Net/DiscordRestClient.cs +++ b/src/Discord.Net/Rest/DiscordRestClient.cs @@ -10,8 +10,10 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Runtime.InteropServices; +using Discord.Rpc; +using Discord.WebSocket; -namespace Discord +namespace Discord.Rest { public class DiscordRestClient : IDiscordClient { diff --git a/src/Discord.Net/DiscordRestConfig.cs b/src/Discord.Net/Rest/DiscordRestConfig.cs similarity index 77% rename from src/Discord.Net/DiscordRestConfig.cs rename to src/Discord.Net/Rest/DiscordRestConfig.cs index 16252c854..8dee72231 100644 --- a/src/Discord.Net/DiscordRestConfig.cs +++ b/src/Discord.Net/Rest/DiscordRestConfig.cs @@ -1,15 +1,11 @@ using Discord.Net.Rest; -namespace Discord +namespace Discord.Rest { public class DiscordRestConfig : DiscordConfig { public static string UserAgent { get; } = $"DiscordBot (https://github.com/RogueException/Discord.Net, v{Version})"; - - public const int MaxMessageSize = 2000; - public const int MaxMessagesPerBatch = 100; - public const int MaxUsersPerBatch = 1000; - + internal const int RestTimeout = 10000; internal const int MessageQueueInterval = 100; internal const int WebSocketQueueInterval = 100; diff --git a/src/Discord.Net/DiscordRpcClient.cs b/src/Discord.Net/Rpc/DiscordRpcClient.cs similarity index 93% rename from src/Discord.Net/DiscordRpcClient.cs rename to src/Discord.Net/Rpc/DiscordRpcClient.cs index 453ca4ac3..c798f1025 100644 --- a/src/Discord.Net/DiscordRpcClient.cs +++ b/src/Discord.Net/Rpc/DiscordRpcClient.cs @@ -2,6 +2,7 @@ using Discord.Logging; using Discord.Net.Converters; using Discord.Net.Queue; +using Discord.Rest; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; @@ -9,18 +10,10 @@ using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; -namespace Discord +namespace Discord.Rpc { - public class DiscordRpcClient : DiscordRestClient + public partial class DiscordRpcClient : DiscordRestClient { - public event Func Connected { add { _connectedEvent.Add(value); } remove { _connectedEvent.Remove(value); } } - private readonly AsyncEvent> _connectedEvent = new AsyncEvent>(); - public event Func Disconnected { add { _disconnectedEvent.Add(value); } remove { _disconnectedEvent.Remove(value); } } - private readonly AsyncEvent> _disconnectedEvent = new AsyncEvent>(); - - public event Func Ready { add { _readyEvent.Add(value); } remove { _readyEvent.Remove(value); } } - private readonly AsyncEvent> _readyEvent = new AsyncEvent>(); - private readonly ILogger _rpcLogger; private readonly JsonSerializer _serializer; diff --git a/src/Discord.Net/DiscordRpcConfig.cs b/src/Discord.Net/Rpc/DiscordRpcConfig.cs similarity index 95% rename from src/Discord.Net/DiscordRpcConfig.cs rename to src/Discord.Net/Rpc/DiscordRpcConfig.cs index c7e38bd44..32c63fc01 100644 --- a/src/Discord.Net/DiscordRpcConfig.cs +++ b/src/Discord.Net/Rpc/DiscordRpcConfig.cs @@ -1,6 +1,7 @@ using Discord.Net.WebSockets; +using Discord.Rest; -namespace Discord +namespace Discord.Rpc { public class DiscordRpcConfig : DiscordRestConfig { diff --git a/src/Discord.Net/Rpc/RpcEvents.cs b/src/Discord.Net/Rpc/RpcEvents.cs new file mode 100644 index 000000000..6d2e85e8f --- /dev/null +++ b/src/Discord.Net/Rpc/RpcEvents.cs @@ -0,0 +1,6 @@ +namespace Discord.Rpc +{ + public enum RpcEvent + { + } +} diff --git a/src/Discord.Net/DiscordSocketClient.Events.cs b/src/Discord.Net/WebSocket/DiscordSocketClient.Events.cs similarity index 99% rename from src/Discord.Net/DiscordSocketClient.Events.cs rename to src/Discord.Net/WebSocket/DiscordSocketClient.Events.cs index 7182a7070..04aadaa3f 100644 --- a/src/Discord.Net/DiscordSocketClient.Events.cs +++ b/src/Discord.Net/WebSocket/DiscordSocketClient.Events.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; -namespace Discord +namespace Discord.WebSocket { //TODO: Add event docstrings public partial class DiscordSocketClient diff --git a/src/Discord.Net/DiscordSocketClient.cs b/src/Discord.Net/WebSocket/DiscordSocketClient.cs similarity index 99% rename from src/Discord.Net/DiscordSocketClient.cs rename to src/Discord.Net/WebSocket/DiscordSocketClient.cs index 72d48079f..46c0c6a2e 100644 --- a/src/Discord.Net/DiscordSocketClient.cs +++ b/src/Discord.Net/WebSocket/DiscordSocketClient.cs @@ -1,10 +1,10 @@ using Discord.API.Gateway; using Discord.Audio; -using Discord.Extensions; using Discord.Logging; using Discord.Net.Converters; using Discord.Net.Queue; using Discord.Net.WebSockets; +using Discord.Rest; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; @@ -15,7 +15,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; -namespace Discord +namespace Discord.WebSocket { public partial class DiscordSocketClient : DiscordRestClient, IDiscordClient { diff --git a/src/Discord.Net/DiscordSocketConfig.cs b/src/Discord.Net/WebSocket/DiscordSocketConfig.cs similarity index 98% rename from src/Discord.Net/DiscordSocketConfig.cs rename to src/Discord.Net/WebSocket/DiscordSocketConfig.cs index cbb63e514..b26fcb0da 100644 --- a/src/Discord.Net/DiscordSocketConfig.cs +++ b/src/Discord.Net/WebSocket/DiscordSocketConfig.cs @@ -1,5 +1,6 @@ using Discord.Audio; using Discord.Net.WebSockets; +using Discord.Rest; namespace Discord {