Events/Communication


 * Note that this page is automatically generated; editing it is pointless. To edit event descriptions, edit the entries in the alphabetical pages, e.g. Events/A, Events/B, etc. Changes there will be copied over to here within a few hours.

Communication related events
Fired when a player in your vicinity completes an achievement.
 * arg1: The full body of the broadcast message.
 * arg2, arg5: The name of player who has just completed the achievement.
 * arg7, arg8: Some integer.

 Fired when the client receives a message from SendAddonMessage
 * arg1: prefix
 * arg2: message
 * arg3: distribution type ("PARTY", "RAID", "GUILD", "BATTLEGROUND" or "WHISPER")
 * arg4: sender

Fired when the client receives an AFK auto-response
 * arg1: AFK response message
 * arg2: author
 * arg11: Chat lineID
 * arg12: Sender GUID

 Fired when a message is received through the battleground group channel
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID
 * arg12: Sender GUID

 Fired when a message is received from the leader of the battleground group
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired for alliance specific events in the battleground such as assaulting a graveyard.
 * arg1: Battleground Message (eg. "The Alliance has taken the Blacksmith!")

Fired for horde specific events in the battleground such as assaulting a graveyard.
 * arg1: Battleground Message (eg. "The Horde has taken the Blacksmith!")

Fired for non faction specific events in the battlegrounds such as the battle start announcement.
 * arg1: Battleground Message (eg. "Let the battle for Warsong Gulch begin.")

Fired when the Bnet Real ID Broadcast Message is changed or from API BNSetCustomMessage
 * arg1: Broadcast Message
 * arg11: Chat lineID


 * arg1: toast message (ie. FRIEND_OFFLINE, FRIEND_ONLINE)
 * arg2: author
 * arg11: Chat lineID
 * arg13: Bnet presenceID


 * arg1: chat message
 * arg2: author
 * arg6: AFK/DND/GM "CHAT_FLAG_"..arg6 flags
 * arg11: Chat lineID
 * arg13: Bnet presenceID


 * arg11: Chat lineID
 * arg13: Bnet presenceID

New in 4.1.0.

Fired when the client receives a channel message.
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg4: channel name with number ex: "1. General - Stormwind City"
 * zone is always current zone even if not the same as the channel name
 * arg5: target
 * second player name when two users are passed for a CHANNEL_NOTICE_USER (E.G. x kicked y)
 * arg6: AFK/DND/GM "CHAT_FLAG_"..arg6 flags
 * arg7: zone ID used for generic system channels (1 for General, 2 for Trade, 22 for LocalDefense, 23 for WorldDefense and 26 for LFG)
 * not used for custom channels or if you joined an Out-Of-Zone channel ex: "General - Stormwind City"
 * arg8: channel number
 * arg9: channel name without number (this is _sometimes_ in lowercase)
 * zone is always current zone even if not the same as the channel name
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

Fired when someone joins a chat channel you are in
 * arg1: seems to be empty
 * arg2: Name of the player that joined
 * arg3: seems to be empty again
 * arg4: Number and name of the channel (e.g. "5. MyOwnChannel")
 * arg8: Channel number
 * arg9: channel name without number (this is sometimes in lowercase)

Fired when a player leaves a channel that you are currently inside.
 * arg1: Appears to be left blank
 * arg2: Player name that left
 * arg4: Channel name with number
 * arg7: Appears to be left zero and no longer the channel number
 * arg8: Channel number
 * arg9: Channel name without number

Fired when ListChannels or ListChannelByName is called, and the message is displayed in the chat frame.
 * arg1: The list of values displayed by ListChannels or ListChannelByName in one string.
 * arg4: The number and name of the channel the message came from. ie: "1. General"

Fired when you enter or leave a chat channel (or a channel was recently throttled)
 * arg1: type ( "YOU_JOINED" if you joined a channel, or "YOU_LEFT" if you left, or "THROTTLED" if channel was throttled )
 * arg4: Channel name with number (e.g. "6. TestChannel")
 * arg7: Channel Type (e.g. 0 for any user channel, 1 for system-channel "General", 2 for "Trade")
 * arg8: Channel Number
 * arg9: Channel name without number

