blob: 4626a23261aa2e62756bc8933710748e1a1786e0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
using System.Collections.Frozen;
using System.Collections.Immutable;
namespace LibMatrix.Utilities.Bot.Interfaces;
public interface ICommand {
public string Name { get; }
public string[]? Aliases { get; }
public string Description { get; }
public bool Unlisted { get; }
public Task<bool> CanInvoke(CommandContext ctx) => Task.FromResult(true);
public Task Invoke(CommandContext ctx);
}
public interface ICommandGroup : ICommand {
public IImmutableList<ICommand> SubCommands { get; }
}
|