94 lines
2.7 KiB
C#
94 lines
2.7 KiB
C#
using System;
|
|
|
|
namespace SharpChat.Events {
|
|
public class MessageCreateEvent : IChatEvent {
|
|
public long MessageId { get; }
|
|
public string? ChannelName { get; }
|
|
public long SenderId { get; }
|
|
public string? SenderName { get; }
|
|
public Colour SenderColour { get; }
|
|
public int SenderRank { get; }
|
|
public string? SenderNickName { get; }
|
|
public UserPermissions SenderPerms { get; }
|
|
public DateTimeOffset MessageCreated { get; }
|
|
public string MessageText { get; }
|
|
public bool IsPrivate { get; }
|
|
public bool IsAction { get; }
|
|
public bool IsBroadcast { get; }
|
|
|
|
public MessageCreateEvent(
|
|
long msgId,
|
|
string? channelName,
|
|
long senderId,
|
|
string? senderName,
|
|
Colour senderColour,
|
|
int senderRank,
|
|
string? senderNickName,
|
|
UserPermissions senderPerms,
|
|
DateTimeOffset msgCreated,
|
|
string msgText,
|
|
bool isPrivate,
|
|
bool isAction,
|
|
bool isBroadcast
|
|
) {
|
|
MessageId = msgId;
|
|
ChannelName = channelName;
|
|
SenderId = senderId;
|
|
SenderName = senderName;
|
|
SenderColour = senderColour;
|
|
SenderRank = senderRank;
|
|
SenderNickName = senderNickName;
|
|
SenderPerms = senderPerms;
|
|
MessageCreated = msgCreated;
|
|
MessageText = msgText;
|
|
IsPrivate = isPrivate;
|
|
IsAction = isAction;
|
|
IsBroadcast = isBroadcast;
|
|
}
|
|
|
|
public MessageCreateEvent(
|
|
long msgId,
|
|
string? channelName,
|
|
UserInfo? sender,
|
|
DateTimeOffset msgCreated,
|
|
string msgText,
|
|
bool isPrivate,
|
|
bool isAction,
|
|
bool isBroadcast
|
|
) : this(
|
|
msgId,
|
|
channelName,
|
|
sender?.UserId ?? -1,
|
|
sender?.UserName ?? null,
|
|
sender?.Colour ?? Colour.None,
|
|
sender?.Rank ?? 0,
|
|
sender?.NickName ?? null,
|
|
sender?.Permissions ?? 0,
|
|
msgCreated,
|
|
msgText,
|
|
isPrivate,
|
|
isAction,
|
|
isBroadcast
|
|
) { }
|
|
|
|
public MessageCreateEvent(
|
|
long msgId,
|
|
ChannelInfo channel,
|
|
UserInfo sender,
|
|
DateTimeOffset msgCreated,
|
|
string msgText,
|
|
bool isPrivate,
|
|
bool isAction,
|
|
bool isBroadcast
|
|
) : this(
|
|
msgId,
|
|
channel?.Name ?? null,
|
|
sender,
|
|
msgCreated,
|
|
msgText,
|
|
isPrivate,
|
|
isAction,
|
|
isBroadcast
|
|
) { }
|
|
}
|
|
}
|