public async Task ChnlFilterWords() { var channel = (ITextChannel)Context.Channel; int removed; using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.For(channel.Guild.Id, set => set.Include(gc => gc.FilterWordsChannelIds)); removed = config.FilterWordsChannelIds.RemoveWhere(fc => fc.ChannelId == (long)channel.Id); if (removed == 0) { config.FilterWordsChannelIds.Add(new Services.Database.Models.FilterChannelId() { ChannelId = (long)channel.Id }); } await uow.CompleteAsync().ConfigureAwait(false); } if (removed == 0) { WordFilteringChannels.Add(channel.Id); await ReplyConfirmLocalized("word_filter_channel_on").ConfigureAwait(false); } else { WordFilteringChannels.TryRemove(channel.Id); await ReplyConfirmLocalized("word_filter_channel_off").ConfigureAwait(false); } }
public async Task ChnlFilterWords(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; int removed; using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.For(channel.Guild.Id); removed = config.FilterWordsChannelIds.RemoveWhere(fc => fc.ChannelId == channel.Id); if (removed == 0) { config.FilterWordsChannelIds.Add(new Services.Database.Models.FilterChannelId() { ChannelId = channel.Id }); } await uow.CompleteAsync().ConfigureAwait(false); } if (removed == 0) { WordFilteringChannels.Add(channel.Id); await channel.SendMessageAsync("`Word filtering enabled on this channel.`").ConfigureAwait(false); } else { WordFilteringChannels.TryRemove(channel.Id); await channel.SendMessageAsync("`Word filtering disabled on this channel.`").ConfigureAwait(false); } }