#nullable disable namespace NadekoBot.Db.Models; public class GuildConfig : DbEntity { // public bool Keep { get; set; } public ulong GuildId { get; set; } public string Prefix { get; set; } public bool DeleteMessageOnCommand { get; set; } public HashSet DelMsgOnCmdChannels { get; set; } = new(); public string AutoAssignRoleIds { get; set; } //todo FUTURE: DELETE, UNUSED public bool ExclusiveSelfAssignedRoles { get; set; } public bool AutoDeleteSelfAssignedRoleMessages { get; set; } //stream notifications public HashSet FollowedStreams { get; set; } = new(); //currencyGeneration public HashSet GenerateCurrencyChannelIds { get; set; } = new(); public List Permissions { get; set; } public bool VerbosePermissions { get; set; } = true; public string PermissionRole { get; set; } public HashSet CommandCooldowns { get; set; } = new(); //filtering public bool FilterInvites { get; set; } public bool FilterLinks { get; set; } public HashSet FilterInvitesChannelIds { get; set; } = new(); public HashSet FilterLinksChannelIds { get; set; } = new(); public bool FilterWords { get; set; } public HashSet FilteredWords { get; set; } = new(); public HashSet FilterWordsChannelIds { get; set; } = new(); // mute public HashSet MutedUsers { get; set; } = new(); public string MuteRoleName { get; set; } // chatterbot public bool CleverbotEnabled { get; set; } // protection public AntiRaidSetting AntiRaidSetting { get; set; } public AntiSpamSetting AntiSpamSetting { get; set; } public AntiAltSetting AntiAltSetting { get; set; } // time public string Locale { get; set; } public string TimeZoneId { get; set; } // timers public HashSet UnmuteTimers { get; set; } = new(); public HashSet UnbanTimer { get; set; } = new(); public HashSet UnroleTimer { get; set; } = new(); // vcrole public HashSet VcRoleInfos { get; set; } // aliases public HashSet CommandAliases { get; set; } = new(); public bool WarningsInitialized { get; set; } public HashSet SlowmodeIgnoredUsers { get; set; } public HashSet SlowmodeIgnoredRoles { get; set; } public List ShopEntries { get; set; } public ulong? GameVoiceChannel { get; set; } public bool VerboseErrors { get; set; } = true; public StreamRoleSettings StreamRole { get; set; } public XpSettings XpSettings { get; set; } public List FeedSubs { get; set; } = new(); public bool NotifyStreamOffline { get; set; } public bool DeleteStreamOnlineMessage { get; set; } public int WarnExpireHours { get; set; } public WarnExpireAction WarnExpireAction { get; set; } = WarnExpireAction.Clear; public bool DisableGlobalExpressions { get; set; } = false; public bool StickyRoles { get; set; } }