using System; using Filter.Handlers.Manager; using Filter.Networking.Instances; using Filter.Networking.Manager; using System.Data.SqlClient; using System.Data; namespace Filter.Utilities { internal class Echo { public static void SendWhisper(ManagerClient ClientSocket, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); Packet ServerPacket = new Packet(Manager8TypeServer.WhisperMessage); ServerPacket.WriteString(Program.Config.BotName, 16); ServerPacket.WriteByte(7); ServerPacket.WriteString(FormattedMessage, true); ClientSocket.SendPacket(ServerPacket); } public static void SendWhisper(String Sender, ManagerClient ClientSocket, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); Packet ServerPacket = new Packet(Manager8TypeServer.WhisperMessage); ServerPacket.WriteString(Sender, 16); ServerPacket.WriteByte(7); ServerPacket.WriteString(FormattedMessage, true); ClientSocket.SendPacket(ServerPacket); } public static void SendWhisper(Boolean SendToAll, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); foreach (ManagerClient ManagerPlayer in Program.ManagerLoggedIn.Values) { Packet ServerPacket = new Packet(Manager8TypeServer.WhisperMessage); ServerPacket.WriteString(Program.Config.BotName, 16); ServerPacket.WriteByte(7); ServerPacket.WriteString(FormattedMessage, true); ManagerPlayer.SendPacket(ServerPacket); } } public static void SendRoar(String Sender, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); foreach (ManagerClient ManagerPlayer in Program.ManagerLoggedIn.Values) { Packet ServerPacket = new Packet(Manager25TypeServer.Roar); Char InvalidSymbol; FormattedMessage = FormattedMessage.Replace("?", "?"); if (Injection.CheckRoar(Message, out InvalidSymbol)) { FormattedMessage = "I just tried to crash the server!"; } Packet ClientPacket = new Packet(Manager25TypeServer.Roar); ClientPacket.WriteByte(11); ClientPacket.WriteByte(Convert.ToByte(String.Concat(Sender, FormattedMessage).Length + 2)); ClientPacket.WriteString(String.Concat(Sender, ":", FormattedMessage)); ClientPacket.WriteByte(0); ManagerPlayer.SendPacket(ClientPacket); } if (Program.Config.RoarLog) { using (var Connection = new SqlConnection()) { Connection.ConnectionString = Program.ConnectionBuilder.ConnectionString; try { Connection.Open(); } catch { } if (Connection.State == ConnectionState.Open) { using (var Command = Connection.CreateCommand()) { Command.CommandText = String.Format("INSERT INTO {0}..tRoar (sSender, sMessage) VALUES ('{1}', '{2}')", Program.Config.SQLChatLogs, Sender, Message); try { Command.ExecuteNonQuery(); } catch { } } } } } } public static void SendWorldMessage(ManagerClient ClientSocket, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); Packet ServerPacket = new Packet(Manager8TypeServer.WorldMessage); ServerPacket.WriteString(FormattedMessage, true); ClientSocket.SendPacket(ServerPacket); } public static void SendWorldMessage(Boolean SendToAll, String Message, params Object[] Args) { String FormattedMessage = String.Format(Message, Args); foreach (ManagerClient ManagerPlayer in Program.ManagerLoggedIn.Values) { Packet ServerPacket = new Packet(Manager8TypeServer.WorldMessage); ServerPacket.WriteString(FormattedMessage, true); ManagerPlayer.SendPacket(ServerPacket); } } } }