Skype4COM: Conferences.vbs

Skype4COM

Conferences.vbs

This script lists conference calls hosted by a user, and lists participants in conference calls not hosted by a user.

Copyright � 2004-2006 Skype Limited. Licensed under BSD license.

'// Create a Skype4COM object:
Set oSkype = WScript.CreateObject("Skype4COM.Skype","Skype_")

'// Start the Skype client:
If Not oSkype.Client.IsRunning Then oSkype.Client.Start() End If

'// Count conference calls hosted by the current user. A conference call hosted by the current user is represented by multiple call objects which have a common conference ID (conf_id). For each conference object,  return the conf_id, the number of calls, and the number of active calls:
WScript.Echo "There are " & oSkype.Conferences.Count & " conference calls hosted by " & oSkype.CurrentUser.Handle
For Each oConf In oSkype.Conferences
  WScript.Echo "Conference " & oConf.Id & " includes " & oConf.Calls.Count & " calls from which " & oConf.ActiveCalls.Count & " are active."
Next

'//  To list conference calls in which the current user is active but not the host, begin by listing active calls for a user:
WScript.Echo "There are total " & oSkype.ActiveCalls.Count & " active calls."

'//Conference calls not hosted by the current user are all calls which have one or more participants (participants do not include the current user or the conference host). For each active call, return the Skypename and display name of each participant:
For Each oCall In oSkype.ActiveCalls
  
  If oCall.Participants.Count > 0 Then 
    WScript.Echo "Conference call " & oCall.Id & " with " & oCall.PartnerHandle & " has " & oCall.Participants.Count & " participants."
    
    For Each oParticipant In oCall.Participants
      WScript.Echo "Participant " & oParticipant.Handle & " display name is " & oParticipant.DisplayName
    Next
  Else
    WScript.Echo "Active call " & oCall.Id & " with " & oCall.PartnerHandle & " is not a conference call."
  End If
Next

'// The AttachmentStatus event handler monitors attachment status and automatically attempts to reattach to the API following loss of connection:
Public Sub Skype_AttachmentStatus(ByVal aStatus)
  WScript.Echo ">Attachment status " & oSkype.Convert.AttachmentStatusToText(aStatus)
  If aStatus = oSkype.Convert.TextToAttachmentStatus("AVAILABLE") Then oSkype.Attach() End If
End Sub

Copyright � 2006 Skype Limited. All rights reserved.