function methods.InternalSendFilteredMessageWithFilterResult(Y,q,R)local h=ShallowCopy(q)local X=h.FilterResult local P=Y:GetPlayer()local B=""pcall(function()if h.IsFilterResult then if P then B=X:GetChatForUserAsync(P.UserId)else B=X:GetNonChatStringForBroadcastAsync()end else B=X end end)if UserFlagRemoveMessageOnTextFilterFailures then h.Message=B h.FilterResult=nil Y:InternalSendFilteredMessage(h,R)else if#B>0 then h.Message=B h.FilterResult=nil Y:InternalSendFilteredMessage(h,R)end end end function methods.InternalSendSystemMessage(Y,q,R)local h,X=pcall(function()Y:LazyFire("\101\082\101\099\101\105\118\101\100\083\121\115\116\101\109\077\101\115\115\097\103\101",q,R)if Y.PlayerObj then Y.EventFolder.OnNewSystemMessage:FireClient(Y.PlayerObj,q,R)end end)if not h and X then print("\069\114\114\111\114 \115\101\110\100\105\110\103 \105\110\116\101\114\110\097\108 \115\121\115\116\101\109 \109\101\115\115\097\103\101\058 "..X)end end function methods.UpdateChannelNameColor(Y,q,R)Y:LazyFire("\101\067\104\097\110\110\101\108\078\097\109\101\067\111\108\111\114\085\112\100\097\116\101\100",q,R)if Y.PlayerObj then Y.EventFolder.ChannelNameColorUpdated:FireClient(Y.PlayerObj,q,R)end end

function methods:InternalSendFilteredMessageWithFilterResult(inMessageObj, channelName)
	local messageObj = ShallowCopy(inMessageObj)

	local oldFilterResult = messageObj.FilterResult
	local player = self:GetPlayer()

	local msg = ""
	pcall(function()
		if (messageObj.IsFilterResult) then
			if (player) then
				msg = oldFilterResult:GetChatForUserAsync(player.UserId)
			else
				msg = oldFilterResult:GetNonChatStringForBroadcastAsync()
			end
		else
			msg = oldFilterResult
		end
	end)

	--// Messages of 0 length are the result of two users not being allowed
	--// to chat, or GetChatForUserAsync() failing. In both of these situations,
	--// messages with length of 0 should not be sent.

	if UserFlagRemoveMessageOnTextFilterFailures then
		messageObj.Message = msg
		messageObj.FilterResult = nil
		self:InternalSendFilteredMessage(messageObj, channelName)
	else
		if (#msg > 0) then
			messageObj.Message = msg
			messageObj.FilterResult = nil
			self:InternalSendFilteredMessage(messageObj, channelName)
		end
	end
end

function methods:InternalSendSystemMessage(messageObj, channelName)
	local success, err = pcall(function()
		self:LazyFire("eReceivedSystemMessage", messageObj, channelName)
		if self.PlayerObj then
			self.EventFolder.OnNewSystemMessage:FireClient(self.PlayerObj, messageObj, channelName)
		end
	end)
	if not success and err then
		print("Error sending internal system message: " ..err)
	end
end

function methods:UpdateChannelNameColor(channelName, channelNameColor)
	self:LazyFire("eChannelNameColorUpdated", channelName, channelNameColor)
	if self.PlayerObj then
		self.EventFolder.ChannelNameColorUpdated:FireClient(self.PlayerObj, channelName, channelNameColor)
	end
end
