public EventChatMessage(SockChatChannel chan, string msgId, SockChatMessageFlags flags, bool error, string eventName, params object[] parts) { Channel = chan; MessageIdStr = msgId; Flags = flags; IsError = error; EventName = eventName; Parts = parts; }
public void Send(SockChatUser user, string message, SockChatMessageFlags flags = SockChatMessageFlags.RegularUser) { user = user ?? SockChatServer.Bot; Connections.ForEach(c => c.Send(new object[] { DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), user.UserId.ToString(), message, SockChatMessage.NextMessageId, flags.Serialise() }.Pack(SockChatServerPacket.MessageAdd))); }
public static string Serialise(this SockChatMessageFlags flags) { StringBuilder sb = new StringBuilder(); sb.AppendNum(flags.HasFlag(SockChatMessageFlags.Bold)); sb.AppendNum(flags.HasFlag(SockChatMessageFlags.Cursive)); sb.AppendNum(flags.HasFlag(SockChatMessageFlags.Underline)); sb.AppendNum(flags.HasFlag(SockChatMessageFlags.Colon)); sb.AppendNum(flags.HasFlag(SockChatMessageFlags.Private)); return(sb.ToString()); }
public static EventChatMessage Error(SockChatChannel chan, int msgId, SockChatMessageFlags flags, string eventName, params object[] parts) => new EventChatMessage(chan, msgId, flags, true, eventName, parts);
public static EventChatMessage Info(SockChatChannel chan, string msgId, SockChatMessageFlags flags, string eventName, params object[] parts) => new EventChatMessage(chan, msgId, flags, false, eventName, parts);
public static EventChatMessage Info(int msgId, SockChatMessageFlags flags, string eventName, params object[] parts) => new EventChatMessage(null, msgId, flags, false, eventName, parts);
public static EventChatMessage Error(string msgId, SockChatMessageFlags flags, string eventName, params object[] parts) => new EventChatMessage(null, msgId, flags, true, eventName, parts);
public void Broadcast(SockChatUser user, string message, SockChatMessageFlags flags = SockChatMessageFlags.RegularUser) { lock (Users) Users.ForEach(u => u.Send(user, message, flags)); }