Exemplo n.º 1
0
        public async Task PrefixAsync(CommandContext e)
        {
            var    cache = e.GetService <ICacheClient>();
            string args  = e.Arguments.Pack.TakeAll();

            if (string.IsNullOrEmpty(args))
            {
                await e.ErrorEmbed(e.Locale.GetString("miki_module_general_prefix_error_no_arg")).ToEmbed().QueueToChannelAsync(e.Channel);

                return;
            }

            PrefixTrigger defaultInstance = e.EventSystem.GetMessageTriggers()
                                            .Where(x => x is PrefixTrigger)
                                            .Select(x => x as PrefixTrigger)
                                            .Where(x => x.IsDefault)
                                            .FirstOrDefault();

            var context = e.GetService <MikiDbContext>();
            await defaultInstance.ChangeForGuildAsync(context, cache, e.Guild.Id, args);

            EmbedBuilder embed = new EmbedBuilder();

            embed.SetTitle(e.Locale.GetString("miki_module_general_prefix_success_header"));
            embed.SetDescription(
                e.Locale.GetString("miki_module_general_prefix_success_message", args
                                   ));

            await embed.ToEmbed().QueueToChannelAsync(e.Channel);
        }
Exemplo n.º 2
0
        public async Task PrefixTriggerDoesTriggerAsync()
        {
            var trigger = new PrefixTrigger("test.");
            var mock    = new Mock <IContext>();

            mock.Setup(x => x.GetContext(It.IsAny <string>()))
            .Returns("test.command");

            var result = await trigger.CheckTriggerAsync(mock.Object)
                         .ConfigureAwait(false);

            Assert.Equal("test.", result);
        }