mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-04-30 03:22:04 -04:00
143 lines
4.4 KiB
C#
143 lines
4.4 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace KfChatDotNetBot.Models;
|
|
|
|
public class RainbetBetHistoryModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required string Id { get; set; }
|
|
[JsonPropertyName("value")]
|
|
public required float Value { get; set; }
|
|
[JsonPropertyName("payout")]
|
|
public required float? Payout { get; set; }
|
|
[JsonPropertyName("multiplier")]
|
|
public float? Multiplier { get; set; }
|
|
[JsonPropertyName("updated_at")]
|
|
public DateTimeOffset UpdatedAt { get; set; } = DateTimeOffset.UtcNow;
|
|
[JsonPropertyName("user")]
|
|
public required RainbetBetHistoryUserModel User { get; set; }
|
|
[JsonPropertyName("game")]
|
|
public required RainbetBetHistoryGameModel Game { get; set; }
|
|
}
|
|
|
|
public class RainbetBetHistoryGameModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required int Id { get; set; }
|
|
// It's actually a slug
|
|
[JsonPropertyName("url")]
|
|
public required string Url { get; set; }
|
|
[JsonPropertyName("name")]
|
|
public required string Name { get; set; }
|
|
}
|
|
|
|
public class RainbetBetHistoryUserRankModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required int Id { get; set; }
|
|
[JsonPropertyName("name")]
|
|
public required string Name { get; set; }
|
|
[JsonPropertyName("level")]
|
|
public required int Level { get; set; }
|
|
[JsonPropertyName("threshold")]
|
|
public required int Threshold { get; set; }
|
|
}
|
|
|
|
public class RainbetBetHistoryUserModel
|
|
{
|
|
// Can still uniquely identify users even if they're private. Bossman is ID 50
|
|
[JsonPropertyName("id")]
|
|
public required int Id { get; set; }
|
|
// Set to null on private-profiles
|
|
[JsonPropertyName("publicId")]
|
|
public string? PublicId { get; set; }
|
|
// Set to null on private profiles
|
|
[JsonPropertyName("username")]
|
|
public string? Username { get; set; }
|
|
|
|
[JsonPropertyName("wageredAmount")]
|
|
public float WageredAmount { get; set; } = 0;
|
|
[JsonPropertyName("public_profile")]
|
|
public int PublicProfile { get; set; } = 0;
|
|
// Null when they have no rank
|
|
[JsonPropertyName("rank")]
|
|
public RainbetBetHistoryUserRankModel? Rank { get; set; }
|
|
}
|
|
|
|
public class RainbetWsBetModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required string Id { get; set; }
|
|
[JsonPropertyName("currencyAmount")]
|
|
public required string CurrencyAmount { get; set; }
|
|
[JsonPropertyName("currency")]
|
|
public required string CurrencyName { get; set; }
|
|
[JsonPropertyName("value")]
|
|
public required string Value { get; set; }
|
|
[JsonPropertyName("payout")]
|
|
public required string Payout { get; set; }
|
|
[JsonPropertyName("currencyPayout")]
|
|
public required string CurrencyPayout { get; set; }
|
|
[JsonPropertyName("multiplier")]
|
|
public required string Multiplier { get; set; }
|
|
[JsonPropertyName("updatedAt")]
|
|
public required DateTimeOffset UpdatedAt { get; set; }
|
|
[JsonPropertyName("user")]
|
|
public required RainbetWsUserModel User { get; set; }
|
|
[JsonPropertyName("game")]
|
|
public required RainbetWsGameModel Game { get; set; }
|
|
}
|
|
|
|
public class RainbetWsUserModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required int Id { get; set; }
|
|
[JsonPropertyName("publicId")]
|
|
public required string PublicId { get; set; }
|
|
[JsonPropertyName("username")]
|
|
// null for private profiles
|
|
public string? Username { get; set; }
|
|
[JsonPropertyName("publicProfile")]
|
|
public required int PublicProfile { get; set; }
|
|
}
|
|
|
|
public class RainbetWsGameModel
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public required int Id { get; set; }
|
|
[JsonPropertyName("url")]
|
|
public required string Url { get; set; }
|
|
[JsonPropertyName("name")]
|
|
public required string Name { get; set; }
|
|
}
|
|
|
|
/*
|
|
{
|
|
"id": "1a3648a7-e055-49aa-928e-7d9e0c02548a",
|
|
"currencyAmount": "4.0000",
|
|
"currency": "USD",
|
|
"value": "4.0000",
|
|
"currencyPayout": "0.0000",
|
|
"payout": "0.0000",
|
|
"multiplier": "0.0000",
|
|
"updatedAt": "2025-05-16T17:53:49.000Z",
|
|
"user": {
|
|
"id": 784907,
|
|
"publicId": "PIQ230088QABHUGXUT7UH6WUY6PDD473",
|
|
"username": "Gerr...",
|
|
"publicProfile": 1,
|
|
"__betRank__": { "name": "Silver", "level": 1 },
|
|
"rankLevel": { "name": "Silver", "level": 1 }
|
|
},
|
|
"game": {
|
|
"id": 752539,
|
|
"url": "evolution-marble-race",
|
|
"name": "Marble Race",
|
|
"icon": "https://contentdeliverynetwork.cc/i/s3/evolution/MarbleRace.png",
|
|
"iconMini": null,
|
|
"customBanner": null
|
|
},
|
|
"betParameters": null,
|
|
"idString": "1a3648a7-e055-49aa-928e-7d9e0c02548a"
|
|
}
|
|
*/ |