| @@ -17,10 +17,7 @@ namespace Discord.Modules | |||||
| public event EventHandler<ServerEventArgs> ServerUpdated = delegate { }; | public event EventHandler<ServerEventArgs> ServerUpdated = delegate { }; | ||||
| public event EventHandler<ServerEventArgs> ServerUnavailable = delegate { }; | public event EventHandler<ServerEventArgs> ServerUnavailable = delegate { }; | ||||
| public event EventHandler<ServerEventArgs> ServerAvailable = delegate { }; | public event EventHandler<ServerEventArgs> ServerAvailable = delegate { }; | ||||
| public event EventHandler<BanEventArgs> UserBanned = delegate { }; | |||||
| public event EventHandler<BanEventArgs> UserUnbanned = delegate { }; | |||||
| public event EventHandler<ChannelEventArgs> ChannelCreated = delegate { }; | public event EventHandler<ChannelEventArgs> ChannelCreated = delegate { }; | ||||
| public event EventHandler<ChannelEventArgs> ChannelDestroyed = delegate { }; | public event EventHandler<ChannelEventArgs> ChannelDestroyed = delegate { }; | ||||
| public event EventHandler<ChannelEventArgs> ChannelUpdated = delegate { }; | public event EventHandler<ChannelEventArgs> ChannelUpdated = delegate { }; | ||||
| @@ -29,11 +26,13 @@ namespace Discord.Modules | |||||
| public event EventHandler<RoleEventArgs> RoleUpdated = delegate { }; | public event EventHandler<RoleEventArgs> RoleUpdated = delegate { }; | ||||
| public event EventHandler<RoleEventArgs> RoleDeleted = delegate { }; | public event EventHandler<RoleEventArgs> RoleDeleted = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserBanned = delegate { }; | |||||
| public event EventHandler<UserEventArgs> UserJoined = delegate { }; | public event EventHandler<UserEventArgs> UserJoined = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserLeft = delegate { }; | public event EventHandler<UserEventArgs> UserLeft = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserUpdated = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserPresenceUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserPresenceUpdated = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserVoiceStateUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserVoiceStateUpdated = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserUnbanned = delegate { }; | |||||
| public event EventHandler<ChannelUserEventArgs> UserIsTypingUpdated = delegate { }; | public event EventHandler<ChannelUserEventArgs> UserIsTypingUpdated = delegate { }; | ||||
| public event EventHandler<MessageEventArgs> MessageReceived = delegate { }; | public event EventHandler<MessageEventArgs> MessageReceived = delegate { }; | ||||
| @@ -419,9 +419,6 @@ | |||||
| <Compile Include="..\Discord.Net\Enums\UserStatus.cs"> | <Compile Include="..\Discord.Net\Enums\UserStatus.cs"> | ||||
| <Link>Enums\UserStatus.cs</Link> | <Link>Enums\UserStatus.cs</Link> | ||||
| </Compile> | </Compile> | ||||
| <Compile Include="..\Discord.Net\Events\BanEventArgs.cs"> | |||||
| <Link>Events\BanEventArgs.cs</Link> | |||||
| </Compile> | |||||
| <Compile Include="..\Discord.Net\Events\ChannelEventArgs.cs"> | <Compile Include="..\Discord.Net\Events\ChannelEventArgs.cs"> | ||||
| <Link>Events\ChannelEventArgs.cs</Link> | <Link>Events\ChannelEventArgs.cs</Link> | ||||
| </Compile> | </Compile> | ||||
| @@ -3,11 +3,7 @@ using Newtonsoft.Json; | |||||
| namespace Discord.API.Client.GatewaySocket | namespace Discord.API.Client.GatewaySocket | ||||
| { | { | ||||
| public sealed class GuildBanAddEvent | |||||
| public sealed class GuildBanAddEvent : MemberReference | |||||
| { | { | ||||
| [JsonProperty("guild_id"), JsonConverter(typeof(LongStringConverter))] | |||||
| public ulong GuildId { get; set; } | |||||
| [JsonProperty("user_id"), JsonConverter(typeof(LongStringConverter))] | |||||
| public ulong UserId { get; set; } | |||||
| } | } | ||||
| } | } | ||||
| @@ -3,11 +3,7 @@ using Newtonsoft.Json; | |||||
| namespace Discord.API.Client.GatewaySocket | namespace Discord.API.Client.GatewaySocket | ||||
| { | { | ||||
| public sealed class GuildBanRemoveEvent | |||||
| public sealed class GuildBanRemoveEvent : MemberReference | |||||
| { | { | ||||
| [JsonProperty("guild_id"), JsonConverter(typeof(LongStringConverter))] | |||||
| public ulong GuildId { get; set; } | |||||
| [JsonProperty("user_id"), JsonConverter(typeof(LongStringConverter))] | |||||
| public ulong UserId { get; set; } | |||||
| } | } | ||||
| } | } | ||||
| @@ -24,13 +24,13 @@ namespace Discord | |||||
| public event EventHandler<ServerEventArgs> ServerAvailable = delegate { }; | public event EventHandler<ServerEventArgs> ServerAvailable = delegate { }; | ||||
| public event EventHandler<ServerEventArgs> ServerUpdated = delegate { }; | public event EventHandler<ServerEventArgs> ServerUpdated = delegate { }; | ||||
| public event EventHandler<ServerEventArgs> ServerUnavailable = delegate { }; | public event EventHandler<ServerEventArgs> ServerUnavailable = delegate { }; | ||||
| public event EventHandler<BanEventArgs> UserBanned = delegate { }; | |||||
| public event EventHandler<UserEventArgs> UserBanned = delegate { }; | |||||
| public event EventHandler<ChannelUserEventArgs> UserIsTypingUpdated = delegate { }; | public event EventHandler<ChannelUserEventArgs> UserIsTypingUpdated = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserJoined = delegate { }; | public event EventHandler<UserEventArgs> UserJoined = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserLeft = delegate { }; | public event EventHandler<UserEventArgs> UserLeft = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserPresenceUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserPresenceUpdated = delegate { }; | ||||
| public event EventHandler<UserEventArgs> UserUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserUpdated = delegate { }; | ||||
| public event EventHandler<BanEventArgs> UserUnbanned = delegate { }; | |||||
| public event EventHandler<UserEventArgs> UserUnbanned = delegate { }; | |||||
| public event EventHandler<UserEventArgs> UserVoiceStateUpdated = delegate { }; | public event EventHandler<UserEventArgs> UserVoiceStateUpdated = delegate { }; | ||||
| private void OnConnected() | private void OnConnected() | ||||
| @@ -77,8 +77,8 @@ namespace Discord | |||||
| private void OnServerUnavailable(Server server) | private void OnServerUnavailable(Server server) | ||||
| => OnEvent(ServerUnavailable, new ServerEventArgs(server)); | => OnEvent(ServerUnavailable, new ServerEventArgs(server)); | ||||
| private void OnUserBanned(Server server, ulong userId) | |||||
| => OnEvent(UserBanned, new BanEventArgs(server, userId)); | |||||
| private void OnUserBanned(User user) | |||||
| => OnEvent(UserBanned, new UserEventArgs(user)); | |||||
| private void OnUserIsTypingUpdated(Channel channel, User user) | private void OnUserIsTypingUpdated(Channel channel, User user) | ||||
| => OnEvent(UserIsTypingUpdated, new ChannelUserEventArgs(channel, user)); | => OnEvent(UserIsTypingUpdated, new ChannelUserEventArgs(channel, user)); | ||||
| private void OnUserJoined(User user) | private void OnUserJoined(User user) | ||||
| @@ -87,8 +87,8 @@ namespace Discord | |||||
| => OnEvent(UserLeft, new UserEventArgs(user)); | => OnEvent(UserLeft, new UserEventArgs(user)); | ||||
| private void OnUserPresenceUpdated(User user) | private void OnUserPresenceUpdated(User user) | ||||
| => OnEvent(UserPresenceUpdated, new UserEventArgs(user)); | => OnEvent(UserPresenceUpdated, new UserEventArgs(user)); | ||||
| private void OnUserUnbanned(Server server, ulong userId) | |||||
| => OnEvent(UserUnbanned, new BanEventArgs(server, userId)); | |||||
| private void OnUserUnbanned(User user) | |||||
| => OnEvent(UserUnbanned, new UserEventArgs(user)); | |||||
| private void OnUserUpdated(User user) | private void OnUserUpdated(User user) | ||||
| => OnEvent(UserUpdated, new UserEventArgs(user)); | => OnEvent(UserUpdated, new UserEventArgs(user)); | ||||
| private void OnUserVoiceStateUpdated(User user) | private void OnUserVoiceStateUpdated(User user) | ||||
| @@ -718,24 +718,30 @@ namespace Discord | |||||
| case "GUILD_BAN_ADD": | case "GUILD_BAN_ADD": | ||||
| { | { | ||||
| var data = e.Payload.ToObject<GuildBanAddEvent>(_serializer); | var data = e.Payload.ToObject<GuildBanAddEvent>(_serializer); | ||||
| var server = GetServer(data.GuildId); | |||||
| var server = GetServer(data.GuildId.Value); | |||||
| if (server != null) | if (server != null) | ||||
| { | { | ||||
| if (Config.LogEvents) | |||||
| Logger.Info($"User Banned: {server.Name}/{data.UserId}"); | |||||
| OnUserBanned(server, data.UserId); | |||||
| var user = server.GetUser(data.User.Id); | |||||
| if (user != null) | |||||
| { | |||||
| if (Config.LogEvents) | |||||
| Logger.Info($"User Banned: {server.Name}/{user.Name}"); | |||||
| OnUserBanned(user); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| case "GUILD_BAN_REMOVE": | case "GUILD_BAN_REMOVE": | ||||
| { | { | ||||
| var data = e.Payload.ToObject<GuildBanRemoveEvent>(_serializer); | var data = e.Payload.ToObject<GuildBanRemoveEvent>(_serializer); | ||||
| var server = GetServer(data.GuildId); | |||||
| var server = GetServer(data.GuildId.Value); | |||||
| if (server != null) | if (server != null) | ||||
| { | { | ||||
| var user = new User(this, data.User.Id, server); | |||||
| user.Update(data.User); | |||||
| if (Config.LogEvents) | if (Config.LogEvents) | ||||
| Logger.Info($"User Unbanned: {server.Name}/{data.UserId}"); | |||||
| OnUserUnbanned(server, data.UserId); | |||||
| Logger.Info($"User Unbanned: {server.Name}/{user.Name}"); | |||||
| OnUserUnbanned(user); | |||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| @@ -1,16 +0,0 @@ | |||||
| using System; | |||||
| namespace Discord | |||||
| { | |||||
| public class BanEventArgs : EventArgs | |||||
| { | |||||
| public Server Server { get; } | |||||
| public ulong UserId { get; } | |||||
| public BanEventArgs(Server server, ulong userId) | |||||
| { | |||||
| Server = server; | |||||
| UserId = userId; | |||||
| } | |||||
| } | |||||
| } | |||||