diff --git a/src/Discord.Net.Commands/Readers/ChannelTypeReader.cs b/src/Discord.Net.Commands/Readers/ChannelTypeReader.cs
index cd7a9d744..6cb9ca6e6 100644
--- a/src/Discord.Net.Commands/Readers/ChannelTypeReader.cs
+++ b/src/Discord.Net.Commands/Readers/ChannelTypeReader.cs
@@ -6,19 +6,23 @@ using System.Threading.Tasks;
namespace Discord.Commands
{
+ ///
+ /// A for parsing objects implementing .
+ ///
+ /// The type to be checked; must implement .
public class ChannelTypeReader : TypeReader
where T : class, IChannel
{
+ ///
public override async Task ReadAsync(ICommandContext context, string input, IServiceProvider services)
{
if (context.Guild != null)
{
var results = new Dictionary();
var channels = await context.Guild.GetChannelsAsync(CacheMode.CacheOnly).ConfigureAwait(false);
- ulong id;
//By Mention (1.0)
- if (MentionUtils.TryParseChannel(input, out id))
+ if (MentionUtils.TryParseChannel(input, out ulong id))
AddResult(results, await context.Guild.GetChannelAsync(id, CacheMode.CacheOnly).ConfigureAwait(false) as T, 1.00f);
//By Id (0.9)
diff --git a/src/Discord.Net.Commands/Readers/MessageTypeReader.cs b/src/Discord.Net.Commands/Readers/MessageTypeReader.cs
index a87cfbe43..acec2f12d 100644
--- a/src/Discord.Net.Commands/Readers/MessageTypeReader.cs
+++ b/src/Discord.Net.Commands/Readers/MessageTypeReader.cs
@@ -4,15 +4,18 @@ using System.Threading.Tasks;
namespace Discord.Commands
{
+ ///
+ /// A for parsing objects implementing .
+ ///
+ /// The type to be checked; must implement .
public class MessageTypeReader : TypeReader
where T : class, IMessage
{
+ ///
public override async Task ReadAsync(ICommandContext context, string input, IServiceProvider services)
{
- ulong id;
-
//By Id (1.0)
- if (ulong.TryParse(input, NumberStyles.None, CultureInfo.InvariantCulture, out id))
+ if (ulong.TryParse(input, NumberStyles.None, CultureInfo.InvariantCulture, out ulong id))
{
if (await context.Channel.GetMessageAsync(id, CacheMode.CacheOnly).ConfigureAwait(false) is T msg)
return TypeReaderResult.FromSuccess(msg);
diff --git a/src/Discord.Net.Commands/Readers/RoleTypeReader.cs b/src/Discord.Net.Commands/Readers/RoleTypeReader.cs
index c199033fa..4c9aaf4d8 100644
--- a/src/Discord.Net.Commands/Readers/RoleTypeReader.cs
+++ b/src/Discord.Net.Commands/Readers/RoleTypeReader.cs
@@ -6,9 +6,14 @@ using System.Threading.Tasks;
namespace Discord.Commands
{
+ ///
+ /// A for parsing objects implementing .
+ ///
+ /// The type to be checked; must implement .
public class RoleTypeReader : TypeReader
where T : class, IRole
{
+ ///
public override Task ReadAsync(ICommandContext context, string input, IServiceProvider services)
{
if (context.Guild != null)
diff --git a/src/Discord.Net.Commands/Readers/TypeReader.cs b/src/Discord.Net.Commands/Readers/TypeReader.cs
index af45a0aac..037213ae9 100644
--- a/src/Discord.Net.Commands/Readers/TypeReader.cs
+++ b/src/Discord.Net.Commands/Readers/TypeReader.cs
@@ -1,10 +1,22 @@
-using System;
+using System;
using System.Threading.Tasks;
namespace Discord.Commands
{
+ ///
+ /// Defines a reader class that parses user input into a specified type.
+ ///
public abstract class TypeReader
{
+ ///
+ /// Attempts to parse the into the desired type.
+ ///
+ /// The context of the command.
+ /// The raw input of the command.
+ /// The service collection used for dependency injection.
+ ///
+ /// An awaitable Task containing the result of the type reading process.
+ ///
public abstract Task ReadAsync(ICommandContext context, string input, IServiceProvider services);
}
}
diff --git a/src/Discord.Net.Commands/Readers/UserTypeReader.cs b/src/Discord.Net.Commands/Readers/UserTypeReader.cs
index 7feab50ad..6d9f1dd8c 100644
--- a/src/Discord.Net.Commands/Readers/UserTypeReader.cs
+++ b/src/Discord.Net.Commands/Readers/UserTypeReader.cs
@@ -7,9 +7,14 @@ using System.Threading.Tasks;
namespace Discord.Commands
{
+ ///
+ /// A for parsing objects implementing .
+ ///
+ /// The type to be checked; must implement .
public class UserTypeReader : TypeReader
where T : class, IUser
{
+ ///
public override async Task ReadAsync(ICommandContext context, string input, IServiceProvider services)
{
var results = new Dictionary();
@@ -72,8 +77,8 @@ namespace Discord.Commands
.ForEachAsync(channelUser => AddResult(results, channelUser as T, (channelUser as IGuildUser).Nickname == input ? 0.65f : 0.55f))
.ConfigureAwait(false);
- foreach (var guildUser in guildUsers.Where(x => string.Equals(input, (x as IGuildUser).Nickname, StringComparison.OrdinalIgnoreCase)))
- AddResult(results, guildUser as T, (guildUser as IGuildUser).Nickname == input ? 0.60f : 0.50f);
+ foreach (var guildUser in guildUsers.Where(x => string.Equals(input, x.Nickname, StringComparison.OrdinalIgnoreCase)))
+ AddResult(results, guildUser as T, guildUser.Nickname == input ? 0.60f : 0.50f);
}
if (results.Count > 0)