public static bool Orb_Command_Chat_Spam_Method(Server.NetObject NetObj, CommandReader Command) { #region Spam if (NetObj.UserObject.Muted) { NetObj.UserObject.MuteNotifier(); return(false); } if (NetObj.UserObject.Can(Database.PermissionDB.Strings.Say)) { Network.Packets.Type32_ChatMessage SpamThis = new Network.Packets.Type32_ChatMessage(); SpamThis.Message = Command._CmdRawArguments; Network.Packet ThisPacket = SpamThis.Serialise(); Logger.Console.WriteLine(NetObj.UserObject.DisplayedName + "&b(Spam)&f: " + Command._CmdRawArguments); for (int i = 0; i < 10; i++) { Server.AllClients.Except(Server.OrbConsole).Send(ThisPacket); } return(true); } else { NetObj.ClientObject.SendMessage("You do not have enough permission to \"Spam\"."); return(false); } #endregion }
public void SendMessage(String Message) { if (Parent == Server.OrbConsole) { Logger.Console.WriteLine(Message); return; } Network.Packets.Type32_ChatMessage MessagePacket = new Network.Packets.Type32_ChatMessage(); MessagePacket.Message = ColorHandling.StripColors(Message); Send(MessagePacket.Serialise()); }
public void Process_Type32_ChatMessage(Network.Packet Packet) { Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(Packet); string EditMessage = ThisPacket.Message.Remove(0, 1); EditMessage = EditMessage.Remove(0, Parent.Username.Length); EditMessage = EditMessage.Remove(0, 1); Thread CommandHandle = new Thread(() => CommandManager.Process(this.Parent, EditMessage)); CommandHandle.Start(); return; }
/// <summary> /// Receive a Chat Packet from the Client and set it as the TextInput for TextInputWaiters. /// </summary> public void _GetChatPacketBeforeLogin() { #region Receive a Chat Packet from the Client and set it as the TextInput for TextInputWaiters. //Console.WriteLine("NetObject.Client Ready"); while (ClientSocket.Connected) { //Console.WriteLine("NetObject.Client is waiting for data from its Client side socket."); //Console.WriteLine("NetObject.Client Listening..."); Logger.Console.WriteLine("Waiting"); Network.Packet InPacket = Network.Sockets.GetPacket(ClientSocket); Logger.Console.WriteLine("Received"); if (InPacket.Type == 32) { Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(InPacket); string EditMessage = ThisPacket.Message.Remove(0, 1); EditMessage = EditMessage.Remove(0, Parent.Username.Length); EditMessage = EditMessage.Remove(0, 1); //Console.WriteLine(EditMessage); Parent.TextInput = EditMessage; Logger.Console.WriteLine(Parent.TextInput); foreach (AutoResetEvent ThisEvent in Parent.TextWaiters.ToArray()) { ThisEvent.Set(); Parent.TextWaiters.Remove(ThisEvent); } return; } //Console.WriteLine("NetObject.Client Got Some Data."); if (InPacket.Type != 0) { PreviousPackets.Insert(0, InPacket); while (PreviousPackets.Count > 5) { PreviousPackets.RemoveAt(PreviousPackets.Count - 1); } Logger.Console.WriteLine("!=32"); //ProcessPacket(InPacket); //DONT DO THAT! WE DONT WANT A LOG IN TO HAPPEN ETC. } else { Logger.Console.WriteLine("CLOSE"); //The only time Socket Receive returns 0 is when a remote host disconnects, otherwise, it waits. Parent.Close(); } } Logger.Console.WriteLine("CLOSE2"); #endregion }
public void Process_Type32_ChatMessage(Network.Packet Packet) { Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(Packet); if (true) //Disable to remove take-off message filtering! { if (ThisPacket.Message.Contains("took off") && !ThisPacket.Message.StartsWith("(")) { if (Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.ToUpperInvariant().Split(' ')[0].Slice(0, 15))) { return; } ThisPacket.Message = "&d" + ThisPacket.Message; } if (ThisPacket.Message.Contains("left the") && !ThisPacket.Message.StartsWith("(")) { if (Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.Split(' ')[0].ToUpperInvariant().Slice(0, 15))) { return; } ThisPacket.Message = "&d" + ThisPacket.Message; } if (ThisPacket.Message.Contains(": ") && !ThisPacket.Message.StartsWith("(") && Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.Split(':')[0].ToUpperInvariant().Slice(0, 15))) { return; } ThisPacket.Message = "&9" + ThisPacket.Message; } Parent.ClientObject.SendMessage(ThisPacket.Message); if (Parent != Server.ClientList[0]) { return; //Only show messages ONCE! } if (ThisPacket.Message.Contains("Log-on process completed")) { return; } if (ThisPacket.Message.StartsWith("****")) { ThisPacket.Message = "&c" + ThisPacket.Message; } Logger.Console.WriteLine(ThisPacket.Message); Logger.Log.Chat(ThisPacket.Message); }
public void SendMessage(String Message) { Network.Packets.Type32_ChatMessage MessagePacket = new Network.Packets.Type32_ChatMessage(); MessagePacket.Message = ColorHandling.StripColors(Message); Send(MessagePacket.Serialise()); }