internal void Chat(string Message, string Type) { if (!InRoom) { return; } if (Message == "" || Message.Length < 1) { return; } if (Message.StartsWith(":") && ChatCommandHandler.Parse(Message, this)) { return; } string FilteredMessage = Helpers.Filter(Message); Engine.GetRoomManager().GetChatlogManager().AddChatMessage(Username, FilteredMessage, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); Response Response = new Response(); Response.Init("talk"); Response.AppendObject(UserId, "/"); Response.AppendObject(Type, "/"); Response.AppendObject(FilteredMessage); Room.SendResponse(Response, this); }
internal void Chat(GameClient Session, string Message, bool Shout) { string val = Message; if (Session == null || (Session.GetHabbo().HasRole("ignore_roommute") || !GetRoom().RoomMuted)) { this.Unidle(); if (!this.IsBot && this.GetClient().GetHabbo().Muted) { this.GetClient().SendNotif(TextManager.GetText("error_muted")); } else { if (!Message.StartsWith(":") || Session == null || !ChatCommandHandler.Parse(Session, Message.Substring(1))) { uint num = 24; if (Shout) { num = 26; } if (!this.IsBot && Session.GetHabbo().MaxFloodTime() > 0) { TimeSpan timeSpan = DateTime.Now - Session.GetHabbo().FloodTime; if (timeSpan.Seconds > 4) { Session.GetHabbo().FloodCount = 0; } if (timeSpan.Seconds < 4 && Session.GetHabbo().FloodCount > 5 && !this.IsBot) { ServerMessage message = new ServerMessage(27); message.AppendInt32(Session.GetHabbo().MaxFloodTime()); this.GetClient().SendMessage(message); this.GetClient().GetHabbo().Muted = true; this.GetClient().GetHabbo().MuteLength = Session.GetHabbo().MaxFloodTime(); return; } Session.GetHabbo().FloodTime = DateTime.Now; Session.GetHabbo().FloodCount++; } if (!this.IsBot && !Session.GetHabbo().isAaron) { Message = ChatCommandHandler.ApplyWordFilter(Message); } if (!this.GetRoom().WF_OnUserSay(this, Message)) { ServerMessage Message2 = new ServerMessage(num); Message2.AppendInt32(this.VirtualId); if (Message.Contains("http://") || Message.Contains("www.") || Message.Contains("https://")) { string[] array = Message.Split(new char[] { ' ' }); int num2 = 0; string text = ""; string text2 = ""; string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text3 = array2[i]; if (ChatCommandHandler.CheckExternalLink(text3)) { if (num2 > 0) { text += ","; } text += text3; object obj = text2; text2 = string.Concat(new object[] { obj, " {", num2, "}" }); num2++; } else { text2 = text2 + " " + text3; } } Message = text2; string[] array3 = text.Split(new char[] { ',' }); Message2.AppendStringWithBreak(Message); if (array3.Length > 0) { Message2.AppendBoolean(false); Message2.AppendInt32(num2); array2 = array3; for (int i = 0; i < array2.Length; i++) { string text4 = array2[i]; string text5 = ChatCommandHandler.ApplyAdfly(text4.Replace("http://", "").Replace("https://", "")); Message2.AppendStringWithBreak(text5.Replace("http://", "").Replace("https://", "")); Message2.AppendStringWithBreak(text4); Message2.AppendBoolean(false); } } } else { Message2.AppendStringWithBreak(Message); } Message2.AppendInt32(this.GetSpeechEmotion(Message)); Message2.AppendBoolean(false); if (!this.IsBot) { this.GetRoom().method_58(Message2, Session.GetHabbo().MutedUsers, Session.GetHabbo().Id); } else { this.GetRoom().SendMessage(Message2, null); } } else { if (!this.IsBot) { Session.GetHabbo().Sendselfwhisper(Message); } } if (!this.IsBot) { this.GetRoom().OnUserSay(this, Message, Shout); if (Session.GetHabbo().CurrentQuestId == 3) { PhoenixEnvironment.GetGame().GetQuestManager().ProgressUserQuest(3, Session); } } if (GlobalClass.RecordChatlogs && !this.IsBot) { using (DatabaseClient client = PhoenixEnvironment.GetDatabase().GetClient()) { client.AddParamWithValue("message", val); client.ExecuteQuery(string.Concat(new object[] { "INSERT INTO chatlogs (user_id,room_id,hour,minute,timestamp,message,user_name,full_date) VALUES ('", Session.GetHabbo().Id, "','", this.GetRoom().RoomId, "','", DateTime.Now.Hour, "','", DateTime.Now.Minute, "',UNIX_TIMESTAMP(),@message,'", Session.GetHabbo().Username, "','", DateTime.Now.ToLongDateString(), "')" })); } } } } } }