final commit
This commit is contained in:
@@ -15,16 +15,16 @@ namespace EventBot.Misc
|
||||
{
|
||||
var database = services.GetRequiredService<DatabaseService>();
|
||||
if (context.Guild == null)
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.UnmetPrecondition, "Event roles are available only inside guild context."));
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.UnmetPrecondition, "Event roles are available only inside a discord server."));
|
||||
EventRole er = null;
|
||||
if (int.TryParse(input, out int id))
|
||||
er = database.EventRoles.FirstOrDefault(r => r.Id == id);
|
||||
else
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "Event role id is not a valid number."));
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "Event role IS is not a valid number."));
|
||||
if(er == null)
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.ObjectNotFound, "Specified event role was not found."));
|
||||
if(er.Event?.GuildId != context.Guild.Id)
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.Exception, "Cross guild event role access is denied."));
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.Exception, "Cross server event role access is denied."));
|
||||
return Task.FromResult(TypeReaderResult.FromSuccess(er));
|
||||
}
|
||||
}
|
||||
|
@@ -15,14 +15,14 @@ namespace EventBot.Misc
|
||||
{
|
||||
var events = services.GetRequiredService<EventManagementService>();
|
||||
if (context.Guild == null)
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.UnmetPrecondition, "Events are available only inside guild context."));
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.UnmetPrecondition, "Events are available only inside a discord server."));
|
||||
Event ev;
|
||||
if (input == null)
|
||||
ev = events.FindEventBy(context.Guild, true);
|
||||
else if (int.TryParse(input, out int id))
|
||||
ev = events.FindEventBy(context.Guild, id, true);
|
||||
else
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "Event id is not a number."));
|
||||
return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "Event ID is not a number."));
|
||||
|
||||
return Task.FromResult(TypeReaderResult.FromSuccess(ev));
|
||||
}
|
||||
|
Reference in New Issue
Block a user