Cleaned up all the NullReferences that should be ArgumentNulls

This commit is contained in:
RogueException
2015-10-22 03:54:38 -03:00
parent 76e4317400
commit fb1c5b8e86
4 changed files with 24 additions and 25 deletions

View File

@@ -135,8 +135,8 @@ namespace Discord
public Task EditMember(string serverId, string userId, bool? mute = null, bool? deaf = null, IEnumerable<object> roles = null)
{
CheckReady();
if (serverId == null) throw new NullReferenceException(nameof(serverId));
if (userId == null) throw new NullReferenceException(nameof(userId));
if (serverId == null) throw new ArgumentNullException(nameof(serverId));
if (userId == null) throw new ArgumentNullException(nameof(userId));
var newRoles = CollectionHelper.FlattenRoles(roles);
return _api.EditMember(serverId, userId, mute: mute, deaf: deaf, roles: newRoles);

View File

@@ -228,8 +228,8 @@ namespace Discord
public async Task<Message[]> DownloadMessages(string channelId, int count, string beforeMessageId = null, bool cache = true)
{
CheckReady();
if (channelId == null) throw new NullReferenceException(nameof(channelId));
if (count < 0) throw new ArgumentOutOfRangeException(nameof(count));
if (channelId == null) throw new ArgumentNullException(nameof(channelId));
if (count < 0) throw new ArgumentNullException(nameof(count));
if (count == 0) return new Message[0];
Channel channel = _channels[channelId];

View File

@@ -33,9 +33,9 @@ namespace Discord
private async Task SetChannelPermissions(Channel channel, string targetId, string targetType, PackedChannelPermissions allow = null, PackedChannelPermissions deny = null)
{
CheckReady();
if (channel == null) throw new NullReferenceException(nameof(channel));
if (targetId == null) throw new NullReferenceException(nameof(targetId));
if (targetType == null) throw new NullReferenceException(nameof(targetType));
if (channel == null) throw new ArgumentNullException(nameof(channel));
if (targetId == null) throw new ArgumentNullException(nameof(targetId));
if (targetType == null) throw new ArgumentNullException(nameof(targetType));
uint allowValue = allow?.RawValue ?? 0;
uint denyValue = deny?.RawValue ?? 0;
@@ -108,9 +108,9 @@ namespace Discord
private async Task RemoveChannelPermissions(Channel channel, string userOrRoleId, string idType)
{
CheckReady();
if (channel == null) throw new NullReferenceException(nameof(channel));
if (userOrRoleId == null) throw new NullReferenceException(nameof(userOrRoleId));
if (idType == null) throw new NullReferenceException(nameof(idType));
if (channel == null) throw new ArgumentNullException(nameof(channel));
if (userOrRoleId == null) throw new ArgumentNullException(nameof(userOrRoleId));
if (idType == null) throw new ArgumentNullException(nameof(idType));
try
{

View File

@@ -80,7 +80,7 @@ namespace Discord
public async Task<Role> CreateRole(string serverId, string name)
{
CheckReady();
if (serverId == null) throw new NullReferenceException(nameof(serverId));
if (serverId == null) throw new ArgumentNullException(nameof(serverId));
var response = await _api.CreateRole(serverId).ConfigureAwait(false);
var role = _roles.GetOrAdd(response.Id, serverId);
@@ -91,20 +91,19 @@ namespace Discord
return role;
}
public Task EditRole(Role role, string name = null, PackedServerPermissions permissions = null, PackedColor color = null, bool? hoist = null, int? position = null)
=> EditRole(role.ServerId, role.Id, name: name, permissions: permissions, color: color, hoist: hoist, position: position);
public async Task EditRole(string serverId, string roleId, string name = null, PackedServerPermissions permissions = null, PackedColor color = null, bool? hoist = null, int? position = null)
public Task EditRole(string roleId, string name = null, PackedServerPermissions permissions = null, PackedColor color = null, bool? hoist = null, int? position = null)
=> EditRole(_roles[roleId], name: name, permissions: permissions, color: color, hoist: hoist, position: position);
public async Task EditRole(Role role, string name = null, PackedServerPermissions permissions = null, PackedColor color = null, bool? hoist = null, int? position = null)
{
CheckReady();
if (serverId == null) throw new NullReferenceException(nameof(serverId));
if (roleId == null) throw new NullReferenceException(nameof(roleId));
CheckReady();
if (role == null) throw new ArgumentNullException(nameof(role));
var response = await _api.EditRole(serverId, roleId, name: name,
permissions: permissions?.RawValue, color: color?.RawValue, hoist: hoist);
var role = _roles[response.Id];
if (role != null)
role.Update(response);
//TODO: check this null workaround later, should be fixed on Discord's end soon
var response = await _api.EditRole(role.ServerId, role.Id,
name: name ?? role.Name,
permissions: permissions?.RawValue ?? role.Permissions.RawValue,
color: color?.RawValue,
hoist: hoist);
if (position != null)
{
@@ -136,8 +135,8 @@ namespace Discord
public Task DeleteRole(string serverId, string roleId)
{
CheckReady();
if (serverId == null) throw new NullReferenceException(nameof(serverId));
if (roleId == null) throw new NullReferenceException(nameof(roleId));
if (serverId == null) throw new ArgumentNullException(nameof(serverId));
if (roleId == null) throw new ArgumentNullException(nameof(roleId));
return _api.DeleteRole(serverId, roleId);
}