@@ -28,7 +28,7 @@ namespace Discord.Commands | |||
RequireCommandCharInPublic = true; | |||
RequireCommandCharInPrivate = true; | |||
client.MessageCreated += async (s, e) => | |||
client.MessageReceived += async (s, e) => | |||
{ | |||
//If commands aren't being used, don't bother processing them | |||
if (_commands.Count == 0) | |||
@@ -18,17 +18,17 @@ namespace Discord | |||
public partial class DiscordClient | |||
{ | |||
public event EventHandler<BanEventArgs> BanAdded; | |||
private void RaiseBanAdded(string userId, Server server) | |||
public event EventHandler<BanEventArgs> UserBanned; | |||
private void RaiseUserBanned(string userId, Server server) | |||
{ | |||
if (BanAdded != null) | |||
RaiseEvent(nameof(BanAdded), () => BanAdded(this, new BanEventArgs(userId, server))); | |||
if (UserBanned != null) | |||
RaiseEvent(nameof(UserBanned), () => UserBanned(this, new BanEventArgs(userId, server))); | |||
} | |||
public event EventHandler<BanEventArgs> BanRemoved; | |||
private void RaiseBanRemoved(string userId, Server server) | |||
public event EventHandler<BanEventArgs> UserUnbanned; | |||
private void RaiseUserUnbanned(string userId, Server server) | |||
{ | |||
if (BanRemoved != null) | |||
RaiseEvent(nameof(BanRemoved), () => BanRemoved(this, new BanEventArgs(userId, server))); | |||
if (UserUnbanned != null) | |||
RaiseEvent(nameof(UserUnbanned), () => UserUnbanned(this, new BanEventArgs(userId, server))); | |||
} | |||
/// <summary> Bans a user from the provided server. </summary> | |||
@@ -45,11 +45,17 @@ namespace Discord | |||
{ | |||
public const int MaxMessageSize = 2000; | |||
public event EventHandler<MessageEventArgs> MessageCreated; | |||
public event EventHandler<MessageEventArgs> MessageReceived; | |||
private void RaiseMessageCreated(Message msg) | |||
{ | |||
if (MessageCreated != null) | |||
RaiseEvent(nameof(MessageCreated), () => MessageCreated(this, new MessageEventArgs(msg))); | |||
if (MessageReceived != null) | |||
RaiseEvent(nameof(MessageReceived), () => MessageReceived(this, new MessageEventArgs(msg))); | |||
} | |||
public event EventHandler<MessageEventArgs> MessageSent; | |||
private void RaiseMessageSent(Message msg) | |||
{ | |||
if (MessageSent != null) | |||
RaiseEvent(nameof(MessageSent), () => MessageSent(this, new MessageEventArgs(msg))); | |||
} | |||
public event EventHandler<MessageEventArgs> MessageDeleted; | |||
private void RaiseMessageDeleted(Message msg) | |||
@@ -69,12 +75,6 @@ namespace Discord | |||
if (MessageReadRemotely != null) | |||
RaiseEvent(nameof(MessageReadRemotely), () => MessageReadRemotely(this, new MessageEventArgs(msg))); | |||
} | |||
public event EventHandler<MessageEventArgs> MessageSent; | |||
private void RaiseMessageSent(Message msg) | |||
{ | |||
if (MessageSent != null) | |||
RaiseEvent(nameof(MessageSent), () => MessageSent(this, new MessageEventArgs(msg))); | |||
} | |||
internal Messages Messages => _messages; | |||
private readonly Messages _messages; | |||
@@ -60,17 +60,17 @@ namespace Discord | |||
public partial class DiscordClient | |||
{ | |||
public event EventHandler<UserChannelEventArgs> UserIsTyping; | |||
public event EventHandler<UserChannelEventArgs> UserIsTypingUpdated; | |||
private void RaiseUserIsTyping(User user, Channel channel) | |||
{ | |||
if (UserIsTyping != null) | |||
RaiseEvent(nameof(UserIsTyping), () => UserIsTyping(this, new UserChannelEventArgs(user, channel))); | |||
if (UserIsTypingUpdated != null) | |||
RaiseEvent(nameof(UserIsTypingUpdated), () => UserIsTypingUpdated(this, new UserChannelEventArgs(user, channel))); | |||
} | |||
public event EventHandler<UserIsSpeakingEventArgs> UserIsSpeaking; | |||
public event EventHandler<UserIsSpeakingEventArgs> UserIsSpeakingUpdated; | |||
private void RaiseUserIsSpeaking(User user, Channel channel, bool isSpeaking) | |||
{ | |||
if (UserIsSpeaking != null) | |||
RaiseEvent(nameof(UserIsSpeaking), () => UserIsSpeaking(this, new UserIsSpeakingEventArgs(user, channel, isSpeaking))); | |||
if (UserIsSpeakingUpdated != null) | |||
RaiseEvent(nameof(UserIsSpeakingUpdated), () => UserIsSpeakingUpdated(this, new UserIsSpeakingEventArgs(user, channel, isSpeaking))); | |||
} | |||
public event EventHandler<UserEventArgs> UserAdded; | |||
private void RaiseUserAdded(User user) | |||
@@ -84,12 +84,6 @@ namespace Discord | |||
if (UserRemoved != null) | |||
RaiseEvent(nameof(UserRemoved), () => UserRemoved(this, new UserEventArgs(user))); | |||
} | |||
public event EventHandler ProfileUpdated; | |||
private void RaiseProfileUpdated() | |||
{ | |||
if (ProfileUpdated != null) | |||
RaiseEvent(nameof(ProfileUpdated), () => ProfileUpdated(this, EventArgs.Empty)); | |||
} | |||
public event EventHandler<UserEventArgs> UserUpdated; | |||
private void RaiseMemberUpdated(User user) | |||
{ | |||
@@ -108,7 +102,15 @@ namespace Discord | |||
if (UserVoiceStateUpdated != null) | |||
RaiseEvent(nameof(UserVoiceStateUpdated), () => UserVoiceStateUpdated(this, new UserEventArgs(user))); | |||
} | |||
public event EventHandler ProfileUpdated; | |||
private void RaiseProfileUpdated() | |||
{ | |||
if (ProfileUpdated != null) | |||
RaiseEvent(nameof(ProfileUpdated), () => ProfileUpdated(this, EventArgs.Empty)); | |||
} | |||
/// <summary> Returns the current logged-in user. </summary> | |||
public User CurrentUser => _currentUser; | |||
private User _currentUser; | |||
/// <summary> Returns a collection of all users this client can currently see. </summary> | |||
@@ -22,14 +22,12 @@ namespace Discord | |||
private UserStatus _status; | |||
private int? _gameId; | |||
/// <summary> Returns the configuration object used to make this client. Note that this object cannot be edited directly - to change the configuration of this client, use the DiscordClient(DiscordClientConfig config) constructor. </summary> | |||
public new DiscordClientConfig Config => _config as DiscordClientConfig; | |||
/// <summary> Gives direct access to the underlying DiscordAPIClient. This can be used to modify objects not in cache. </summary> | |||
public DiscordAPIClient API => _api; | |||
/// <summary> Returns the current logged-in user. </summary> | |||
public User CurrentUser => _currentUser; | |||
/// <summary> Initializes a new instance of the DiscordClient class. </summary> | |||
public DiscordClient(DiscordClientConfig config = null) | |||
: base(config ?? new DiscordClientConfig()) | |||
@@ -91,7 +89,7 @@ namespace Discord | |||
$"Channel Destroyed: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); | |||
ChannelUpdated += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Channel Updated: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); | |||
MessageCreated += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
MessageReceived += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Message Created: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); | |||
MessageDeleted += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Message Deleted: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); | |||
@@ -103,9 +101,9 @@ namespace Discord | |||
$"Role Updated: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); | |||
RoleDeleted += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Role Deleted: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); | |||
BanAdded += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
UserBanned += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Banned User: {e.Server?.Name ?? "[Private]" }/{e.UserId}"); | |||
BanRemoved += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
UserUnbanned += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"Unbanned User: {e.Server?.Name ?? "[Private]"}/{e.UserId}"); | |||
UserAdded += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.Client, | |||
$"User Joined: {e.Server?.Name ?? "[Private]"}/{e.User.Id}"); | |||
@@ -120,7 +118,7 @@ namespace Discord | |||
} | |||
if (_config.LogLevel >= LogMessageSeverity.Verbose) | |||
{ | |||
UserIsTyping += (s, e) => RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, | |||
UserIsTypingUpdated += (s, e) => RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, | |||
$"Updated User (Is Typing): {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.User?.Name}"); | |||
MessageReadRemotely += (s, e) => RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Client, | |||
$"Read Message (Remotely): {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); | |||
@@ -465,7 +463,7 @@ namespace Discord | |||
if (server != null) | |||
{ | |||
server.AddBan(data.User?.Id); | |||
RaiseBanAdded(data.User?.Id, server); | |||
RaiseUserBanned(data.User?.Id, server); | |||
} | |||
} | |||
break; | |||
@@ -474,7 +472,7 @@ namespace Discord | |||
var data = e.Payload.ToObject<BanRemoveEvent>(_serializer); | |||
var server = _servers[data.GuildId]; | |||
if (server != null && server.RemoveBan(data.User?.Id)) | |||
RaiseBanRemoved(data.User?.Id, server); | |||
RaiseUserUnbanned(data.User?.Id, server); | |||
} | |||
break; | |||
@@ -101,8 +101,8 @@ namespace Discord.Tests | |||
AssertEvent<MessageEventArgs>( | |||
"MessageCreated event never received", | |||
() => _hostClient.SendMessage(_testServerChannel, text), | |||
x => _targetBot.MessageCreated += x, | |||
x => _targetBot.MessageCreated -= x, | |||
x => _targetBot.MessageReceived += x, | |||
x => _targetBot.MessageReceived -= x, | |||
(s, e) => e.Message.Text == text); | |||
} | |||