|
@@ -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))) |
|
|