We have moved to Warcraft Wiki. Click here for information and the new URL.



Fired when a system chat message (they are displayed in yellow) is received.

CHAT_MSG_SYSTEM: text, playerName, languageName, channelName, playerName2, specialFlags, zoneChannelID, channelIndex, channelBaseName, languageID, lineID, guid, bnSenderID, isMobile, isSubtitle, hideSenderInLetterbox, supressRaidIcons




1. text
string - Some possible GlobalStrings:
  • ERR_LEARN_RECIPE_S (e.g. "You have learned how to create a new item: Bristle Whisker Catfish.")
  • MARKED_AFK_MESSAGE (e.g. "You are now AFK: Away from Keyboard")
2. playerName
string - Name of the user that initiated the chat message.
3. languageName
string - Localized name of the language if applicable, e.g. "Common" or "Thalassian"
4. channelName
string - Channel name with channelIndex, e.g. "2. Trade - City"
5. playerName2
string - The target name when there are two users involved, otherwise the same as playerName or an empty string.[1]
6. specialFlags
string - User flags if applicable, possible values are: "GM", "DEV", "AFK", "DND", "COM"[2][3]
7. zoneChannelID
number - The static ID of the zone channel, e.g. 1 for General, 2 for Trade and 22 for LocalDefense. [4]
8. channelIndex
number - Channel index, this usually is related to the order in which you joined each channel.
9. channelBaseName
string - Channel name without the number, e.g. "Trade - City"
10. languageID
number - LanguageID
11. lineID
number - Unique chat lineID for differentiating/reporting chat messages. Can be passed to PlayerLocation:CreateFromChatLineID()
12. guid
string - Sender's Unit GUID.
13. bnSenderID
number - ID of the friend.
14. isMobile
boolean - If the sender is using the Blizzard Mobile app.
15. isSubtitle
16. hideSenderInLetterbox
boolean - Whether this chat message is meant to show in the CinematicFrame only.[5]
17. supressRaidIcons
boolean - Whether Target marker expressions like {rt7} and {diamond} should not be rendered with C_ChatInfo.ReplaceIconAndGroupExpressions()


  • Be very careful with assuming when the event is actually sent. For example, "Quest accepted: Quest Title" is sent before the quest log updates, so at the time of the event the player's quest log does not yet contain the quest. Similarly, "Quest Title completed." is sent before the quest is removed from the quest log, so at the time of the event the player's quest log still contains the quest.


  1. ^ ChatFrame.lua, patch 8.3.0, near line 3452, archived at Townlong-Yak
  2. ^ ChatFrame.lua, patch 8.3.0, near line 3538, archived at Townlong-Yak
  3. ^ GlobalStrings.db2.
  4. ^ ChatChannels.db2.
  5. ^ ChatFrame.lua, patch 8.3.0, near line 3284, archived at Townlong-Yak