Пример #1
0
        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);
        }
Пример #2
0
        // 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));
        }
Пример #3
0
        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);
        }
Пример #4
0
 public async Task HandleSearchAsync <T>(KuuhakuCommandContext context,
                                         (IEnumerable <T> items, KuuhakuEmbedBuilder[] pages) what,