Hooking outgoing chat messages

To modify outgoing chat messages we are going to hook the ChatEdit_ParseText function. However, this function also handles macros; so to avoid tainting we must use hooksecurefunc to hook the function properly. Otherwise, your macros will no longer work.

-- Place this code in the OnLoad function of your addon hooksecurefunc('ChatEdit_ParseText',MyAddon_ParseText);

MyAddon_ParseText will now be called after ChatEdit_ParseText has had a chance to handle macros and slash commands.

function MyAddon_ParseText(chatEntry, send) -- This function actually gets called every time the user hits a key. But the -- send flag will only be set when he hits return to send the message. if (send == 1) then local text = chatEntry:GetText; -- Here's how you get the original text local newText = text;            -- here's where you can modify the text to your liking chatEntry:SetText( newText );    -- send the new text back to the UI      end end