Example #1
0
        /// <inheritdoc />
        public async Task UnConfigureGuildAsync(IGuild guild)
        {
            var config = await ModerationConfigRepository.ReadAsync(guild.Id);

            if (config != null)
            {
                IDeletable muteRole = guild.Roles.FirstOrDefault(x => x.Id == config.MuteRoleId);
                if (muteRole != null)
                {
                    await muteRole.DeleteAsync();
                }

                await ModerationConfigRepository.DeleteAsync(config.GuildId);
            }
        }
Example #2
0
        private async Task CreateOrUpdateConfig(IGuild guild, IRole muteRole)
        {
            var config = await ModerationConfigRepository.ReadAsync(guild.Id);

            if (config == null)
            {
                await ModerationConfigRepository.CreateAsync(new ModerationConfigCreationData()
                {
                    GuildId    = guild.Id,
                    MuteRoleId = muteRole.Id
                });
            }
            else if (muteRole.Id != config.MuteRoleId)
            {
                await ModerationConfigRepository.UpdateAsync(config.GuildId, data =>
                {
                    data.MuteRoleId = muteRole.Id;
                });
            }
        }