diff --git a/Discord.Net/API/Models/WebSocketEvents.cs b/Discord.Net/API/Models/WebSocketEvents.cs index b4d844609..50acf39bf 100644 --- a/Discord.Net/API/Models/WebSocketEvents.cs +++ b/Discord.Net/API/Models/WebSocketEvents.cs @@ -27,6 +27,7 @@ namespace Discord.API.Models //Servers public sealed class GuildCreate : ExtendedServerInfo { } + public sealed class GuildUpdate : ExtendedServerInfo { } public sealed class GuildDelete : ExtendedServerInfo { } //Channels diff --git a/Discord.Net/DiscordClient.Events.cs b/Discord.Net/DiscordClient.Events.cs index ee60e4057..8316b196c 100644 --- a/Discord.Net/DiscordClient.Events.cs +++ b/Discord.Net/DiscordClient.Events.cs @@ -57,6 +57,12 @@ namespace Discord if (ServerDestroyed != null) ServerDestroyed(this, new ServerEventArgs(server)); } + public event EventHandler ServerUpdated; + private void RaiseServerUpdated(Server server) + { + if (ServerUpdated != null) + ServerUpdated(this, new ServerEventArgs(server)); + } //Channel public sealed class ChannelEventArgs : EventArgs diff --git a/Discord.Net/DiscordClient.cs b/Discord.Net/DiscordClient.cs index 32c8b400d..aea252515 100644 --- a/Discord.Net/DiscordClient.cs +++ b/Discord.Net/DiscordClient.cs @@ -208,6 +208,13 @@ namespace Discord RaiseServerCreated(server); } break; + case "GUILD_UPDATE": + { + var data = e.Event.ToObject(); + var server = _servers.Update(data.Id, data); + RaiseServerUpdated(server); + } + break; case "GUILD_DELETE": { var data = e.Event.ToObject();