Пример #1
0
        public ConcurrentHashSet <string> FilteredWordsForServer(ulong guildId)
        {
            var words = new ConcurrentHashSet <string>();

            if (WordFilteringServers.Contains(guildId))
            {
                ServerFilteredWords.TryGetValue(guildId, out words);
            }
            return(words);
        }
Пример #2
0
        public void ClearFilteredWords(ulong guildId)
        {
            using (var uow = _db.GetDbContext())
            {
                var gc = uow.GuildConfigs.ForId(guildId,
                                                set => set.Include(x => x.FilteredWords)
                                                .Include(x => x.FilterWordsChannelIds));

                WordFilteringServers.TryRemove(guildId);
                ServerFilteredWords.TryRemove(guildId, out _);

                foreach (var c in gc.FilterWordsChannelIds)
                {
                    WordFilteringChannels.TryRemove(c.ChannelId);
                }

                gc.FilterWords = false;
                gc.FilteredWords.Clear();
                gc.FilterWordsChannelIds.Clear();

                uow.SaveChanges();
            }
        }