Skype4COM: Chats2.vbs

Skype4COM

Chats2.vbs

An improved chats example to illustrate new chat properties.

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

'// Create Skype object
Set oSkype = CreateObject("Skype4COM.Skype")

'// Query properties of all recent chats:
WScript.Echo  "Recent chats:"
For Each oChat In oSkype.RecentChats
  displayChatProperties(oChat)
Next

'// Query properties of all bookmarked chats:
WScript.Echo "Bookmarked chats:"
For Each oChat In oSkype.BookmarkedChats
  displayChatProperties(oChat)
Next

'// Displays chat properties
Function displayChatProperties(aChat)
  WScript.Echo vbCrLf & "Label: " & aChat.FriendlyName
  WScript.Echo "Created at: " & aChat.Timestamp
  WScript.Echo "Last activity at: " & aChat.ActivityTimestamp
  WScript.Echo "Id: " & aChat.Name
  WScript.Echo "Blob: " & aChat.Blob
  WScript.Echo "Description: " & aChat.Description
  WScript.Echo "Guidelines: " & aChat.Guidelines
  WScript.Echo "My role: " & chatMemberRoleToText(aChat.MyRole)
  WScript.Echo "My status: " & chatStatusToText(aChat.MyStatus)
  WScript.Echo "Type: " & chatTypeToText(aChat.Type)
  If aChat.Type = chatTypeDialog Or aChat.Type = chatTypeLegacyDialog Then
    WScript.Echo "Dialog partner: " & aChat.DialogPartner
  End If
  If aChat.Members.Count > 0 Then 
    WScript.StdOut.Write "Members:" 
    For Each oMember In aChat.Members
      WScript.StdOut.Write " " & oMember.Handle
    Next 
    WScript.Echo ""  
  End If
  If aChat.Applicants.Count > 0 Then 
    WScript.StdOut.Write "Applicants:" 
    For Each oApplicant In aChat.Applicants
      WScript.StdOut.Write " " & oApplicant.Handle
    Next 
    WScript.Echo ""   
  End If
End Function

'// Converts chat types to plaintext
Function chatTypeToText(aType)
  Const chatTypeUnknown = -1
  Const chatTypeDialog = 0
  Const chatTypeLegacyDialog = 1
  Const chatTypeLegacyUnsubscribed = 2
  Const chatTypeMultiChat = 3
  Const chatTypeSharedGroup = 4
  Select Case aType
    Case chatTypeUnknown
      chatTypeToText = "Unknown"
    Case chatTypeDialog
      chatTypeToText = "Dialog"
    Case chatTypeLegacyDialog
      chatTypeToText = "Legacy Dialog"
    Case chatTypeLegacyUnsubscribed
      chatTypeToText = "Unsubscribed Legacy Dialog"
    Case chatTypeMultiChat
      chatTypeToText = "Multichat"
    Case chatTypeSharedGroup
      chatTypeToText = "Shared Group"
  End Select  
End Function

'// Converts chat roles to plaintext
Function chatMemberRoleToText(aRole)
  Const chatMemberRoleUnknown = -1
  Const chatMemberRoleCreator = 0
  Const chatMemberRoleMaster = 1
  Const chatMemberRoleHelper = 2
  Const chatMemberRoleUser = 3
  Const chatMemberRoleListener = 4
  Const chatMemberRoleApplicant = 5
  Select Case aRole
    Case chatMemberRoleUnknown
      chatMemberRoleToText = "Unknown"
    Case chatMemberRoleCreator
      chatMemberRoleToText = "Creator"
    Case chatMemberRoleMaster
      chatMemberRoleToText = "Master"
    Case chatMemberRoleHelper
      chatMemberRoleToText = "Helper"
    Case chatMemberRoleUser
      chatMemberRoleToText = "User"
    Case chatMemberRoleListener
      chatMemberRoleToText = "Listener"
    Case chatMemberRoleApplicant
      chatMemberRoleToText = "Applicant"      
  End Select  
End Function

'// Converts chat status to plaintext
Function chatStatusToText(aStatus)
  Const chatStatusUnknown = -1
  Const chatStatusConnecting = 0
  Const chatStatusWaitingRemoteAccept = 1
  Const chatStatusAcceptRequired = 2
  Const chatStatusPasswordRequired = 3
  Const chatStatusSubscribed = 4
  Const chatStatusUnsubscribed = 5
  Const chatStatusDisbanded = 6
  Const chatStatusQueuedBecauseChatIsFull = 7
  Const chatStatusApplicationDenied = 8
  Const chatStatusKicked = 9
  Const chatStatusBanned = 10
  Const chatStatusRetryConnecting = 11
  Select Case aStatus
    Case chatStatusUnknown
      chatStatusToText = "Unknown"
    Case chatStatusConnecting
      chatStatusToText = "Connecting"      
    Case chatStatusWaitingRemoteAccept
      chatStatusToText = "Waiting for Remote Accept"      
    Case chatStatusAcceptRequired
      chatStatusToText = "Accept Required"      
    Case chatStatusPasswordRequired
      chatStatusToText = "Password Required"      
    Case chatStatusSubscribed
      chatStatusToText = "Subscribed"      
    Case chatStatusUnsubscribed
      chatStatusToText = "Unsubscribed"      
    Case chatStatusDisbanded
      chatStatusToText = "Disbanded"      
    Case chatStatusQueuedBecauseChatIsFull
      chatStatusToText = "Queued"      
    Case chatStatusApplicationDenied
      chatStatusToText = "Application Denied"      
    Case chatStatusKicked
      chatStatusToText = "Kicked"      
    Case chatStatusBanned
      chatStatusToText = "Banned"      
    Case chatStatusRetryConnecting
      chatStatusToText = "Reconnecting"      
  End Select  
End Function

Copyright � 2006 Skype Limited. All rights reserved.