Browse Source

guildUsers instantiated to empty collection, removed added nullchecks

A null conditional operator was required at line 70 to avoid a nullref.
tags/1.0-rc
Flamanis GitHub 8 years ago
parent
commit
dc2230de86
1 changed files with 2 additions and 4 deletions
  1. +2
    -4
      src/Discord.Net.Commands/Readers/UserTypeReader.cs

+ 2
- 4
src/Discord.Net.Commands/Readers/UserTypeReader.cs View File

@@ -14,7 +14,7 @@ namespace Discord.Commands
{ {
var results = new Dictionary<ulong, TypeReaderValue>(); var results = new Dictionary<ulong, TypeReaderValue>();
IReadOnlyCollection<IUser> channelUsers = (await context.Channel.GetUsersAsync(CacheMode.CacheOnly).Flatten().ConfigureAwait(false)).ToArray(); //TODO: must be a better way? IReadOnlyCollection<IUser> channelUsers = (await context.Channel.GetUsersAsync(CacheMode.CacheOnly).Flatten().ConfigureAwait(false)).ToArray(); //TODO: must be a better way?
IReadOnlyCollection<IGuildUser> guildUsers = null;
IReadOnlyCollection<IGuildUser> guildUsers = ImmutableArray.Create<IGuildUser>();
ulong id; ulong id;


if (context.Guild != null) if (context.Guild != null)
@@ -61,15 +61,13 @@ namespace Discord.Commands
foreach (var channelUser in channelUsers.Where(x => string.Equals(input, x.Username, StringComparison.OrdinalIgnoreCase))) foreach (var channelUser in channelUsers.Where(x => string.Equals(input, x.Username, StringComparison.OrdinalIgnoreCase)))
AddResult(results, channelUser as T, channelUser.Username == input ? 0.65f : 0.55f); AddResult(results, channelUser as T, channelUser.Username == input ? 0.65f : 0.55f);
if (context.Guild != null)
foreach (var guildUser in guildUsers.Where(x => string.Equals(input, x.Username, StringComparison.OrdinalIgnoreCase))) foreach (var guildUser in guildUsers.Where(x => string.Equals(input, x.Username, StringComparison.OrdinalIgnoreCase)))
AddResult(results, guildUser as T, guildUser.Username == input ? 0.60f : 0.50f); AddResult(results, guildUser as T, guildUser.Username == input ? 0.60f : 0.50f);
} }


//By Nickname (0.5-0.6) //By Nickname (0.5-0.6)
if (context.Guild != null)
{ {
foreach (var channelUser in channelUsers.Where(x => string.Equals(input, (x as IGuildUser).Nickname, StringComparison.OrdinalIgnoreCase)))
foreach (var channelUser in channelUsers.Where(x => string.Equals(input, (x as IGuildUser)?.Nickname, StringComparison.OrdinalIgnoreCase)))
AddResult(results, channelUser as T, (channelUser as IGuildUser).Nickname == input ? 0.65f : 0.55f); AddResult(results, channelUser as T, (channelUser as IGuildUser).Nickname == input ? 0.65f : 0.55f);


foreach (var guildUser in guildUsers.Where(x => string.Equals(input, (x as IGuildUser).Nickname, StringComparison.OrdinalIgnoreCase))) foreach (var guildUser in guildUsers.Where(x => string.Equals(input, (x as IGuildUser).Nickname, StringComparison.OrdinalIgnoreCase)))


Loading…
Cancel
Save