Fired when something changes in the channel like moderation enabled, user is kicked, announcements changed and so on. CHAT_*_NOTICE in GlobalStrings.lua has a full list of available types.
 * arg1: type ("ANNOUNCEMENTS_OFF", "ANNOUNCEMENTS_ON", "BANNED", "OWNER_CHANGED", "INVALID_NAME", "INVITE", "MODERATION_OFF", "MODERATION_ON", "MUTED", "NOT_MEMBER", "NOT_MODERATED", "SET_MODERATOR", "UNSET_MODERATOR" )
 * arg2: If arg5 has a value then this is the user affected ( eg: "Player Foo has been kicked by Bar" ), if arg5 has no value then it's the person who caused the event ( eg: "Channel Moderation has been enabled by Bar" )
 * arg4: Channel name with number
 * arg5: Player that caused the event (eg "Player Foo has been kicked by Bar" )

Fired when the client receives a Do-Not-Disturb auto-response
 * arg1: DND response message
 * arg2: author
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired on sending or receiving a custom emote (one used by /e, /emote or a send chat message command with the emote flag)
 * arg1: Message that was sent/received
 * arg2: Name of the player who sent the message
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

Fired when a message is sent or received in the Guild channel.
 * arg1: Message that was sent
 * arg2: Author
 * arg3: Language that the message was sent in
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a guild member completes an achievement.
 * arg1: The full body of the achievement broadcast message.
 * arg2, arg5: Guildmember Name
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when you whisper a player that is ignoring you When testing this event the character name is sent twice as arg1 and arg2, Blizzard appears to use arg2 and ignores arg1.
 * arg1: Character name of who you tried to message
 * arg2: Character name of who you tried to message

Fired for emotes from a monster, such as 'Murloc Forager attempts to run away in fear!'
 * arg1: The body of the emote: '%s attempts to run away in fear!'
 * arg2: The name of the monster: 'Murloc Forager'

(Note: As of 1.12 arg1 now contains a %s string variable for where the mob name should be placed)

Fired when a NPC says something.
 * arg1: Message
 * arg2: NPC name
 * arg3: Language used
 * arg4: Unused
 * arg5: Receiver

Fired when a NPC whispers you something

Fired when a NPC yells, example would be the yells during an Alterac Valley from the Herald or a raid boss.
 * arg1: Message
 * arg2: NPC Name (eg: Onyxia)

Fired when a message is sent or received in the Guild Officer channel.
 * arg1: Message that was received
 * arg2: Author
 * arg3: Language used
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a message is sent or received in the Party channel.
 * arg1: Message that was received
 * arg2: Author
 * arg3: Language used
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a message is sent or received by the party leader.
 * arg1: Message that was received
 * arg2: Author
 * arg3: Language used
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a message is sent or received in the Raid.
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID
 * arg12: Sender GUID


 * arg1: Emote message
 * arg2: Name of the boss
 * arg5: Name of a targeted player (?)

Fired when a message is sent or received from the raid leader.
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a warning message is sent or received from the raid leader.
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID
 * arg12: Sender GUID

Fired when a message is sent or received in the Say channel.
 * arg1: chat message
 * arg2: author
 * arg3: language
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

Example: Place this:RegisterEvent("CHAT_MSG_SAY"); in the &lt;OnLoad&gt;/&lt;/OnLoad&gt; section of your MyMod.xml file. Then, have an if (event == "CHAT_MSG_SAY") then MyMod_Say(event, arg1, arg2, arg3); end line, or something like it, in the &lt;OnEvent&gt;/&lt;/OnEvent&gt; section

of your MyMod.xml file.

Then, have a function like the following in your MyMod.lua file: function MyMod_Say(event, arg1, arg2, arg3) PrevMsg = arg1; PrevPlyr = arg2; PrevLang = arg3; end

