WoW:API GetChannelName: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
 
m (Move page script moved page API GetChannelName to API GetChannelName without leaving a redirect)
 
(11 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{wowapi}}


== GetChannelName("channel" or index) ==
Retrieves the id and the name from a specific channel.
 
id, name = GetChannelName(id);
 
----
;''Arguments''
 
:;id : The numeric id of the channel you want to query, or a string containing the name of the channel.
 
----
;''Returns''
 
:;id : a number containing the id of the channel, e.g. 2, or 0 if the channel is not found
:;name : a string containing the name of the channel, e.g. "Trade - Stormwind", or nil if the channel is not found or the id parameter was a name.
----
;''Important''
 
If the channel argument is the channel name (ie "testchan1"), then the returned channel name is a nil value.
If the channel argument is the channel number (ie 6 or "6"), then the returned channel name is correct.
The channel id returns correctly in both cases.
 
It's also worthy to note the strange behaviour of (at least) Trade channels. Login to a city, GetChannelName("Trade - City") will return the channel number it's on. Step outside the city, you'll leave the channel yet making that call again will return the channel number you *were* on. As such, it's not entirely reliable for detecting if you're in a trade enabled zone.
----
;''Example''
-- Check if the specific channel exists
myChannel = 1;
id, name = GetChannelName(myChannel);
if (id > 0 and name ~= nil) then
  SendChatMessage("This is just a test.", "CHANNEL", nil, id);
end
 
;''Result''
 
Checks if the channel with id stored in myChannel exists and in this case sends the text "This is just a test" to it.
 
----
;''Description''
 
: Retrieves the name from a specific channel.
: Also returns a 3rd value, seems to always be 0 on enUS client, its purpose is unknown.

Latest revision as of 04:45, 15 August 2023

WoW API < GetChannelName

Retrieves the id and the name from a specific channel.

id, name = GetChannelName(id);

Arguments
id
The numeric id of the channel you want to query, or a string containing the name of the channel.

Returns
id
a number containing the id of the channel, e.g. 2, or 0 if the channel is not found
name
a string containing the name of the channel, e.g. "Trade - Stormwind", or nil if the channel is not found or the id parameter was a name.

Important

If the channel argument is the channel name (ie "testchan1"), then the returned channel name is a nil value. If the channel argument is the channel number (ie 6 or "6"), then the returned channel name is correct. The channel id returns correctly in both cases.

It's also worthy to note the strange behaviour of (at least) Trade channels. Login to a city, GetChannelName("Trade - City") will return the channel number it's on. Step outside the city, you'll leave the channel yet making that call again will return the channel number you *were* on. As such, it's not entirely reliable for detecting if you're in a trade enabled zone.


Example
-- Check if the specific channel exists
myChannel = 1;
id, name = GetChannelName(myChannel);
if (id > 0 and name ~= nil) then
  SendChatMessage("This is just a test.", "CHANNEL", nil, id);
end
Result

Checks if the channel with id stored in myChannel exists and in this case sends the text "This is just a test" to it.


Description
Retrieves the name from a specific channel.
Also returns a 3rd value, seems to always be 0 on enUS client, its purpose is unknown.