API SetActiveVoiceChannelBySessionID

From Wowpedia
Jump to: navigation, search

Set the active voice channel by providing an ID.

successful = SetActiveVoiceChannelBySessionID(id)

Arguments

id 
Number - Channel id.

Returns

success
Boolean - returns true/1 if channel was changed successfully.

Triggers Events

Example

local success = SetActiveVoiceChannelBySessionID(2)

Result

success = 1

Details

Note: This function cannot place you in the channels under the 'World' category (e.g. Trade, LookingForGroup).
Id is assigned when the client joins a channel, not by the order of the channels in the Voice Chat window. This means generic channels such as 'Party' and 'Battleground' will not have a static id if you join any number of custom channels before joining a party or battleground. If you wish to find the id of a channel use the GetNumVoiceSessions and GetVoiceSessionInfo functions as shown below.
function GetChannelIDByName(name)
   for id=1, GetNumVoiceSessions() do
      if name == GetVoiceSessionInfo(id) then
         return id
      end
   end
end

If you don't need to keep a reference of the id and simply wish to set a channel as active by name.

function SetChannelIDByName(name)
   for id=1, GetNumVoiceSessions() do
      if name == GetVoiceSessionInfo(id) then
         SetActiveVoiceChannelBySessionID(id)
         break
      end
   end
end