private async Task OnCommandSuccessfullyExecutedAsync(KuuhakuCommandContext context, ExecuteResult result) { await this._repository.IncrementGlobalCommandsAsync(); if (context.IsPrivate) { return; } var guildStats = await this._repository.GetGuildStatsAsync(context.Guild); guildStats.CommandsExecuted++; await this._repository.UpdateGuildStatsAsync(context.Guild, guildStats); }
// protected override async Task<KuuhakuCommandContext> CreateContextAsync(SocketUserMessage message, Stopwatch stopwatch) // { // var context = await base.CreateContextAsync(message, stopwatch); // var type = context.GetType(); // return context; // } protected override Task <ImmutableArray <String> > GetCommandsAsync(KuuhakuCommandContext context) { if (context.User.IsBot && !this.Options.AllowBots) { return(Task.FromResult(ImmutableArray <String> .Empty)); } var parseResults = CommandParser .Many() .TryParse(context.Message.Content); var commands = parseResults.Value.ToImmutableArray(); if (!parseResults.WasSuccessful || commands.IsEmpty) { return(Task.FromResult(ImmutableArray <String> .Empty)); } return(Task.FromResult(commands)); }
public async Task AddNewReminder(KuuhakuCommandContext context, DateTime when, String what) { var reminder = await this._repository.CreateAsync(context.Guild, context.Message, context.User, when, what); this._reminders.Add(reminder); }
public async Task HandleSearchAsync <T>(KuuhakuCommandContext context, (IEnumerable <T> items, KuuhakuEmbedBuilder[] pages) what,