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;
 }
Exemple #2
0
        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)));
        }
Exemple #3
0
        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);
Exemple #8
0
 public void Broadcast(SockChatUser user, string message, SockChatMessageFlags flags = SockChatMessageFlags.RegularUser)
 {
     lock (Users)
         Users.ForEach(u => u.Send(user, message, flags));
 }