@@ -219,7 +219,7 @@ namespace Discord.API | |||
switch (channels.Length) | |||
{ | |||
case 0: | |||
throw new ArgumentOutOfRangeException(nameof(args)); | |||
return; | |||
case 1: | |||
await ModifyGuildChannel(channels[0].Id, new ModifyGuildChannelParams { Position = channels[0].Position }).ConfigureAwait(false); | |||
break; | |||
@@ -476,8 +476,10 @@ namespace Discord.API | |||
if (result.Count > 1) | |||
return result.SelectMany(x => x); | |||
else | |||
else if (result.Count == 1) | |||
return result[0]; | |||
else | |||
return Array.Empty<GuildMember>(); | |||
} | |||
public async Task RemoveGuildMember(ulong guildId, ulong userId) | |||
{ | |||
@@ -535,7 +537,7 @@ namespace Discord.API | |||
switch (roles.Length) | |||
{ | |||
case 0: | |||
throw new ArgumentOutOfRangeException(nameof(args)); | |||
return Array.Empty<Role>(); | |||
case 1: | |||
return ImmutableArray.Create(await ModifyGuildRole(guildId, roles[0].Id, roles[0]).ConfigureAwait(false)); | |||
default: | |||
@@ -580,10 +582,12 @@ namespace Discord.API | |||
if (models.Length != DiscordConfig.MaxMessagesPerBatch) { i++; break; } | |||
} | |||
if (runs > 1) | |||
return result.Take(runs).SelectMany(x => x); | |||
else | |||
if (i > 1) | |||
return result.Take(i).SelectMany(x => x); | |||
else if (i == 1) | |||
return result[0]; | |||
else | |||
return Array.Empty<Message>(); | |||
} | |||
public Task<Message> CreateMessage(ulong channelId, CreateMessageParams args) | |||
=> CreateMessage(0, channelId, args); | |||
@@ -636,7 +640,7 @@ namespace Discord.API | |||
switch (messageIds.Length) | |||
{ | |||
case 0: | |||
throw new ArgumentOutOfRangeException(nameof(args.MessageIds)); | |||
return; | |||
case 1: | |||
await DeleteMessage(guildId, channelId, messageIds[0]).ConfigureAwait(false); | |||
break; | |||
@@ -81,11 +81,11 @@ namespace Discord.Rest | |||
{ | |||
var emojis = ImmutableArray.CreateBuilder<Emoji>(model.Emojis.Length); | |||
for (int i = 0; i < model.Emojis.Length; i++) | |||
emojis[i] = new Emoji(model.Emojis[i]); | |||
emojis.Add(new Emoji(model.Emojis[i])); | |||
Emojis = emojis.ToArray(); | |||
} | |||
else | |||
Emojis = ImmutableArray<Emoji>.Empty; | |||
Emojis = Array.Empty<Emoji>(); | |||
var roles = new ConcurrentDictionary<ulong, Role>(1, model.Roles?.Length ?? 0); | |||
if (model.Roles != null) | |||
@@ -68,7 +68,7 @@ namespace Discord.Rest | |||
Attachments = ImmutableArray.Create(attachments); | |||
} | |||
else | |||
Attachments = ImmutableArray<Attachment>.Empty; | |||
Attachments = Array.Empty<Attachment>(); | |||
if (model.Embeds.Length > 0) | |||
{ | |||
@@ -78,18 +78,18 @@ namespace Discord.Rest | |||
Embeds = ImmutableArray.Create(embeds); | |||
} | |||
else | |||
Embeds = ImmutableArray<Embed>.Empty; | |||
Embeds = Array.Empty<Embed>(); | |||
if (model.Mentions.Length > 0) | |||
{ | |||
var discord = Discord; | |||
var builder = ImmutableArray.CreateBuilder<PublicUser>(model.Mentions.Length); | |||
for (int i = 0; i < model.Mentions.Length; i++) | |||
builder[i] = new PublicUser(discord, model.Mentions[i]); | |||
builder.Add(new PublicUser(discord, model.Mentions[i])); | |||
MentionedUsers = builder.ToArray(); | |||
} | |||
else | |||
MentionedUsers = ImmutableArray<PublicUser>.Empty; | |||
MentionedUsers = Array.Empty<PublicUser>(); | |||
MentionedChannelIds = MentionHelper.GetChannelMentions(model.Content); | |||
MentionedRoleIds = MentionHelper.GetRoleMentions(model.Content); | |||
if (model.IsMentioningEveryone) | |||
@@ -39,9 +39,9 @@ namespace Discord.Rest | |||
Nickname = model.Nick; | |||
var roles = ImmutableArray.CreateBuilder<Role>(model.Roles.Length + 1); | |||
roles[0] = Guild.EveryoneRole; | |||
roles.Add(Guild.EveryoneRole); | |||
for (int i = 0; i < model.Roles.Length; i++) | |||
roles[i + 1] = Guild.GetRole(model.Roles[i]); | |||
roles.Add(Guild.GetRole(model.Roles[i])); | |||
_roles = roles.ToImmutable(); | |||
} | |||