CHAT_MSG_ADDON how?

How would i correctly use CHAT_MSG_ADDON and C_ChatInfo.RegisterAddonMessagePrefix(prefix). For the life of me I can’t figure out how to get it to fire events.

AddonPrefix = "fnGB";
function Addon_OnLoad (self)
	self:RegisterEvent("VARIABLES_LOADED");
	self:RegisterEvent("CHAT_MSG_ADDON");
	self:RegisterEvent("BN_CHAT_MSG_ADDON");
end

function Addon_OnEvent(self, event, ...)
	if (event == "VARIABLES_LOADED") then 
		successfulRequest = C_ChatInfo.RegisterAddonMessagePrefix(AddonPrefix);
		print(successfulRequest);
	elseif (event == "CHAT_MSG_ADDON") then
		Addon_OnCommReceived(select(1, ...), select(2, ...), select(3, ...), select(4, ...));
	elseif (event == "BN_CHAT_MSG_ADDON") then
		Addon_OnCommReceived(select(1, ...), select(2, ...), select(3, ...), select(4, ...));
	end
end
-- tried this via register event "CHAT_MSG_ADDON", "Addon_OnCommReceived"
-- didn't work
function Addon_OnCommReceived(prefix, message, distribution, sender)
	print(message);
	if prefix == AddonPrefix then
		
	end
end

VARIABLES_LOADED fires just fine, and RegisterAddonMessagePrefix returns every time.

When i fire off ChatThrottleLib:SendAddonMessage("NORMAL", AddonPrefix, text, "SAY", AddonPrefix); or C_ChatInfo.SendAddonMessage(AddonPrefix, text, "SAY"); Nothing happens.

It has to be something that I am doing that is pretty silly. Any help would be much apretiated!

AddonPrefix = "fnGB";

local function Addon_OnEvent(self, event, ...)
	if event == "CHAT_MSG_ADDON" then
		print(event, ...)
	elseif event == "PLAYER_LOGIN" then
		local successfulRequest = C_ChatInfo.RegisterAddonMessagePrefix(AddonPrefix)
		print(successfulRequest);
	elseif event == "PLAYER_ENTERING_WORLD" then
		C_ChatInfo.SendAddonMessage(AddonPrefix, "HHEELLOOO!", "WHISPER", UnitName("player"))
	end
end
local f = CreateFrame("Frame")
f:SetScript("OnEvent", Addon_OnEvent)
f:RegisterEvent("CHAT_MSG_ADDON");
f:RegisterEvent("PLAYER_LOGIN");
f:RegisterEvent("PLAYER_ENTERING_WORLD");

Will allow you to see a message sent to yourself. I believe you don’t receive your own messages generally.

1 Like

Ah. You’re right I am seeing other addons messages, however i can’t see mine.

Soo it looks like I need 2 accounts or a friend to help test addon messaging then.

You can use the whisper method to test the basic workings of your add on until it’s ready to try on a larger audience.

1 Like