about summary refs log tree commit diff
path: root/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral')
-rw-r--r--LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs30
-rw-r--r--LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs11
2 files changed, 41 insertions, 0 deletions
diff --git a/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs b/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs
new file mode 100644
index 0000000..676f36d
--- /dev/null
+++ b/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs
@@ -0,0 +1,30 @@
+using System.Text.Json.Serialization;
+
+namespace LibMatrix.LegacyEvents.EventTypes.Spec.Ephemeral;
+
+[MatrixEvent(EventName = EventId)]
+public class PresenceEventContent : EventContent {
+    public const string EventId = "m.presence";
+
+    [JsonPropertyName("presence")]
+    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+    public string? Presence { get; set; }
+
+    [JsonPropertyName("last_active_ago")]
+    public long LastActiveAgo { get; set; }
+
+    [JsonPropertyName("currently_active")]
+    public bool CurrentlyActive { get; set; }
+
+    [JsonPropertyName("status_msg")]
+    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+    public string? StatusMessage { get; set; }
+
+    [JsonPropertyName("avatar_url")]
+    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+    public string? AvatarUrl { get; set; }
+
+    [JsonPropertyName("displayname")]
+    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+    public string? DisplayName { get; set; }
+}
\ No newline at end of file
diff --git a/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs b/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs
new file mode 100644
index 0000000..97b86fc
--- /dev/null
+++ b/LibMatrix.LegacyEvents.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs
@@ -0,0 +1,11 @@
+using System.Text.Json.Serialization;
+
+namespace LibMatrix.LegacyEvents.EventTypes.Spec.State;
+
+[MatrixEvent(EventName = EventId)]
+public class RoomTypingEventContent : EventContent {
+    public const string EventId = "m.typing";
+
+    [JsonPropertyName("user_ids")]
+    public string[]? UserIds { get; set; }
+}
\ No newline at end of file