namespace KfChatDotNetBot.Models.DbModels; public class StreamDbModel { public int Id { get; set; } /// /// User associated with the stream if any. If none associated, then it'll just say "Somebody has gone live" /// public UserDbModel? User { get; set; } = null; /// /// Absolute URL of the streamer /// public required string StreamUrl { get; set; } /// /// Service the streamer is using /// public required StreamService Service { get; set; } /// /// JSON containing arbitrary data, e.g. social name for Parti, streamer ID for Kick, etc. /// public string? Metadata { get; set; } = null; /// /// Whether to automatically capture a stream when it goes live using yt-dlp / streamlink /// public bool AutoCapture { get; set; } = false; } public enum StreamService { Kick, Parti, DLive, KiwiPeerTube } public class KickStreamMetaModel { public required int ChannelId { get; set; } } public class PeerTubeMetaModel { public required string AccountName { get; set; } }