WoW API: SendChatMessage

WoW API < SendChatMessage

Sends a chat message.

/script SendChatMessage("msg" ,"chatType" ,"language" ,"channel");

ParametersEdit

ArgumentsEdit

(msg, chatType, language, channel)
msg
String, The message to be sent, maximum length of 255 characters. (Not all characters in this string are allowed: See list of valid chat message characters)
chatType
String - (Optional) The type of chat message to be sent, "SAY", "PARTY", etc. See the list of chatTypeIds.
If chatType is nil or omitted then "SAY" will be used.
language
String - (Optional) The language used to translate the message.
Languages: "COMMON", "DARNASSIAN", "DWARVEN", "DRAENEI", "TAURAHE", "ORCISH", "GUTTERSPEAK", "DEMONIC", "DRACONIC", "KALIMAG", "TITAN", "GNOMISH", "TROLL"
If language is nil or omitted the default language will be used: "ORCISH" for the Horde, and "COMMON" for the Alliance, as returned by GetDefaultLanguage("player").
Instead of the name string, it is also valid to use the languageID to specify the language to speak in. This will use the language selected by the user:
SendChatMessage("ExampleText", "SAY", DEFAULT_CHAT_FRAME.editBox.languageID);
channel
String - The channel or player receiving the message for "CHANNEL"/"WHISPER" communication. If sending to a channel you must use the number (eg. "1"); obtain it using GetChannelName("channelName"). This field is required for the "CHANNEL"/"WHISPER" chat types and ignored for any other chat type.

ReturnsEdit

nil

ExampleEdit

/script SendChatMessage("Hello Bob!", "WHISPER", "Common", "Bob");

ResultEdit

To [Bob]: Hello Bob!

ExampleEdit

local s = "Hello World"
local index = GetChannelName("General") -- It finds General is a channel at index 1
if (index~=nil) then 
  SendChatMessage(s , "CHANNEL", nil, index); 
end

ResultEdit

[1. General - Current Zone Name][Bob]: Hello World

ExampleEdit

/run msg = "Buy my gems"
/run SendChatMessage(msg, "WHISPER", nil, GetUnitName("PLAYERTARGET"))

ResultEdit

Whispers current target "Buy my gems"

DetailsEdit

Sends a chat message of the specified in 'msg' (ex. "Hey!"), to the system specified in 'chatType' ("SAY", "WHISPER", "EMOTE", "CHANNEL", "PARTY", "BATTLEGROUND", "GUILD", "OFFICER", "YELL", "RAID", "RAID_WARNING", "AFK", "DND"), in the language specified in 'language' ("COMMON", "DARNASSIAN", "DWARVISH", "TAURAHE", "ORCISH", "GUTTERSPEAK", "DEMONIC", "DRACONIC", "KALIMAG", "TITAN", "GNOMISH"), to the player or channel specified in 'channel'(ex. "1", "Bob").
Notes
  • The earliest you can send a chat message to "GUILD" is after the event "CLUB_STREAM_SUBSCRIBED" is fired, as this is when the Community channel is loaded. (Guild is a Community channel)
  • "AFK" and "DND" set your AFK or DND auto-reply. To cancel afk/dnd status, send another message to the same 'channel'.
  • It should be noted that you must provide a 'language' (be it nil or an actual language name) before the 'channel' when sending to the "WHISPER" or "CHANNEL" system.
  • To send a whisper to the player's selected target, use UnitName("target") as the Channel.
  • Patch 1.11.0 added the "RAID_WARNING" system, only usable by the raid leader and raid assistants. The default UI shows messages send via "RAID_WARNING" in big letters on the center of the screen. As of a recent change in patch 2.0.0 this is also available in party and usable by all party member; Please don't abuse this idea.
  • Some channels may have restrictions on who may speak in them. For example, in order to speak in the 'World Defense' channel, you must have a PvP rank of 11 or higher.
  • Patch 2.0.0 throws an error when trying to speak a language you don't know.
  • "Trying to spoof item links will disconnect you." -- directly taken from patch 1.10.0 patch changes. This includes miscontructed link strings of genuine items/spells/tradeskills, such as capitalizing the hex codes for the link colors.
  • As of patch 2.4.0 (or 2.3?), you are no longer disconnected when sending over-long messages. The message is silently truncated to 255 characters.
  • patch 2.4: Sending 10+ messages at a time resulting in high RTT for the 9+ messages. (se "Discussion" page for more info)