Sends a text payload to other players, only visible to registered addons.
success = C_ChatInfo.SendAddonMessage(prefix, message [, chatType, target]) = C_ChatInfo.SendAddonMessageLogged(prefix, message [, chatType, target])
- string - Message prefix, can be used as your addon identifier; at most 16 characters.
- string - Text to send, at most 250 characters. All characters (decimal ID 1-255) are permissible except NULL (ASCII 0).
- string? - The addon channel to send to. Defaults to
- string|number? - The player name or custom channel number receiving the message for
- boolean - Whether the message was successfully sent. This is regardless of being registered to its related prefix.
|"PARTY"||Addon message to party members|
|"RAID"||Addon message to raid members|
|"INSTANCE_CHAT"||Addon message to grouped players in instanced content such as dungeons, raids and battlegrounds|
|"GUILD"||Addon message to guild members|
|"OFFICER"||Addon message to guild officers|
|"WHISPER"||Addon message to a player on the same or connected realm (silently fails to incompatible realms). Use player name as target argument|
|"CHANNEL"||Addon message to a custom chat channel. Use channel number as target argument. Disabled on Classic to prevent players communicating over custom chat channels|
|"SAY"||Addon message to players within /say range. Subject to heavy throttling and certain specific characters are disallowed|
|"YELL"||Addon message to players within /yell range. Subject to heavy throttling and certain specific characters are disallowed|
- Recipients must register a prefix using C_ChatInfo.RegisterAddonMessagePrefix() to receive its messages via CHAT_MSG_ADDON.
Addons transmitting user-generated content should consider this API so recipients can report violations of the Code of Conduct.
- Fires CHAT_MSG_ADDON_LOGGED when receiving messages sent via this function.
- The message has to be plain text for the game masters to read it. Moreover, the messages will silently fail to be sent if it contains an unsupported non-printable character. Some amount of metadata is tolerated, but should be kept as minimal as possible to keep the messages readable for Blizzard's game masters. 
- This function has been introduced as a solution to growing issues of harassment and doxxing via addon communications, where players would use addons to send content against the terms of service to other players (roleplaying addons are particularly affected as they offer a free form canvas to share a RP profiles). As regular addon messages are not logged they cannot be seen by game master, they had no way to act upon this content. If you use this function, game masters will be able to check the addon communication logs in case of a report and act upon the content. Users should report addon content that is against the terms of service using Blizzard's support website via the Harassment in addon text option.
Whispers yourself an addon message when you login or /reload
local prefix = "SomePrefix123" local playerName = UnitName("player") local function OnEvent(self, event, ...) if event == "CHAT_MSG_ADDON" then print(event, ...) elseif event == "PLAYER_ENTERING_WORLD" then local isInitialLogin, isReloadingUi = ... if isInitialLogin or isReloadingUi then C_ChatInfo.SendAddonMessage(prefix, "You can't see this message", "WHISPER", playerName) C_ChatInfo.RegisterAddonMessagePrefix(prefix) C_ChatInfo.SendAddonMessage(prefix, "Hello world!", "WHISPER", playerName) end end end local f = CreateFrame("Frame") f:RegisterEvent("CHAT_MSG_ADDON") f:RegisterEvent("PLAYER_ENTERING_WORLD") f:SetScript("OnEvent", OnEvent)
- Patch 8.0.1 (2018-07-17): Moved to
- Patch 6.0.2 (2014-10-14): Added "CHANNEL" chat type.
- Patch 4.1.0 (2011-04-26): Added "OFFICER" chat type. Addons should now register which prefixes they want to receive addon messages for using C_ChatInfo.RegisterAddonMessagePrefix() 
- Patch 2.1.0 (2007-05-22): Added "WHISPER" chat type was, as servers will begin to rate throttle regular whispers to alleviate spam problems.
- Patch 1.12.0 (2006-08-22): Added as
- Patch 1.13.4 (2020-03-10): Addon comms are now more severely rate throttled (Applied in a hotfix during build 32466 on May 24 2020) 
- Patch 1.13.3 (2019-12-10): "SAY" and "YELL" are now supported chat types, coincident with removing "CHANNEL" to prevent looking-for-group style addons from proliferating in Classic.
- Patch 1.13.2 (2019-08-26): Added as
- BNSendGameData() - Battle.net equivalent.
- wowprogramming.com reference
- ChatThrottleLib - Helps keep outbound chat and addon communication from exceeding the output rate limit.
- AceComm-3.0 - Uses ChatThrottleLib.
- Available on WowAce
- LibDeflate - Compresses data
- ^ a b c Kaivax 2019-12-09. [WoW Classic] Patch 1.13.3 Lua API Change.
- ^ a b LenweSaralonde 2019-12-20. String with special characters truncated when sent with C_ChatInfo.SendAddonMessage() over SAY and YELL.
- ^ TheDanW 2018-06-14. #wowuidev IRC chat.
- ^ Zarhym 2011-03-12. Patch 4.1: Addon Messages Will Be Filtered.
- ^ slouken 2006-07-12. Re: Upcoming 1.12 changes - Concise List. Archived from the original
- ^ Questie 2020-05-25. QuestieSerializer.lua (LUA) errors #1974.