Split IMessage into IUserMessage and ISystemMessage
This commit is contained in:
@@ -9,7 +9,7 @@ namespace Discord.Commands
|
||||
internal class ChannelTypeReader<T> : TypeReader
|
||||
where T : class, IChannel
|
||||
{
|
||||
public override async Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override async Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
var guild = (context.Channel as IGuildChannel)?.Guild;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Discord.Commands
|
||||
_enumsByValue = byValueBuilder.ToImmutable();
|
||||
}
|
||||
|
||||
public override Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
T baseValue;
|
||||
object enumValue;
|
||||
|
||||
@@ -3,16 +3,17 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Discord.Commands
|
||||
{
|
||||
internal class MessageTypeReader : TypeReader
|
||||
internal class MessageTypeReader<T> : TypeReader
|
||||
where T : class, IMessage
|
||||
{
|
||||
public override Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
ulong id;
|
||||
|
||||
//By Id (1.0)
|
||||
if (ulong.TryParse(input, NumberStyles.None, CultureInfo.InvariantCulture, out id))
|
||||
{
|
||||
var msg = context.Channel.GetCachedMessage(id);
|
||||
var msg = context.Channel.GetCachedMessage(id) as T;
|
||||
if (msg != null)
|
||||
return Task.FromResult(TypeReaderResult.FromSuccess(msg));
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Discord.Commands
|
||||
internal class RoleTypeReader<T> : TypeReader
|
||||
where T : class, IRole
|
||||
{
|
||||
public override Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
var guild = (context.Channel as IGuildChannel)?.Guild;
|
||||
ulong id;
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Discord.Commands
|
||||
_tryParse = PrimitiveParsers.Get<T>();
|
||||
}
|
||||
|
||||
public override Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
T value;
|
||||
if (_tryParse(input, out value))
|
||||
|
||||
@@ -4,6 +4,6 @@ namespace Discord.Commands
|
||||
{
|
||||
public abstract class TypeReader
|
||||
{
|
||||
public abstract Task<TypeReaderResult> Read(IMessage context, string input);
|
||||
public abstract Task<TypeReaderResult> Read(IUserMessage context, string input);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Discord.Commands
|
||||
internal class UserTypeReader<T> : TypeReader
|
||||
where T : class, IUser
|
||||
{
|
||||
public override async Task<TypeReaderResult> Read(IMessage context, string input)
|
||||
public override async Task<TypeReaderResult> Read(IUserMessage context, string input)
|
||||
{
|
||||
var results = new Dictionary<ulong, TypeReaderValue>();
|
||||
var guild = (context.Channel as IGuildChannel)?.Guild;
|
||||
|
||||
Reference in New Issue
Block a user