mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 04:22:04 -04:00
Experimental Clash.gg support, completely untested. Austin's ID is unknown at this time hence not populated
This commit is contained in:
86
KfChatDotNetBot/Models/ClashggModels.cs
Normal file
86
KfChatDotNetBot/Models/ClashggModels.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace KfChatDotNetBot.Models;
|
||||
|
||||
public enum ClashggGame
|
||||
{
|
||||
Plinko,
|
||||
Mines,
|
||||
Keno
|
||||
}
|
||||
|
||||
public enum ClashggCurrency
|
||||
{
|
||||
Real, // Gems
|
||||
Fake // Coins
|
||||
}
|
||||
|
||||
public class ClashggBetModel
|
||||
{
|
||||
public required ClashggGame Game { get; set; }
|
||||
public required int UserId { get; set; }
|
||||
// Isn't sent for Plinko
|
||||
public string? Username { get; set; }
|
||||
// Clash.gg uses its own currency for money in play
|
||||
// Bets are in cents
|
||||
public required int Bet { get; set; }
|
||||
// Clash.gg has a fake worthless currency called Coins.
|
||||
// Sweepstakes bullshit loophole, the real money is Gems
|
||||
// It's even identified as REAL when it's Gems, PLAY when it's Coins
|
||||
public required ClashggCurrency Currency { get; set; }
|
||||
// Mines doesn't send a multi, but it's calculated based on payout / bet
|
||||
public required float Multiplier { get; set; }
|
||||
// Payouts aren't sent for Plinko but will be calculated based on multi
|
||||
public required float Payout { get; set; }
|
||||
}
|
||||
|
||||
// There's a bunch more properties, but I don't care
|
||||
// {"id":3122766,"role":"user","name":"nettspend","avatar":"https://avatars.steamstatic.com/6ceb09420f55ca4e84769169fad1436c0f1b6053_full.jpg","xp":28452,"isVerified":false,"isPrivate":false,"premiumUntil":null}
|
||||
public class ClashggWsUserModel
|
||||
{
|
||||
[JsonPropertyName("user")]
|
||||
public required int Id { get; set; }
|
||||
[JsonPropertyName("name")]
|
||||
public required string Name { get; set; }
|
||||
}
|
||||
|
||||
// {"point":257.4683393753577,"avatarUrl":"https://avatars.steamstatic.com/ee5758f75e9ccff825ece5b1a4cb505af851025d_full.jpg","userId":635455,"rows":16,"betAmount":50,"multiplier":0.2,"currency":"REAL"}
|
||||
public class ClashggWsPlinkoModel
|
||||
{
|
||||
[JsonPropertyName("userId")]
|
||||
public required int UserId { get; set; }
|
||||
[JsonPropertyName("betAmount")]
|
||||
public required int BetAmount { get; set; }
|
||||
[JsonPropertyName("multiplier")]
|
||||
public required float Multiplier { get; set; }
|
||||
[JsonPropertyName("currency")]
|
||||
public required string Currency { get; set; }
|
||||
}
|
||||
|
||||
// {"updatedAt":"2025-03-22T04:48:55.644Z","status":"playing","currency":"REAL","betAmount":75,"payout":91,"mineCount":1,"user":{"id":3122766,"role":"user","name":"nettspend","avatar":"https://avatars.steamstatic.com/6ceb09420f55ca4e84769169fad1436c0f1b6053_full.jpg","xp":28452,"isVerified":false,"isPrivate":false,"premiumUntil":null}}
|
||||
public class ClashggWsMinesModel
|
||||
{
|
||||
[JsonPropertyName("currency")]
|
||||
public required string Currency { get; set; }
|
||||
[JsonPropertyName("betAmount")]
|
||||
public required int BetAmount { get; set; }
|
||||
[JsonPropertyName("payout")]
|
||||
public required int Payout { get; set; }
|
||||
[JsonPropertyName("user")]
|
||||
public required ClashggWsUserModel User { get; set; }
|
||||
}
|
||||
|
||||
// {"id":4168183,"createdAt":"2025-03-22T04:53:22.008Z","userPicks":[24,36,2,16,29,32,15,10,38,3],"kenoPicks":[11,40,21,33,17,30,6,7,20,8],"payout":0,"multiplier":0,"currency":"REAL","betAmount":50,"user":{"id":2229575,"role":"user","name":"SomeoneSomebody","avatar":"https://avatars.steamstatic.com/f1828607eac4054560a02da9ba83e4310053661a_full.jpg","xp":197137,"isVerified":false,"isPrivate":false,"premiumUntil":null}}
|
||||
public class ClashggWsKenoModel
|
||||
{
|
||||
[JsonPropertyName("currency")]
|
||||
public required string Currency { get; set; }
|
||||
[JsonPropertyName("betAmount")]
|
||||
public required int BetAmount { get; set; }
|
||||
[JsonPropertyName("payout")]
|
||||
public required int Payout { get; set; }
|
||||
[JsonPropertyName("user")]
|
||||
public required ClashggWsUserModel User { get; set; }
|
||||
[JsonPropertyName("multiplier")]
|
||||
public required float Multiplier { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user