mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
63 lines
1.6 KiB
C#
63 lines
1.6 KiB
C#
#nullable disable
|
|
namespace NadekoBot.Services.Database.Models;
|
|
|
|
public class AntiRaidSetting : DbEntity
|
|
{
|
|
public int GuildConfigId { get; set; }
|
|
public GuildConfig GuildConfig { get; set; }
|
|
|
|
public int UserThreshold { get; set; }
|
|
public int Seconds { get; set; }
|
|
public PunishmentAction Action { get; set; }
|
|
|
|
/// <summary>
|
|
/// Duration of the punishment, in minutes. This works only for supported Actions, like:
|
|
/// Mute, Chatmute, Voicemute, etc...
|
|
/// </summary>
|
|
public int PunishDuration { get; set; }
|
|
}
|
|
|
|
public class AntiSpamSetting : DbEntity
|
|
{
|
|
public int GuildConfigId { get; set; }
|
|
public GuildConfig GuildConfig { get; set; }
|
|
|
|
public PunishmentAction Action { get; set; }
|
|
public int MessageThreshold { get; set; } = 3;
|
|
public int MuteTime { get; set; }
|
|
public ulong? RoleId { get; set; }
|
|
public HashSet<AntiSpamIgnore> IgnoredChannels { get; set; } = new();
|
|
}
|
|
|
|
public class AntiAltSetting
|
|
{
|
|
public int Id { get; set; }
|
|
public int GuildConfigId { get; set; }
|
|
public TimeSpan MinAge { get; set; }
|
|
public PunishmentAction Action { get; set; }
|
|
public int ActionDurationMinutes { get; set; }
|
|
public ulong? RoleId { get; set; }
|
|
}
|
|
|
|
public enum PunishmentAction
|
|
{
|
|
Mute,
|
|
Kick,
|
|
Ban,
|
|
Softban,
|
|
RemoveRoles,
|
|
ChatMute,
|
|
VoiceMute,
|
|
AddRole
|
|
}
|
|
|
|
public class AntiSpamIgnore : DbEntity
|
|
{
|
|
public ulong ChannelId { get; set; }
|
|
|
|
public override int GetHashCode()
|
|
=> ChannelId.GetHashCode();
|
|
|
|
public override bool Equals(object obj)
|
|
=> obj is AntiSpamIgnore inst ? inst.ChannelId == ChannelId : false;
|
|
} |