namespace KfChatDotNetBot.Models;

public class KickChannelModel
{
    public required int ChannelId { get; set; }
    public required int ForumId { get; set; }
    public required string ChannelSlug { get; set; }
    /// <summary>
    /// Whether to automatically capture a stream when it goes live using yt-dlp
    /// </summary>
    public bool AutoCapture { get; set; } = false;
}

public class CourtHearingModel
{
    public required string Description { get; set; }
    public required DateTimeOffset Time { get; set; }
    public required string CaseNumber { get; set; }
}

public class PartiChannelModel
{
    public required string Username { get; set; }
    public required int ForumId { get; set; }
    public bool AutoCapture { get; set; } = false;
    public required string SocialMedia { get; set; }
}

public class LastSightingModel
{
    /// <summary>
    /// When Bossman was last seen
    /// </summary>
    public required DateTimeOffset When { get; set; }
    /// <summary>
    /// Where he was last seen. Message is formatted like "Bossman last seen 30 minutes ago {activity}
    /// Suggestions: "going offline on Discord", "talking in Discord", "betting on Shuffle.us"
    /// </summary>
    public required string Activity { get; set; }
}