1 files changed, 35 insertions, 1 deletions
diff --git a/OsuFederatedBeatmapApi/Events/State/BeatmapSetInfo.cs b/OsuFederatedBeatmapApi/Events/State/BeatmapSetInfo.cs
index 8cfcf0d..7d6b455 100644
--- a/OsuFederatedBeatmapApi/Events/State/BeatmapSetInfo.cs
+++ b/OsuFederatedBeatmapApi/Events/State/BeatmapSetInfo.cs
@@ -1,12 +1,46 @@
+using System.Text.Json.Serialization;
using LibMatrix;
using LibMatrix.EventTypes;
using LibMatrix.Interfaces;
namespace OsuFederatedBeatmapApi.Events.State;
-[MatrixEvent(EventName = "gay.rory.beatmap_api.beatmap_set_info")]
+[MatrixEvent(EventName = EventName)]
public class BeatmapSetInfo : EventContent {
+ public const string EventName = "gay.rory.beatmap_api.beatmap_set_info";
+ [JsonPropertyName("title")]
+ public string? Title { get; set; }
+ [JsonPropertyName("artist")]
+ public string? Artist { get; set; }
+ [JsonPropertyName("creator")]
+ public string? Creator { get; set; }
+
+ [JsonPropertyName("beatmaps")]
+ public Dictionary<int, BeatmapInfo> Beatmaps { get; set; } = new();
+
+ public class BeatmapInfo {
+ [JsonPropertyName("difficulty")]
+ public string? Difficulty { get; set; }
+
+ [JsonPropertyName("mode")]
+ public int? Mode { get; set; }
+
+ [JsonPropertyName("difficulty_rating")]
+ public double? DifficultyRating { get; set; }
+
+ [JsonPropertyName("total_length")]
+ public int? TotalLength { get; set; }
+
+ [JsonPropertyName("bpm")]
+ public double? BPM { get; set; }
+
+ [JsonPropertyName("max_combo")]
+ public int? MaxCombo { get; set; }
+
+ // [JsonPropertyName("drain")]
+ // public double? Drain { get; set; }
+ }
}
|