WoW:API GetChannelName: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
mNo edit summary
(Added note about third argument.)
Line 41: Line 41:


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

Revision as of 19:55, 15 June 2010

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.