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; }
}