Skype4COM: FileTransfers.vbs

Skype4COM

FileTransfers.vbs

This script lists file transfers.

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

Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")

For Each oTransfer In oSkype.FileTransfers
  FTDetails(oTransfer)
Next 

For Each oTransfer In oSkype.ActiveFileTransfers
  FTDetails(oTransfer)
Next 

WScript.Sleep(30000)

Public Sub Skype_FileTransferStatusChanged(ByRef aTransfer, ByVal aStatus)
  WScript.Echo  ">File Transfer " & aTransfer.Id & " status " & FTStatusToText(aStatus)
End Sub

Sub FTDetails(aTransfer)
  WScript.Echo "Id:" & aTransfer.Id & " start:" & aTransfer.StartTime & " end:" & aTransfer.FinishTime 
  WScript.Echo " Type:" & FTTypeToText(aTransfer.Type) 
  WScript.Echo " Status:" & FTStatusToText(aTransfer.Status)
  WScript.Echo " Partner:" & aTransfer.PartnerHandle & "(" & aTransfer.PartnerDisplayName & ")"
  WScript.Echo " File:" & aTransfer.FilePath
  WScript.Echo " Bytes Transferred:" & aTransfer.BytesTransferred & " bytes"
  WScript.Echo " Transfer Speed:" & aTransfer.BytesPerSecond & " bytes/sec"
  WScript.Echo " Failure Reason:" & FTFailureReasonToText(aTransfer.FailureReason)
End Sub

Function FTTypeToText(aType)

  Const fileTransferTypeIncoming=0
  Const fileTransferTypeOutgoing=1
  
  Select Case aType
    Case fileTransferTypeIncoming
      FTTypeToText = "Incoming"
    Case fileTransferTypeOutgoing
      FTTypeToText = "Outgoing"
  End Select 
  
End Function 

Function FTStatusToText(aStatus)
  
  Const fileTransferStatusNew = 0   
  Const fileTransferStatusConnecting = 1
  Const fileTransferStatusWaitingForAccept = 2
  Const fileTransferStatusTransferring = 3
  Const fileTransferStatusTransferringOverRelay = 4
  Const fileTransferStatusPaused = 5
  Const fileTransferStatusRemotelyPaused = 6
  Const fileTransferStatusCancelled = 7
  Const fileTransferStatusCompleted = 8
  Const fileTransferStatusFailed = 9
  
  Select Case aStatus
    Case fileTransferStatusNew
      FTStatusToText = "New"
    Case fileTransferStatusConnecting
      FTStatusToText = "Connecting"
    Case fileTransferStatusWaitingForAccept
      FTStatusToText = "Waiting for Accept"
    Case fileTransferStatusTransferring
      FTStatusToText = "Transferring"
    Case fileTransferStatusTransferringOverRelay
      FTStatusToText = "Transferring over Relay"
    Case fileTransferStatusPaused
      FTStatusToText = "Paused"
    Case fileTransferStatusRemotelyPaused
      FTStatusToText = "Remotely Paused"
    Case fileTransferStatusCancelled
      FTStatusToText = "Cancelled"
    Case fileTransferStatusCompleted
      FTStatusToText = "Completed"
    Case fileTransferStatusFailed
      FTStatusToText = "Failed"      
  End Select 
  
End Function 

Function FTFailureReasonToText(aReason)

  Const fileTransferFailureReasonSenderNotAuthorized= 1
  Const fileTransferFailureReasonRemotelyCancelled= 2
  Const fileTransferFailureReasonFailedRead = 3
  Const fileTransferFailureReasonFailedRemoteRead = 4
  Const fileTransferFailureReasonFailedWrite = 5
  Const fileTransferFailureReasonFailedRemoteWrite = 6
  Const fileTransferFailureReasonRemoteDoesNotSupportFT = 7
  Const fileTransferFailureReasonRemoteOfflineTooLong = 8
  
  Select Case aReason
    Case fileTransferFailureReasonSenderNotAuthorized
      FTFailureReasonToText = "Sender Not Authorized"
    Case fileTransferFailureReasonRemotelyCancelled
      FTFailureReasonToText = "Remotely Cancelled"
    Case fileTransferFailureReasonFailedRead
      FTFailureReasonToText = "Failed Read"
    Case fileTransferFailureReasonFailedRemoteRead
      FTFailureReasonToText = "Remote Read"
    Case fileTransferFailureReasonFailedWrite
      FTFailureReasonToText = "Write"
    Case fileTransferFailureReasonFailedRemoteWrite
      FTFailureReasonToText = "Remote Write"
    Case fileTransferFailureReasonRemoteDoesNotSupportFT
      FTFailureReasonToText = "Remote Does Not Support FT"
    Case fileTransferFailureReasonRemoteOfflineTooLong
      FTFailureReasonToText = "Remote Offline Too Long"
     
  End Select 
  
End Function

Copyright � 2006 Skype Limited. All rights reserved.