38 lines
1 KiB
C#
38 lines
1 KiB
C#
using SharpChat.Packet;
|
|
using System;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace SharpChat.Events {
|
|
public class UserDisconnectEvent : IChatEvent {
|
|
|
|
[JsonIgnore]
|
|
public DateTimeOffset DateTime { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public BasicUser Sender { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public IPacketTarget Target { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public string TargetName { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public ChatMessageFlags Flags { get; set; } = ChatMessageFlags.Log;
|
|
|
|
[JsonIgnore]
|
|
public long SequenceId { get; set; }
|
|
|
|
[JsonPropertyName(@"reason")]
|
|
public UserDisconnectReason Reason { get; set; }
|
|
|
|
public UserDisconnectEvent() { }
|
|
public UserDisconnectEvent(DateTimeOffset parted, BasicUser user, IPacketTarget target, UserDisconnectReason reason) {
|
|
DateTime = parted;
|
|
Sender = user;
|
|
Target = target;
|
|
TargetName = target?.TargetName;
|
|
Reason = reason;
|
|
}
|
|
}
|
|
}
|