示例#1
0
            public async Task Prefix(
                [Summary("Prefix.")] string prefix)
            {
                await _guildPreferencesProvider.UpdatePreferencesAsync(Context.Guild.Id, pref => pref.Prefix = prefix);

                await this.ReplySuccessEmbedAsync($"Prefix was changed to: **{prefix}**");
            }
示例#2
0
        public async Task GetPreferences()
        {
            // Get preferences. Should be default
            var pref = await _provider.GetPreferencesAsync(1);

            // Default preferences are marked with guild id 0
            Assert.Equal((ulong)0, pref.GuildId);

            await _provider.UpdatePreferencesAsync(guildId : 1, configuration => { configuration.CurrencySymbol = "test"; });

            // Should update as object reference is the same.
            Assert.NotEqual((ulong)0, pref.GuildId);

            // Check if currency symbol saved.
            Assert.Equal("test", pref.CurrencySymbol);
        }
示例#3
0
        public async Task <ActionResult> UpdateGuildPreferencesAsync(ulong guildId, GuildPreferencesInputModel model)
        {
            // Ensure user has admin rights
            if (!await _client.ValidateGuildAdminAsync(User.GetId(), guildId))
            {
                throw new UserNotGuildAdminException();
            }

            await _guildPreferencesProvider.UpdatePreferencesAsync(guildId, preferences =>
            {
                if (model.Prefix != null)
                {
                    preferences.Prefix = model.Prefix;
                }

                if (model.TimelyRewardQuantity != null)
                {
                    preferences.TimelyRewardQuantity = (int)model.TimelyRewardQuantity;
                }

                if (model.TimelyCooldown != null)
                {
                    preferences.TimelyCooldown = (int)model.TimelyCooldown;
                }

                if (model.CurrencySymbol != null)
                {
                    preferences.CurrencySymbol = model.CurrencySymbol;
                }

                if (model.AcceptedMemberRoleId != null)
                {
                    preferences.AcceptedMemberRoleId = (ulong)model.AcceptedMemberRoleId;
                }
            });

            return(Ok());
        }