17 lines
615 B
C#
17 lines
615 B
C#
using FreeCode.Core.Enums;
|
|
using FreeCode.Core.Interfaces;
|
|
using FreeCode.Core.Models;
|
|
|
|
namespace FreeCode.Commands;
|
|
|
|
public abstract class CommandBase : ICommand
|
|
{
|
|
public abstract string Name { get; }
|
|
public virtual string[]? Aliases => null;
|
|
public abstract string Description { get; }
|
|
public abstract CommandCategory Category { get; }
|
|
public virtual CommandAvailability Availability => CommandAvailability.Always;
|
|
public virtual bool IsEnabled() => true;
|
|
public abstract Task<CommandResult> ExecuteAsync(CommandContext context, string? args = null, CancellationToken ct = default);
|
|
}
|