From 8e454fe46de6ba5451a1c63165caeceae3b7f4f8 Mon Sep 17 00:00:00 2001 From: Devoxin Date: Sun, 18 Mar 2018 18:58:14 +0000 Subject: [PATCH] Use cacheable instead --- src/Discord.Net.WebSocket/DiscordSocketClient.cs | 4 +++- src/Discord.Net.WebSocket/SocketVoiceServer.cs | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index 49befb154..a052b1ea2 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -1464,8 +1464,10 @@ namespace Discord.WebSocket var data = (payload as JToken).ToObject(_serializer); var guild = State.GetGuild(data.GuildId); + var cacheable = new Cacheable(guild, data.GuildId, guild != null, + async () => (IGuild) await ApiClient.GetGuildAsync(data.GuildId)); - var voiceServer = new SocketVoiceServer(data.GuildId, data.Endpoint, data.Token); + var voiceServer = new SocketVoiceServer(cacheable, data.GuildId, data.Endpoint, data.Token); await TimedInvokeAsync(_voiceServerUpdatedEvent, nameof(UserVoiceStateUpdated), voiceServer).ConfigureAwait(false); if (guild != null) diff --git a/src/Discord.Net.WebSocket/SocketVoiceServer.cs b/src/Discord.Net.WebSocket/SocketVoiceServer.cs index 342c60655..9ab6afd3f 100644 --- a/src/Discord.Net.WebSocket/SocketVoiceServer.cs +++ b/src/Discord.Net.WebSocket/SocketVoiceServer.cs @@ -5,17 +5,17 @@ namespace Discord.WebSocket [DebuggerDisplay(@"{DebuggerDisplay,nq}")] public class SocketVoiceServer { - public ulong GuildId { get; private set; } + public Cacheable Guild { get; private set; } public string Endpoint { get; private set; } public string Token { get; private set; } - internal SocketVoiceServer(ulong guildId, string endpoint, string token) + internal SocketVoiceServer(Cacheable guild, ulong guildId, string endpoint, string token) { - GuildId = guildId; + Guild = guild; Endpoint = endpoint; Token = token; } - private string DebuggerDisplay => $"SocketVoiceServer ({GuildId})"; + private string DebuggerDisplay => $"SocketVoiceServer ({Guild.Id})"; } }