sharp-chat/SharpChat/PacketsS2C/AuthSuccessS2CPacket.cs

48 lines
1.7 KiB
C#
Raw Normal View History

namespace SharpChat.PacketsS2C {
public class AuthSuccessS2CPacket : SockChatS2CPacket {
private readonly long UserId;
private readonly string UserName;
private readonly Colour UserColour;
private readonly int UserRank;
private readonly UserPermissions UserPerms;
private readonly string ChannelName;
private readonly int MaxMessageLength;
2022-08-30 15:00:58 +00:00
public AuthSuccessS2CPacket(
long userId,
string userName,
Colour userColour,
int userRank,
UserPermissions userPerms,
string channelName,
int maxMsgLength
) {
UserId = userId;
UserName = userName;
UserColour = userColour;
UserRank = userRank;
UserPerms = userPerms;
ChannelName = channelName;
MaxMessageLength = maxMsgLength;
2022-08-30 15:00:58 +00:00
}
2024-05-10 15:24:43 +00:00
public override string Pack() {
2024-05-10 17:28:52 +00:00
return string.Format(
"1\ty\t{0}\t{1}\t{2}\t{3} {4} {5} {6} {7}\t{8}\t{9}",
UserId,
UserName,
UserColour,
UserRank,
UserPerms.HasFlag(UserPermissions.KickUser) ? 1 : 0,
UserPerms.HasFlag(UserPermissions.ViewLogs) ? 1 : 0,
UserPerms.HasFlag(UserPermissions.SetOwnNickname) ? 1 : 0,
UserPerms.HasFlag(UserPermissions.CreateChannel) ? (
UserPerms.HasFlag(UserPermissions.SetChannelPermanent) ? 2 : 1
) : 0,
2024-05-19 21:02:17 +00:00
SockChatUtility.SanitiseChannelName(ChannelName),
2024-05-10 17:28:52 +00:00
MaxMessageLength
);
2022-08-30 15:00:58 +00:00
}
}
}