→ WoW API
Set the active voice channel by providing an ID.
successful = SetActiveVoiceChannelBySessionID(id)
- Number - Channel id.
- Boolean - returns true/1 if channel was changed successfully.
- "VOICE_SESSIONS_UPDATE", fired if the function fires successfully and the active channel is switched.
local success = SetActiveVoiceChannelBySessionID(2)
success = 1
- 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