95 lines
2.8 KiB
C#
95 lines
2.8 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 ChatColour SenderColour { get; }
|
|
public int SenderRank { get; }
|
|
public string SenderNickName { get; }
|
|
public ChatUserPermissions SenderPerms { get; }
|
|
public DateTimeOffset MessageCreated { get; }
|
|
public string MessageChannel { 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,
|
|
ChatColour senderColour,
|
|
int senderRank,
|
|
string senderNickName,
|
|
ChatUserPermissions 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,
|
|
ChatUser sender,
|
|
DateTimeOffset msgCreated,
|
|
string msgText,
|
|
bool isPrivate,
|
|
bool isAction,
|
|
bool isBroadcast
|
|
) : this(
|
|
msgId,
|
|
channelName,
|
|
sender?.UserId ?? -1,
|
|
sender?.UserName ?? null,
|
|
sender?.Colour ?? ChatColour.None,
|
|
sender?.Rank ?? 0,
|
|
sender?.NickName ?? null,
|
|
sender?.Permissions ?? 0,
|
|
msgCreated,
|
|
msgText,
|
|
isPrivate,
|
|
isAction,
|
|
isBroadcast
|
|
) { }
|
|
|
|
public MessageCreateEvent(
|
|
long msgId,
|
|
ChatChannel channel,
|
|
ChatUser sender,
|
|
DateTimeOffset msgCreated,
|
|
string msgText,
|
|
bool isPrivate,
|
|
bool isAction,
|
|
bool isBroadcast
|
|
) : this(
|
|
msgId,
|
|
channel?.Name ?? null,
|
|
sender,
|
|
msgCreated,
|
|
msgText,
|
|
isPrivate,
|
|
isAction,
|
|
isBroadcast
|
|
) { }
|
|
}
|
|
}
|