#nullable enable using NodaTime; namespace PluralKit.Core; /// /// Model for the `message_context` PL/pgSQL function in `functions.sql` /// public class MessageContext { public SystemId? SystemId { get; } /// /// Whether a system is being deleted (no actions should be taken, or commands ran) /// public ulong? LogChannel { get; } public bool InBlacklist { get; } public bool InLogBlacklist { get; } public bool LogCleanupEnabled { get; } public bool ProxyEnabled { get; } public SwitchId? LastSwitch { get; } public MemberId[] LastSwitchMembers { get; } = new MemberId[0]; public Instant? LastSwitchTimestamp { get; } public string? SystemTag { get; } public string? SystemGuildTag { get; } public bool TagEnabled { get; } public string? SystemAvatar { get; } public bool AllowAutoproxy { get; } public int? LatchTimeout { get; } }