WoW:API SendAddonMessage: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(→‎Notes: Added 2.1.0 whisper bug)
m (Move page script moved page API SendAddonMessage to API SendAddonMessage without leaving a redirect)
 
(8 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{wowapi}} __NOTOC__
{{wowapi}} __NOTOC__
Sends a message to hidden AddOn channels. Introduced in [[Patch 1.12]].
Sends a message to the hidden addon channel. Introduced in [[Patch 1.12]]. Replaced in 8.0 by C_ChatInfo.SendAddonMessage.
  SendAddonMessage("prefix", "text", "type", "target")
  SendAddonMessage("prefix", "text", "type", "target");


== Parameters ==
== Parameters ==
=== Arguments ===
=== Arguments ===
:;prefix : String - Message prefix, can be used as your addon identifier.
:;prefix
:;text : String - Text to send.
:: String - Message prefix, can be used as your addon identifier. (16 Character Limit)
:;type : String - AddOn channel to send to. Valid types are "PARTY", "RAID", "GUILD", "BATTLEGROUND". As of 2.1, "WHISPER" was also added.
:;text
:;target : String - Used only for "WHISPER" communication - the player to whisper to.
:: String - Text to send.
:;type
:: String - AddOn channel to send to. Valid types are "PARTY", "RAID", "GUILD", "OFFICER", "BATTLEGROUND". As of 2.1, "WHISPER" was also added.
:;target
:: String - Used only for "WHISPER" communication - the player to whisper to.


== Example ==
== Example ==
Line 14: Line 18:


== Notes ==
== Notes ==
* Calling this function results in the event [[Events/C#CHAT_MSG_ADDON|CHAT_MSG_ADDON]] being invoked on all clients in the PARTY, RAID, BATTLEGROUND or GUILD channels.
* Calling this function results in the event [[Events/C#CHAT_MSG_ADDON|CHAT_MSG_ADDON]] being invoked on:
* Messages sent to "RAID" while in a party will get delivered to "PARTY"; messages sent to "RAID" or "PARTY" while not in a group will not be delivered. To send to your battleground group, "BATTLEGROUND" must be used.
** <target>'s client if <type> is "WHISPER" or
** all clients in the <type> chat channel, otherwise
* Messages sent to "RAID" while in a party will get delivered to "PARTY"
* To send to your battleground group, "BATTLEGROUND" must be used
* Messages sent to <type> when you are not in the specified community will not be delivered.
* The message will not be affected by the player's level of [[Drunk|drunkenness]].
* The message will not be affected by the player's level of [[Drunk|drunkenness]].
* The tab character ("\t") is used as a delimiter between the prefix and the message text -- because of this, \t can not be used as part of prefix. The combined length of message and prefix can be at most 254 characters (255th is the tab character used to delimit the two), length above 254 will disconnect you.
* The tab character ("\t") is used as a delimiter between the prefix and the message text
** because of this, \t can not be used as part of prefix
** The combined length of message and prefix can be at most 254 characters (255th is the tab character used to delimit the two)
** length above 254 will disconnect you.
* except NULL (ASCII dec-ID 0) all characters (decimal ID 1-255) are allowed (in opposition to [[API SendChatMessage|SendChatMessage]] where many characters are disallowed)
* The "WHISPER" mode was added with patch 2.1, as servers will begin to rate throttle regular whispers to alleviate [[spam]] problems.
* The "WHISPER" mode was added with patch 2.1, as servers will begin to rate throttle regular whispers to alleviate [[spam]] problems.
* As of 2.1.0 whispers sent cross-server in battlefields will be sent as regular whispers and aren't hidden by the addon channel.
* As of 2.1.0 whispers sent cross-server in battlefields will be sent as regular whispers and aren't hidden by the addon channel. (As of 2.4.3 this does not seem to be true: sending a message via WHISPER to another servers player was '''not''' sent as regular whisper. I did not test if the message was received properly. I think it worked because no "this player is offline" error message appeared.)

Latest revision as of 04:47, 15 August 2023

WoW API < SendAddonMessage

Sends a message to the hidden addon channel. Introduced in Patch 1.12. Replaced in 8.0 by C_ChatInfo.SendAddonMessage.

SendAddonMessage("prefix", "text", "type", "target");

Parameters

Arguments

prefix
String - Message prefix, can be used as your addon identifier. (16 Character Limit)
text
String - Text to send.
type
String - AddOn channel to send to. Valid types are "PARTY", "RAID", "GUILD", "OFFICER", "BATTLEGROUND". As of 2.1, "WHISPER" was also added.
target
String - Used only for "WHISPER" communication - the player to whisper to.

Example

SendAddonMessage( "CTRA", "User Data: XYZ", "RAID" );

Notes

  • Calling this function results in the event CHAT_MSG_ADDON being invoked on:
    • <target>'s client if <type> is "WHISPER" or
    • all clients in the <type> chat channel, otherwise
  • Messages sent to "RAID" while in a party will get delivered to "PARTY"
  • To send to your battleground group, "BATTLEGROUND" must be used
  • Messages sent to <type> when you are not in the specified community will not be delivered.
  • The message will not be affected by the player's level of drunkenness.
  • The tab character ("\t") is used as a delimiter between the prefix and the message text
    • because of this, \t can not be used as part of prefix
    • The combined length of message and prefix can be at most 254 characters (255th is the tab character used to delimit the two)
    • length above 254 will disconnect you.
  • except NULL (ASCII dec-ID 0) all characters (decimal ID 1-255) are allowed (in opposition to SendChatMessage where many characters are disallowed)
  • The "WHISPER" mode was added with patch 2.1, as servers will begin to rate throttle regular whispers to alleviate spam problems.
  • As of 2.1.0 whispers sent cross-server in battlefields will be sent as regular whispers and aren't hidden by the addon channel. (As of 2.4.3 this does not seem to be true: sending a message via WHISPER to another servers player was not sent as regular whisper. I did not test if the message was received properly. I think it worked because no "this player is offline" error message appeared.)