This would store the previous message, player who said it, and language it was said in into some variables.

Fired when a system chat message (they are displayed in yellow) is received.
 * arg1: The content of the chat message.

arg1 formats are found in Blizzard's GlobalStrings.lua</tt>. Some possibilities:


 * ERR_LEARN_RECIPE_S</tt> (eg. "You have learned how to create a new item: Bristle Whisker Catfish.")
 * MARKED_AFK_MESSAGE</tt> (eg. "You are now AFK: Away from Keyboard")

Note: 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.

Fired when a raid target icon is set. This is used by the chat filter, if the player is watching raid icons in chat output (in the Filters right-click menu, under Other, look for Target Icons).
 * arg1: The formatted message to be displayed in the chat window.
 * arg12: Some kind of number; no more is known at the time of writing. (Yes, that's a "12", not a typo for "2".)

arg1 is formatted from the global variable TARGET_ICON_SET</tt>, which by default in an English client is set to the string
 * "|Hplayer:%s|h[%s]|h sets |TInterface\\TargetingFrame\\UI-RaidTargetingIcon_%d:0|t on %s."

The other arguments are unused.

Fired for emotes with an emote token. /dance, /healme, etc
 * arg1: Emote Message
 * arg2: Name of person who emoted
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

Fired when a whisper is received from another player.
 * arg1: Message received
 * arg2: Author
 * arg3: Language (or nil if universal, like messages from GM) (always seems to be an empty string; argument may have been kicked because whispering in non-standard language doesn't seem to be possible [any more?])
 * arg6: status (like "DND" or "GM")
 * arg7: (number) message id (for reporting spam purposes?) (default: 0)
 * arg8: (number) unknown (default: 0)
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

Fired when the player sends a whisper to another player
 * arg1: Message sent
 * arg2: Player who was sent the whisper
 * arg3: Language
 * arg11: Chat lineID
 * arg12: Receiver GUID

Fired when a message is sent or received in the Yell channel.
 * arg1: Message that was received
 * arg2: Author
 * arg3: Language used
 * arg11: Chat lineID used for reporting the chat message.
 * arg12: Sender GUID

New in 4.1.0. ?

New in 4.1.0. ?

Fired when...
 * 1) You log in
 * 2) Open the friends window (twice)
 * 3) Switch from the ignore list to the friend's list
 * 4) Switch from the guild, raid, or who tab back to the friends tab (twice)
 * 5) Add a friend
 * 6) Remove a friend
 * 7) Friend comes online
 * 8) Friend goes offline

No args.

?

Fired when a player is added or removed from the ignore list. Event is called twice. Not certain why it is called twice.

?

This event fires when a Unit's flags change (eg: due to /afk, /dnd, etc.)


 * arg1 : The UnitId affected, eg: "player"


 * NOTE : WoW appears to condense simultaneous flag changes into a single event. If you are currently AFK and not(DND) but you type /dnd you'll see two Chat Log messages ("You are no longer AFK" and "You are now DND: Do Not Disturb") but you'll only see a single PLAYER_FLAGS_CHANGED event.

Fired when the client received a time played message.


 * arg1 : Total time
 * arg2 : Current time at this level

Fired when the interface generates a message. These are the yellow messages in the top middle of the window. "No fish are hooked." is one example.


 * arg1 : message

Fired when the chat colour needs to be updated. Refer to the ChangeChatColor API call for details on the parameters.


 * arg1 : Chat type
 * arg2 : red
 * arg3 : green
 * arg4 : blue

Fired on load when chat settings are available for a certain chat window.

Fired on load when chat settings are available for chat windows.

When fired prompts the LFG UI to update the list of LFG players. Signals LFG query results are available. See API LFGQuery.

Fired when the client receives the result of a SendWho request from the server. use API SetWhoToUI to manipulate this functionality. This event is only triggered if the Who panel was open at the time the Who data was received (this includes the case where the Blizzard UI opens it automatically because the return data was too big to display in the chat frame).