@@ -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; | |||||
} | |||||
} | |||||
} |