namespace KfChatDotNetBot.Models; // Stash all the models used for perk or game metadata here public class KasinoWagerBaseEventMetaModel { /// /// Event type for this meta model for the purposes of figuring out which model to use when deserializing /// public required KasinoEventType EventType { get; set; } /// /// Unique reference tracking the shared event ID stored in the settings /// public required string SharedEventId { get; set; } /// /// How long it took the user to make a selection. This is based on the event announcement msg recv - sent timestamp /// that SneedChat provided so the bot won't unfairly penalize users who were delayed by chat lag /// public required TimeSpan SelectionDelay { get; set; } } /// /// Metadata model tracking a gambler's wager information related to win/lose games specifically /// public class KasinoWagerWinLoseEventMetaModel : KasinoWagerBaseEventMetaModel { /// /// Unique reference tracking the option the gambler selected. Tracked as a GUID in case the option text changes /// public required string OptionId { get; set; } } /// /// Metadata model tracking a gambler's wager information related to win/lose games specifically /// public class KasinoWagerPredictionEventMetaModel : KasinoWagerBaseEventMetaModel { /// /// The absolute time when the user predicted the thing was going to happen /// public required DateTimeOffset PredictedTime { get; set; } }