Module Skype :: Class Skype |

# Class Skype

source code

    object --+
             |
            Skype

The main class that exposes Skype-related functionality to your application. Currently the SDK only supports one Skype class instance per runtime. Note that most of the Skype class methods will fail until you have successfully logged in with an account. For more information on constructing a Skype object and the login sequence, see first tutorial example.

Instance Methods
__init__(self, transport) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
stop(self) | source code
Stop(self) | source code
Start(self) No description available. | source code
GetVersionString(self) returns the runtime version as a string | source code
GetHardwiredContactGroup(self, type_) Takes TYPE argument (TYPE comes from ContactGroup class) and returns reference to the corresponding hardwired contact group. | source code
GetCustomContactGroups(self) Returns a list of custom contact group references, i.e. | source code
CreateCustomContactGroup(self) Creates a new empty contact group object and returns a reference to it. | source code
OnNewCustomContactGroup(self, group) No description available. | source code
mget_info_from_contacts(self, objects) get multiple properties from objects | source code
GetContactType(self, identity) analyzes the identity for contact type | source code
GetContact(self, identity) Returns a Contact object reference. | source code
FindContactByPstnNumber(self, number) No description available. | source code
GetIdentityType(self, identity) This takes skypename or a phone number string as argument and returns corresponding identity type (SKYPE, SKYPE_MYSELF, PSTN, etc.) | source code
IdentitiesMatch(self, identity_a, identity_b) compares two identities to see if they match | source code
NormalizeIdentity(self, original, is_new_skype_name=False) This method is deprecated. | source code
NormalizePSTNWithCountry(self, original, country_prefix=0) NormalizePSTNWithCountry checks if the phone number starts with + if it doesn't, it prefixes the output with +XXX (where XXX is the country code). | source code
OnContactOnlineAppearance(self, contact) This contact has appeared online. | source code
OnContactGoneOffline(self, contact) This contact has gone offline. | source code
GetOptimalAgeRanges(self) list of (min,max) pairs | source code
CreateContactSearch(self) Creates a blank contact search object, in which you can add your custom search terms. | source code
CreateBasicContactSearch(self, text) searches skypenames, aliases, fullnames, emails. | source code
CreateIdentitySearch(self, identity) searches skypenames and aliases. | source code
mget_info_from_participants(self, objects) get multiple properties from objects | source code
mget_info_from_conversations(self, objects) get multiple properties from objects | source code
CreateConference(self) Creates a new empty conversation object and returns a reference to it. | source code
GetConversationByIdentity(self, convo_identity) Returns reference tp conversation object by conversation ID string (equivalent of old chat ID). | source code
GetConversationByParticipants(self, participant_identities, create_if_non_existing=False, ignore_bookmarked_or_named=False) myself not included | source code
GetConversationByBlob(self, join_blob, also_join=True) Retrieves a Conversation object by Public Conversation BLOB. | source code
GetConversationList(self, type_=`'``ALL_CONVERSATIONS``'`) Returns a list of Conversation objects by Conversation::LIST_TYPE filter. | source code
OnConversationListChange(self, conversation, type_, added) This event gets fired when a Conversation item is added or removed from the list specified in the type argument. | source code
mget_info_from_messages(self, objects) get multiple properties from objects | source code
GetMessageByGuid(self, guid) Retrieves a Message object by the P_GUID property (globally unique ID, same for all the participants of the conversation, in which this message occured). | source code
GetMessageListByType(self, type_, latest_per_conv_only, from_timestamp_inc=0, to_timestamp_exc=4294967295) Returns all messages of the given type, the most recent POSTED_EMOTE or POSTED_TEXT of each conversation. | source code
OnMessage(self, message, changes_inbox_timestamp, supersedes_history_message, conversation) No description available. | source code
GetAvailableVideoDevices(self) This method returns a table in form of two string lists of equal length and an uint argument that returns the count of items i both lists. | source code
HasVideoDeviceCapability(self, device_name, device_path, cap) Queries whether the given video device has a specific Video::VIDEO_DEVICE_CAPABILITY. | source code
DisplayVideoDeviceTuningDialog(self, device_name, device_path) No description available. | source code
GetPreviewVideo(self, type_, device_name=`'````'`, device_path=`'````'`) No description available. | source code
VideoCommand(self, command) Avaible to Video Engines using the Video RTP API | source code
OnAvailableVideoDeviceListChange(self) This callback gets fired when there are changes in the system video device list (USB webcam gets plugged in or is detached.) | source code
GetGreeting(self, skype_name) No description available. | source code
PlayStart(self, soundid, sound, loop, use_call_out_device=False) Takes audio data that comes from the sound argument and mixes it into playback or notification device, depending on the value passed in the useCallOutDevice argument. | source code
PlayStartFromFile(self, soundid, datafile, loop, use_call_out_device=False) No description available. | source code
PlayStop(self, soundid) Stops playback of the soundfile. | source code
StartRecordingTest(self, record_and_playback_data=False) No description available. | source code
StopRecordingTest(self) No description available. | source code
GetAvailableOutputDevices(self) This method returns a table in form of three string lists of equal lengths. | source code
GetAvailableRecordingDevices(self) This method returns a table in form of three string lists of equal length. | source code
SelectSoundDevices(self, call_in_device, call_out_device, wave_out_device) Sets audio devices given in arguments as active audio devices. | source code
GetAudioDeviceCapabilities(self, device_handle) The uint argument returns AUDIODEVICE_CAPABILITIES (declared in Skype class) | source code
GetNrgLevels(self) Returns current audio stream volume for both playback and microphone streams. | source code
VoiceCommand(self, command) NB! This command only works if its implemented in external audiohost (RTP or PCM host). | source code
GetSpeakerVolume(self) Returns value of audio playback volume setting (0..100). | source code
SetSpeakerVolume(self, volume) This method is for setting speaker volume. | source code
GetMicVolume(self) Returns value of microphone volume setting (0..100). | source code
SetMicVolume(self, volume) This method is for setting the microphone volume level. | source code
IsSpeakerMuted(self) Returns true in &muted argument if the currently selected playback device is muted. | source code
IsMicrophoneMuted(self) Returns true in &muted argument if the currently selected microphone is muted. | source code
MuteSpeakers(self, mute) Sets currently selected playback device mute status according to argument. | source code
MuteMicrophone(self, mute) Sets currently selected microphone mute status according to argument. | source code
OnAvailableDeviceListChange(self) This callback gets fired when there are changes in the system audio device list (USB headset gets plugged in or is detached.) | source code
OnNrgLevelsChange(self) This callback gets fired when the audio strength changes in either playback or recording audio streams. | source code
SetOperatingMedia(self, media, max_uplink_bps, max_downlink_bps) No description available. | source code
RequestConfirmationCode(self, type_, number) creates an CONFIRMATION_CODE_REQUEST SMS message | source code
SubmitConfirmationCode(self, number, code) creates an CONFIRMATION_CODE_REQUEST SMS message | source code
CreateOutgoingSms(self) creates an OUTGOING/COMPOSING SMS message | source code
GetAccount(self, identity) Retrieves an Account object by Skype name (identity). | source code
GetExistingAccounts(self) Returns a list of possible profiles used before on this machine | source code
GetDefaultAccountName(self) return most recently used account that has pwd saved. | source code
GetSuggestedSkypename(self, fullname) suggest a nice skypename to go with given fullname | source code
ValidateAvatar(self, value) No description available. | source code
ValidateProfileString(self, prop_key, str_value, for_registration=False) This method should be used for validating skypenames before registering new accounts, if the propKey is set to SKYPENAME (Contact class) and forRegistration argument is set to true. | source code
ValidatePassword(self, username, password) This method is for pre-validating account passwords before account creation or password change. | source code
OnProxyAuthFailure(self, type_) No description available. | source code
GetStr(self, key) This is used for retrieving local setup keys of type string. | source code
GetInt(self, key) This is used for retrieving local setup keys of type int. | source code
GetBin(self, key) This is used for retrieving local setup keys of type binary. | source code
SetStr(self, key, value) This is used for setting local setup keys of type string. | source code
SetInt(self, key, value) This is used for setting local setup keys of type int. | source code
SetBin(self, key, value) This is used for setting local setup keys of type binary. | source code
IsDefined(self, key) Returns true if the given setup key is defined in local setup. | source code
Delete(self, key) No description available. | source code
GetSubKeys(self, key) No description available. | source code
GetISOLanguageInfo(self) Returns two string lists. | source code
GetISOCountryInfo(self) Returns three string lists and one int array, containing 2-letter country code, country name, dialing prefix and example dial string (not available for all items). | source code
GetISOCountryCodebyPhoneNo(self, number) Returns 2-letter country code based on PSTN number. | source code
App2AppCreate(self, appname) App2AppCreate method constructs a local instance of an App2App application. | source code
App2AppDelete(self, appname) Disconnects and deletes the App2App application. | source code
App2AppConnect(self, appname, skypename) The App2AppConnect connect result does not mean the connection was immediately established. | source code
App2AppDisconnect(self, appname, stream) Disconnects an App2App stream. | source code
App2AppWrite(self, appname, stream, data) Sends a stream packet to the remote party specified in the stream argument. | source code
App2AppDatagram(self, appname, stream, data) Sends a datagram to the remote party specified in the stream argument. | source code
App2AppRead(self, appname, stream) Reads data from the specified stream. | source code
App2AppGetConnectableUsers(self, appname) App2AppGetConnectableUsers returns a list of currently online contacts. | source code
App2AppGetStreamsList(self, appname, list_type) Takes application ID and list type filter and returns a stringlist with streamID's that pass the filter. | source code
OnApp2AppDatagram(self, appname, stream, data) This event gets fired on incoming app2app datagram. | source code
OnApp2AppStreamListChange(self, appname, list_type, streams, received_sizes) In context of datagrams, this event will fire when: | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Class Variables
| module_id = `0`
| event_handlers = ``{`1`:` `'``_sk_on_new_custom_contact_group``'``,` 2`:` `'``_s``...``
| SETUPKEY_DB_STORAGE_QUOTA_KB = ``'``*Lib/DbManager/StorageQuotaKb``'``
| IDENTITYTYPE = ``{`0`:` `'``UNRECOGNIZED``'``,` 1`:` `'``SKYPE``'``,` 2`:` `'``SKYPE_MYSEL``...`` UNRECOGNIZED
| NORMALIZERESULT = ``{`0`:` `'``IDENTITY_OK``'``,` 1`:` `'``IDENTITY_EMPTY``'``,` 2`:` `'``...`` IDENTITY_OK
| TRANSFER_SENDFILE_ERROR = ``{`0`:` `'``TRANSFER_OPEN_SUCCESS``'``,` 1`:` `'``TRA``...`` sync failure reasons when starting a transfer
| SETUPKEY_DISABLED_CODECS = ``'``*Lib/Audio/DisableCodecs``'``
| SETUPKEY_DISABLE_AEC = ``'``*Lib/Audio/DisableAEC``'``
| SETUPKEY_DISABLE_NOISE_SUPPRESSOR = ``'``*Lib/Audio/DisableNS``'``
| SETUPKEY_DISABLE_AGC = ``'``*Lib/Audio/DisableAGC``'``
| SETUPKEY_DISABLE_DIGITAL_NEAR_END_AGC = ``'``*Lib/Audio/DisableDig``...``
| SETUPKEY_DISABLE_DIGITAL_FAR_END_AGC = ``'``*Lib/Audio/DisableDigi``...``
| SETUPKEY_BEAMFORMER_MIC_SPACING = ``'``*Lib/Audio/BeamformerMicSpa``...``
| SETUPKEY_DISABLE_AUDIO_DEVICE_PROBING = ``'``*Lib/QualityMonitor/D``...``
| PREPARESOUNDRESULT = ``{`0`:` `'``PREPARESOUND_SUCCESS``'``,` 1`:` `'``PREPARESO``...`` PREPARESOUND_SUCCESS
| AUDIODEVICE_CAPABILITIES = ``{`1`:` `'``HAS_VIDEO_CAPTURE``'``,` 2`:` `'``HAS_US``...`` HAS_VIDEO_CAPTURE
| OPERATING_MEDIA = ``{`0`:` `'``OM_UNKNOWN``'``,` 1`:` `'``OM_FREE``'``,` 2`:` `'``OM_FREE_``...`` OM_UNKNOWN
| SETUPKEY_FT_AUTOACCEPT = ``'``Lib/FileTransfer/AutoAccept``'``
| SETUPKEY_FT_SAVEPATH = ``'``Lib/FileTransfer/SavePath``'``
| SETUPKEY_FT_INCOMING_LIMIT = ``'``Lib/FileTransfer/IncomingLimit``'``
| SETUPKEY_IDLE_TIME_FOR_AWAY = ``'``Lib/Account/IdleTimeForAway``'``
| SETUPKEY_IDLE_TIME_FOR_NA = ``'``Lib/Account/IdleTimeForNA``'``
| VALIDATERESULT = ``{`0`:` `'``NOT_VALIDATED``'``,` 1`:` `'``VALIDATED_OK``'``,` 2`:` `'``T``...`` A value of this type can be returned by one of the following methods (of Skype class): ValidateAvatar, ValidateProfileString, ValidatePassword.
| SETUPKEY_PORT = ``'``*Lib/Connection/Port``'``
| SETUPKEY_HTTPS_PROXY_ENABLE = ``'``*Lib/Connection/HttpsProxy/Enable``'``
| SETUPKEY_HTTPS_PROXY_ADDR = ``'``*Lib/Connection/HttpsProxy/Addr``'``
| SETUPKEY_HTTPS_PROXY_USER = ``'``*Lib/Connection/HttpsProxy/User``'``
| SETUPKEY_HTTPS_PROXY_PWD = ``'``*Lib/Connection/HttpsProxy/Pwd``'``
| SETUPKEY_SOCKS_PROXY_ENABLE = ``'``*Lib/Connection/SocksProxy/Enable``'``
| SETUPKEY_SOCKS_PROXY_ADDR = ``'``*Lib/Connection/SocksProxy/Addr``'``
| SETUPKEY_SOCKS_PROXY_USER = ``'``*Lib/Connection/SocksProxy/User``'``
| SETUPKEY_SOCKS_PROXY_PWD = ``'``*Lib/Connection/SocksProxy/Pwd``'``
| SETUPKEY_LOCALADDRESS = ``'``*Lib/Connection/LocalAddress``'``
| SETUPKEY_DISABLE_PORT80 = ``'``*Lib/Connection/DisablePort80``'``
| SETUPKEY_DISABLE_UDP = ``'``*Lib/Connection/DisableUDP``'``
| PROXYTYPE = ``{`0`:` `'``HTTPS_PROXY``'``,` 1`:` `'``SOCKS_PROXY``'``,` `'``HTTPS_PROXY``'``...`` HTTPS_PROXY
| APP2APP_STREAMS = ``{`0`:` `'``ALL_STREAMS``'``,` 1`:` `'``SENDING_STREAMS``'``,` 2`:` `...`` ALL_STREAMS

Properties
Inherited from `object`: `__class__`

Method Details

### __init__(self, transport) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)

### Start(self) | source code
No description available. Return values: started

### GetVersionString(self) | source code
returns the runtime version as a string Return values: version

### GetHardwiredContactGroup(self, type_) | source code
Takes TYPE argument (TYPE comes from ContactGroup class) and returns reference to the corresponding hardwired contact group. For example (C++): skype->GetHardwiredContactGroup(ContactGroup::ONLINE_BUDDIES, GroupRef) would return the list of all contacts that are currently online. Arguments: type_ Return values: contact_group

### GetCustomContactGroups(self) | source code
Returns a list of custom contact group references, i.e. all contact groups that are not hardwired. Return values: groups

### CreateCustomContactGroup(self) | source code
Creates a new empty contact group object and returns a reference to it. The group will then show up in the custom group list that you can get with Skype class GetCustomContactGroups method. Existing contacts can be added to the new group with ContactGroup class AddContact method and a custom name can be given to it with GiveDisplayName method. Note that no check is made for existing of displaynames with the same name - if you wish to force uniqueness in custom group names you will have to check that yourself before creating the group. Return values: group

### OnNewCustomContactGroup(self, group) | source code
No description available. Return values: group - eg, new contact group loaded from CBL

### GetContactType(self, identity) | source code
analyzes the identity for contact type Arguments: identity Return values: type_

### GetContact(self, identity) | source code
Returns a Contact object reference. If a matching contact is not found in the existing contact list, a new Contact object will be created. Note that if you pass in a phone number in the identity argument, the type for the newly created Contact will be automatically set to Contact::PSTN (Contact::SKYPE otherwise). Arguments: identity - Either skypename or a phone number Return values: contact - Returns a contact object.

### FindContactByPstnNumber(self, number) | source code
No description available. Arguments: number Return values: found contact found_in_key - type is actually PROPKEY

### GetIdentityType(self, identity) | source code
This takes skypename or a phone number string as argument and returns corresponding identity type (SKYPE, SKYPE_MYSELF, PSTN, etc.) Arguments: identity Return values: type_

### IdentitiesMatch(self, identity_a, identity_b) | source code
compares two identities to see if they match Arguments: identity_a identity_b Return values: result

### NormalizeIdentity(self, original, is_new_skype_name=False) | source code
This method is deprecated. Use ValidateProfileString method instead. Arguments: original is_new_skype_name Return values: result normalized

### NormalizePSTNWithCountry(self, original, country_prefix=0) | source code
NormalizePSTNWithCountry checks if the phone number starts with + if it doesn't, it prefixes the output with +XXX (where XXX is the country code). It also converts letters to numbers based on the standard phone keypad, so that the phone number string 212CALLME1 with country code 372 (Estonia) would be normalized to +3722122255631. If the method cannot normalize the phone number (because it's too long, too short, etc.), it returns an error code in &result. Arguments: original country_prefix Return values: result normalized

### OnContactOnlineAppearance(self, contact) | source code
This contact has appeared online. display alert Return values: contact

### OnContactGoneOffline(self, contact) | source code
This contact has gone offline. display alert Return values: contact

### GetOptimalAgeRanges(self) | source code
list of (min,max) pairs Return values: range_list

### CreateContactSearch(self) | source code
Creates a blank contact search object, in which you can add your custom search terms. For more information how asynchronous contact search works, see ContactSearch class details. Return values: search - Returns blank ContactSearch object.

### CreateBasicContactSearch(self, text) | source code
searches skypenames, aliases, fullnames, emails. false if not valid Arguments: text Return values: search

### CreateIdentitySearch(self, identity) | source code
searches skypenames and aliases. returns 0 or 1 results. false if not valid Arguments: identity Return values: search

### CreateConference(self) | source code
Creates a new empty conversation object and returns a reference to it. Return values: conference

### GetConversationByIdentity(self, convo_identity) | source code
Returns reference tp conversation object by conversation ID string (equivalent of old chat ID). NB! ID here is that of conversation, rather than skypename of dialog partner. If you want to retrieve a conversation object with any particular person, then Skype class GetConversationByParticipants method is what you are looking for. Arguments: convo_identity Return values: conversation

### GetConversationByParticipants(self, participant_identities, create_if_non_existing=False, ignore_bookmarked_or_named=False) | source code
myself not included Arguments: participant_identities create_if_non_existing ignore_bookmarked_or_named Return values: conversation

### GetConversationByBlob(self, join_blob, also_join=True) | source code
Retrieves a Conversation object by Public Conversation BLOB. Public conversation blobs are globally unique conversation IDs that provide a method for joining conversation without explicitly being added to the conversation by someone already in it. Programmatically, a Conversation BLOB can be retrieved with Conversation::GetJoinBlob method. In Skype desktop clients, the BLOB can be retrieved by typing "/get uri" in a conversation. The conversation can then be joined by people who have somehow received that BLOB. Arguments: join_blob - The BLOB string. also_join - If set to true, automatically joins current user into the Conversation. Return values: conversation - Returns Conversation object if successful.

### GetConversationList(self, type_=`'``ALL_CONVERSATIONS``'`) | source code
Returns a list of Conversation objects by Conversation::LIST_TYPE filter. Arguments: type_ - Filter. Return values: conversations - List of conversations matching the filter.

### OnConversationListChange(self, conversation, type_, added) | source code
This event gets fired when a Conversation item is added or removed from the list specified in the type argument. The primary use of this event is to detect creation of new Conversation objects. It can also be used for detecting occurance of live sessions - by monitoring added = true in Conversation::LIVE_CONVERSATIONS. Note that this method is not entirely sufficient for detecting live session termination (added = false and type = Conversation::LIVE_CONVERSATIONS). When the live session goes down, the default behaviour is that the Conversation object remains in the LIVE_CONVERSATIONS list for approximately 10 seconds. When another live session comes up within the same Conversation, the OnConversationListChange event will not fire - because the conversation was already in that list. There are two ways of getting around that. Firstly you can have all the conversations referenced at all times and then monitor Conversation::P_LOCAL_LIVESTATUS property changes, in which case you can pick up incoming live sessions from there. Alternatively, you can remove the delay between live session termination and conversation's removal from the LIVE_CONVERSATIONS list. This delay is controlled by the SETUPKEY_RECENTLY_LIVE_TIMEOUT setup key. To remove the delay, use Skype::SetInt(SETUPKEY_RECENTLY_LIVE_TIMEOUT, 0). Note that this setup key is account-based. You will need to have an account logged in in order to modify its value. Return values: conversation - Conversation object that was added or removed to a list specified in the type argument. type_ - Specifies the list, into which the conversation was added or removed from. added - Specifies whether the conversation was added or removed. For ALL_CONVERSATIONS list, the removed event is only fired when the conversation is actually deleted.

### GetMessageByGuid(self, guid) | source code
Retrieves a Message object by the P_GUID property (globally unique ID, same for all the participants of the conversation, in which this message occured). Arguments: guid - Globally unique ID of the message. Return values: message - Returns a Message object if a match was found.

### GetMessageListByType(self, type_, latest_per_conv_only, from_timestamp_inc=0, to_timestamp_exc=4294967295) | source code
Returns all messages of the given type, the most recent POSTED_EMOTE or POSTED_TEXT of each conversation. Arguments: type_ - Type of messages requested latest_per_conv_only - Whether to return only the most recent message per conversation from_timestamp_inc - Starting timestamp for reqested range, inclusive to_timestamp_exc - Ending timestamp for requested range, exclusive Return values: messages

### OnMessage(self, message, changes_inbox_timestamp, supersedes_history_message, conversation) | source code
No description available. Return values: message changes_inbox_timestamp - if changesInboxTimestamp==true is a hint that tray alert should probably be displayed supersedes_history_message - DEPRECATED, not set anymore conversation

### GetAvailableVideoDevices(self) | source code
This method returns a table in form of two string lists of equal length and an uint argument that returns the count of items i both lists. The first list contains video recording device handles and the second list descriptive names of those devices. NB! This method requires videortphost to be running, otherwise it will return empty lists. Return values: device_names device_paths count

### HasVideoDeviceCapability(self, device_name, device_path, cap) | source code
Queries whether the given video device has a specific Video::VIDEO_DEVICE_CAPABILITY. Use Skype::GetAvailableVideoDevices method to retrieve sstring lists with available deviceName and devicePath values. Arguments: device_name - Human readable device name. device_path - Device ID. cap - Any of the Video::VIDEO_DEVICE_CAPABILITY values.

### DisplayVideoDeviceTuningDialog(self, device_name, device_path) | source code
No description available. Arguments: device_name device_path

### GetPreviewVideo(self, type_, device_name=`'````'`, device_path=`'````'`) | source code
No description available. Arguments: type_ device_name - name and path to be used only with media type VIDEO device_path Return values: video

### VideoCommand(self, command) | source code
Avaible to Video Engines using the Video RTP API Arguments: command Return values: response

### GetGreeting(self, skype_name) | source code
No description available. Arguments: skype_name Return values: greeting

### PlayStart(self, soundid, sound, loop, use_call_out_device=False) | source code
Takes audio data that comes from the sound argument and mixes it into playback or notification device, depending on the value passed in the useCallOutDevice argument. The sound argument contains the audio data in in follwing format: first 4 bytes of the binary contain the sample rate, followed by 16 bit (mono) samples. The soundid argument is an arbitrary ID that you can pass in and then later use as an argument for Skype class PlayStop method. To mix the audio into playback device stream, set useCallOutDevice to true, to mic it into notification stream, set useCallOutDevice to false. Arguments: soundid sound loop use_call_out_device

### PlayStartFromFile(self, soundid, datafile, loop, use_call_out_device=False) | source code
No description available. Arguments: soundid datafile loop use_call_out_device Return values: result

### PlayStop(self, soundid) | source code
Stops playback of the soundfile. The argument is the same ID you passed in the Skype class StartPlayback method. Arguments: soundid

### StartRecordingTest(self, record_and_playback_data=False) | source code
No description available. Arguments: record_and_playback_data

### GetAvailableOutputDevices(self) | source code
This method returns a table in form of three string lists of equal lengths. The first list contains audio output device handles ('hw:0,0', 'hw:0,1', etc.) The second list contains descriptive names of those devices (Ensoniq AudioPCI etc.) The third list contains device product IDs. Note that the values in these lists depend on which audio engine you are running (SAL, PCM, RTP). Return values: handle_list name_list product_id_list

### GetAvailableRecordingDevices(self) | source code
This method returns a table in form of three string lists of equal length. The first list contains audio recording device handles ('hw:0,0', 'hw:0,1', etc.) The second list contains descriptive names of those devices (Ensoniq AudioPCI etc.) The third list contains device product IDs. Note that the values in these lists depend on which audio engine you are running (SAL, PCM, RTP). Return values: handle_list name_list product_id_list

### SelectSoundDevices(self, call_in_device, call_out_device, wave_out_device) | source code
Sets audio devices given in arguments as active audio devices. This command selects all three devices - microphone, playback and the notification channel. Valid input values for this method come from the first string list you get back from Skype class GetAvailableOutputDevices (handleList). Arguments: call_in_device call_out_device wave_out_device

### GetAudioDeviceCapabilities(self, device_handle) | source code
The uint argument returns AUDIODEVICE_CAPABILITIES (declared in Skype class) Arguments: device_handle Return values: interface_string capabilities - bit set of AUDIODEVICE_CAPABILITIES

### GetNrgLevels(self) | source code
Returns current audio stream volume for both playback and microphone streams. Useful for displaying visual audio indicators in you UI. See also Skype class OnNrgLevelsChange callback that gets fired each time the these values are changed. Return values: mic_level speaker_level

### VoiceCommand(self, command) | source code
NB! This command only works if its implemented in external audiohost (RTP or PCM host). The command can be is used for passing custom commands from client UI to the audio implementation. Arguments: command Return values: response

### GetSpeakerVolume(self) | source code
Returns value of audio playback volume setting (0..100). Return values: volume

### SetSpeakerVolume(self, volume) | source code
This method is for setting speaker volume. It will set the level for Skype digital gain control. Skype audio library will not control gain of audio device itself. Arguments: volume

### GetMicVolume(self) | source code
Returns value of microphone volume setting (0..100). It will return the analog gain of audio device set by Skype AGC. For real-time microphone volume, use GetNrgLevels method or OnNrgLevelsChange callback (both are methods of Skype class). Return values: mic_volume

### SetMicVolume(self, volume) | source code
This method is for setting the microphone volume level. This does not work when Skype AGC (Automatic Gain Control) is enabled, which it is by default. It is currently impossible to disable AGC, so for now this method is here for purpose of future compatibility. Arguments: volume

### IsSpeakerMuted(self) | source code
Returns true in &muted argument if the currently selected playback device is muted. Return values: muted

### IsMicrophoneMuted(self) | source code
Returns true in &muted argument if the currently selected microphone is muted. Return values: muted

### MuteSpeakers(self, mute) | source code
Sets currently selected playback device mute status according to argument. Arguments: mute

### MuteMicrophone(self, mute) | source code
Sets currently selected microphone mute status according to argument. Arguments: mute

### OnNrgLevelsChange(self) | source code
This callback gets fired when the audio strength changes in either playback or recording audio streams. Useful for providing visual indicators of audio activity in your UI.

### SetOperatingMedia(self, media, max_uplink_bps, max_downlink_bps) | source code
No description available. Arguments: media max_uplink_bps max_downlink_bps

### RequestConfirmationCode(self, type_, number) | source code
creates an CONFIRMATION_CODE_REQUEST SMS message Arguments: type_ number Return values: sms

### SubmitConfirmationCode(self, number, code) | source code
creates an CONFIRMATION_CODE_REQUEST SMS message Arguments: number code Return values: sms

### CreateOutgoingSms(self) | source code
creates an OUTGOING/COMPOSING SMS message Return values: sms

### GetAccount(self, identity) | source code
Retrieves an Account object by Skype name (identity). This should normally be one of the first method calls after Skype object initialization. Nearly all the other methods require successful account login in order to work properly. The list of accounts that have been used on the local machine/database can be retrieved with Skype::GetExistingAccounts method. If a matching identity is not found, a new Account object is created. This object can then be used to populate requred fields and then use Account::Register method for new account creation. This method returns false on error. Arguments: identity - Account skypename. Return values: account - Returns account object if successful.

### GetExistingAccounts(self) | source code
Returns a list of possible profiles used before on this machine Return values: account_name_list

### GetDefaultAccountName(self) | source code
return most recently used account that has pwd saved. empty string if none Return values: account

### GetSuggestedSkypename(self, fullname) | source code
suggest a nice skypename to go with given fullname Arguments: fullname Return values: suggested_name

### ValidateAvatar(self, value) | source code
No description available. Arguments: value Return values: result free_bytes_left

### ValidateProfileString(self, prop_key, str_value, for_registration=False) | source code
This method should be used for validating skypenames before registering new accounts, if the propKey is set to SKYPENAME (Contact class) and forRegistration argument is set to true. If the forRegistration argument is false, only string length check is applied. It is also useful to probe, what the size limits are, for each string property (e.g. 300 characters for moodmessage) Arguments: prop_key str_value for_registration Return values: result free_bytes_left

### ValidatePassword(self, username, password) | source code
This method is for pre-validating account passwords before account creation or password change. The result will return either VALIDATED_OK or one of many possible reasons the password is unacceptable (too short, too simple, etc.) Arguments: username password Return values: result

### OnProxyAuthFailure(self, type_) | source code
No description available. Return values: type_

### GetStr(self, key) | source code
This is used for retrieving local setup keys of type string. For more information, see Defines section in the skype-embedded_2.h Arguments: key Return values: value

### GetInt(self, key) | source code
This is used for retrieving local setup keys of type int. For more information, see Defines section in the skype-embedded_2.h Arguments: key Return values: value

### GetBin(self, key) | source code
This is used for retrieving local setup keys of type binary. For more information, see Defines section in the skype-embedded_2.h Arguments: key Return values: value

### SetStr(self, key, value) | source code
This is used for setting local setup keys of type string. For more information, see Defines section in the skype-embedded_2.h Arguments: key value

### SetInt(self, key, value) | source code
This is used for setting local setup keys of type int. For more information, see Defines section in the skype-embedded_2.h Arguments: key value

### SetBin(self, key, value) | source code
This is used for setting local setup keys of type binary. For more information, see Defines section in the skype-embedded_2.h Arguments: key value

### IsDefined(self, key) | source code
Returns true if the given setup key is defined in local setup. For more information, see Defines section in the skype-embedded_2.h Arguments: key Return values: value

### Delete(self, key) | source code
No description available. Arguments: key

### GetSubKeys(self, key) | source code
No description available. Arguments: key Return values: value

### GetISOLanguageInfo(self) | source code
Returns two string lists. First of them will contain list of two-letter language codes (ISO 639-1) The second list contains names of corresponding languages. Return values: language_code_list language_name_list - assumes UI has set correct language

### GetISOCountryInfo(self) | source code
Returns three string lists and one int array, containing 2-letter country code, country name, dialing prefix and example dial string (not available for all items). This method does currently return 0 for South Georgia and the South Sandwich Islands. Return values: country_code_list country_name_list - assumes UI has set correct language country_prefix_list country_dial_example_list

### GetISOCountryCodebyPhoneNo(self, number) | source code
Returns 2-letter country code based on PSTN number. The input argument has to be without + in from of it - '37212345678' will return 'ee' while '+37212345678' will return an empty string. Arguments: number Return values: country_code

### App2AppCreate(self, appname) | source code
App2AppCreate method constructs a local instance of an App2App application. App2App applications are not abstracted in the SkypeKit API as a separate class. Rather, they can be created with App2AppCreate, supplying their name as ID, and then connected to remote parties using App2AppConnect method. App2App portion of the SkypeKit API enables you to implement arbitrary data exchange protocols between Skype clients. Basically, if you are ever tempted to use conversation chat messages for something other than actual human-readable chat - you should consider using your own custom App2App protocol instead. The downside of App2App is that all the participants need to be running a client that supports the same App2App application. Although, it is possible to have one side using a custom SkypeKit client and another side using Skype desktop client - App2App is supported in both, in case of desktop client via Public API - you are still limited to remote side running something that can recognize your protocol and react to connection attempts from your side. To establish connection between each other, all participants need to create their local instances of the application (with the same ID, and then connect to each other. More than one App2App applications can be active in a local client at the same time. Also, more than two clients can be connected with the same application. Once connection is established, you can choose between two communication methods - datagrams and stream read/write methods. Overall, there are not much principal difference between the two. Datagram packet size is limited to 1500 bytes and stream packet size to 32 KB of payload data. Implementation-wise, datagrams are probably somewhat easier to deal with. Arguments: appname - Application ID. This ID is used by the rest of the App2App commands to differentiate between applications, should there be more than one app2app applications running on the local system. Return values: result - Returns true if the app creation was successful. Returns false when an application with the same name already exists in the local system.

### App2AppDelete(self, appname) | source code
Disconnects and deletes the App2App application. Arguments: appname - application ID. Return values: result - Returns true if the deletion was successful (application with such ID actually existed)

### App2AppConnect(self, appname, skypename) | source code
The App2AppConnect connect result does not mean the connection was immediately established. It will return Ok even if the remote party was offline. The actual connection will be established when both parties have fired App2AppConnect with the same application name, at eachother. At that point, OnApp2AppStreamListChange event will fire for both local and remote party (with listType argument set to ALL_STREAMS) and you can start exchanging data, using either App2App datagrams or App2AppRead App2AppWrite methods. Arguments: appname - Application ID. This needs to match with application ID connecting from the remote side. skypename - Skype Name of the remote party. Return values: result - NB! This argument will return true even if the remote party has not yet connected (or is not even online yet) - it merely indicates that the connect command was successfuly processed in runtime. The actual connection success will be indicated when the OnApp2AppStreamListChange event fires, i.e. when App2App stream will be established between connecting parties.

### App2AppDisconnect(self, appname, stream) | source code
Disconnects an App2App stream. This is different from App2AppDelete command in that it enables you to disconnect remote parties selectively - in case there are more than two participants in the App2App stream pool. Arguments: appname - application ID stream - stream ID. Return values: result - returns true when the stream disconnect was successful.

### App2AppWrite(self, appname, stream, data) | source code
Sends a stream packet to the remote party specified in the stream argument. The max size of stream write packet is 32KB. After calling this method, OnApp2AppStreamListChange will fire for both parties. In local ssytem with listType set to SENDING_STREAMS and on remote system with listType set to RECEIVED_STREAMS. This event can be used to read received packets out of the stream. Arguments: appname - application ID stream - stream ID data - packet payload Return values: result - returns true if the call was successful. Note that this does indicate the packet was actually received by remote party.

### App2AppDatagram(self, appname, stream, data) | source code
Sends a datagram to the remote party specified in the stream argument. The max size of datagram payload is 1500 bytes. Arguments: appname - application ID - from App2AppCreate stream - stream ID - either from App2AppGetStreamsList or from OnApp2AppStreamListChange data - datagram payload (max 1500 bytes) Return values: result - returns true on method success. Note that this does mean the remote party has actually received your datagram - that sort of feedback, should you want it, is up to you to implement in your custom protocol.

### App2AppRead(self, appname, stream) | source code
Reads data from the specified stream. This method should be called from the OnApp2AppStreamListChange event callback, when this callback gets fired with listType argument set to RECEIVED_STREAMS. Arguments: appname - application ID stream - stream ID Return values: result - returns true on method success. Note that this does mean the remote party has actually received your packet - that sort of feedback, should you want it, is up to you to implement in your custom protocol. data - stream packet payload

### App2AppGetConnectableUsers(self, appname) | source code
App2AppGetConnectableUsers returns a list of currently online contacts. It does not return a list of contacts who have an app2app application running. There is currently no way of querying whether an application has been launched on the remote side - other than trying to connect to the remote side and waiting for timeout. NB! if you use App2AppGetConnectableUsers immediately after login - then the online presence of your contact list has not yet updated itself - so this method will most likely return either an empty list or a list with echo123 in it. Arguments: appname - application ID Return values: result - returns true on method success users - stringlist with Skype Names of connectable users

### App2AppGetStreamsList(self, appname, list_type) | source code
Takes application ID and list type filter and returns a stringlist with streamID's that pass the filter. Arguments: appname - application ID list_type - list type filter Return values: result - results true if the method call was successful streams - string list with stream IDs received_sizes - For RECEIVED_STREAMS, contains the number of bytes in each stream waiting to be read

### OnApp2AppDatagram(self, appname, stream, data) | source code
This event gets fired on incoming app2app datagram. Return values: appname - App2app application ID. stream - App2app stream ID - see OnApp2AppStreamListChange event for obtaining stream IDs. data - Datagram payload - limited to 1500 bytes.

### OnApp2AppStreamListChange(self, appname, list_type, streams, received_sizes) | source code
In context of datagrams, this event will fire when: Connection is established between two app2app applications. That is, when both parties have an app up with the same name and -both- used App2AppConnect In that case, both parties get this event, with listType ALL_STREAMS When a datagram is sent, the sender will get this event with listType SENDING_STREAMS Receiver of the datagram will get OnApp2AppDatagram event instead. When the remote party drops app2app connection, the local user will get OnApp2AppStreamListChange with listType ALL_STREAMS and streams.size() zero. In context of stream reads/writes, this event will fire for both the sender (listType == SENDING_STREAMS)and the receiver (listType == RECEIVED_STREAMS). For receiver side, this is the place to put your reading code - App2AppRead. Return values: appname - application ID - the name you supplied in App2AppCreate. list_type - application list type (read/write/all) streams - SEStringlist with affected stream IDs. received_sizes - For RECEIVED_STREAMS, contains the number of bytes in each stream waiting to be read

Class Variable Details

  ### event_handlers Value:
      {1: '_sk_on_new_custom_contact_group',
       2: '_sk_on_contact_online_appearance',
       3: '_sk_on_contact_gone_offline',
       4: '_sk_on_conversation_list_change',
       5: '_sk_on_message',
       6: '_sk_on_app2app_datagram',
       7: '_sk_on_available_video_device_list_change',
       8: '_sk_on_app2app_stream_list_change',
      ...

  ### IDENTITYTYPE UNRECOGNIZED SKYPE SKYPE_MYSELF SKYPE_UNDISCLOSED PSTN PSTN_EMERGENCY PSTN_FREE PSTN_UNDISCLOSED CONFERENCE EXTERNAL Value:
      {0: 'UNRECOGNIZED',
       1: 'SKYPE',
       2: 'SKYPE_MYSELF',
       3: 'SKYPE_UNDISCLOSED',
       4: 'PSTN',
       5: 'PSTN_EMERGENCY',
       6: 'PSTN_FREE',
       7: 'PSTN_UNDISCLOSED',
      ...

  ### NORMALIZERESULT IDENTITY_OK IDENTITY_EMPTY IDENTITY_TOO_LONG IDENTITY_CONTAINS_INVALID_CHAR PSTN_NUMBER_TOO_SHORT PSTN_NUMBER_HAS_INVALID_PREFIX - identity looks like pstn number but does not start with +/00/011 SKYPENAME_STARTS_WITH_NONALPHA SKYPENAME_SHORTER_THAN_6_CHARS - returned only when isNewSkypeName Value:
      {0: 'IDENTITY_OK',
       1: 'IDENTITY_EMPTY',
       2: 'IDENTITY_TOO_LONG',
       3: 'IDENTITY_CONTAINS_INVALID_CHAR',
       4: 'PSTN_NUMBER_TOO_SHORT',
       5: 'PSTN_NUMBER_HAS_INVALID_PREFIX',
       6: 'SKYPENAME_STARTS_WITH_NONALPHA',
       7: 'SKYPENAME_SHORTER_THAN_6_CHARS',
      ...

  ### TRANSFER_SENDFILE_ERROR sync failure reasons when starting a transfer TRANSFER_OPEN_SUCCESS TRANSFER_BAD_FILENAME TRANSFER_OPEN_FAILED TRANSFER_TOO_MANY_PARALLEL Value:
      {0: 'TRANSFER_OPEN_SUCCESS',
       1: 'TRANSFER_BAD_FILENAME',
       2: 'TRANSFER_OPEN_FAILED',
       3: 'TRANSFER_TOO_MANY_PARALLEL',
       'TRANSFER_BAD_FILENAME': 1,
       'TRANSFER_OPEN_FAILED': 2,
       'TRANSFER_OPEN_SUCCESS': 0,
       'TRANSFER_TOO_MANY_PARALLEL': 3}

  ### SETUPKEY_DISABLE_DIGITAL_NEAR_END_AGC Value:
      '*Lib/Audio/DisableDigitalNearEndAGC'

  ### SETUPKEY_DISABLE_DIGITAL_FAR_END_AGC Value:
      '*Lib/Audio/DisableDigitalFarEndAGC'

  ### SETUPKEY_BEAMFORMER_MIC_SPACING Value:
      '*Lib/Audio/BeamformerMicSpacing'

  ### SETUPKEY_DISABLE_AUDIO_DEVICE_PROBING Value:
      '*Lib/QualityMonitor/DisableAudioDeviceProbing'

  ### PREPARESOUNDRESULT PREPARESOUND_SUCCESS PREPARESOUND_MISC_ERROR PREPARESOUND_FILE_NOT_FOUND PREPARESOUND_FILE_TOO_BIG PREPARESOUND_FILE_READ_ERROR PREPARESOUND_UNSUPPORTED_FILE_FORMAT PREPARESOUND_PLAYBACK_NOT_SUPPORTED Value:
      {0: 'PREPARESOUND_SUCCESS',
       1: 'PREPARESOUND_MISC_ERROR',
       2: 'PREPARESOUND_FILE_NOT_FOUND',
       3: 'PREPARESOUND_FILE_TOO_BIG',
       4: 'PREPARESOUND_FILE_READ_ERROR',
       5: 'PREPARESOUND_UNSUPPORTED_FILE_FORMAT',
       6: 'PREPARESOUND_PLAYBACK_NOT_SUPPORTED',
       'PREPARESOUND_FILE_NOT_FOUND': 2,
      ...

  ### AUDIODEVICE_CAPABILITIES HAS_VIDEO_CAPTURE HAS_USB_INTERFACE POSSIBLY_HEADSET HAS_AUDIO_CAPTURE HAS_AUDIO_RENDERING HAS_LOWBANDWIDTH_CAPTURE IS_WEBCAM IS_HEADSET POSSIBLY_WEBCAM HAS_VIDEO_RENDERING HAS_BLUETOOTH_INTERFACE Value:
      {1: 'HAS_VIDEO_CAPTURE',
       2: 'HAS_USB_INTERFACE',
       4: 'POSSIBLY_HEADSET',
       8: 'HAS_AUDIO_CAPTURE',
       16: 'HAS_AUDIO_RENDERING',
       32: 'HAS_LOWBANDWIDTH_CAPTURE',
       64: 'IS_WEBCAM',
       128: 'IS_HEADSET',
      ...

  ### OPERATING_MEDIA OM_UNKNOWN OM_FREE OM_FREE_WIRELESS OM_3G OM_4G Value:
      {0: 'OM_UNKNOWN',
       1: 'OM_FREE',
       2: 'OM_FREE_WIRELESS',
       3: 'OM_3G',
       4: 'OM_4G',
       'OM_3G': 3,
       'OM_4G': 4,
       'OM_FREE': 1,
      ...

  ### VALIDATERESULT A value of this type can be returned by one of the following methods (of Skype class): ValidateAvatar, ValidateProfileString, ValidatePassword. NOT_VALIDATED - Given property could not be validated. The length of the field was within limits and the value is assumed to be Ok. Your client should treat this value as equivalent to VALIDATED_OK. VALIDATED_OK - Avatar or profile string validation succeeded. TOO_SHORT - Password is too short. TOO_LONG - The value exceeds max size limit for the given property. CONTAINS_INVALID_CHAR - Value contains illegal characters. CONTAINS_SPACE - Value contains whitespace. SAME_AS_USERNAME - Password cannot be the same as skypename. INVALID_FORMAT - Value has invalid format. CONTAINS_INVALID_WORD - Value contains invalid word. TOO_SIMPLE - Password is too simple. STARTS_WITH_INVALID_CHAR - Value starts with an invalid character. Value:
      {0: 'NOT_VALIDATED',
       1: 'VALIDATED_OK',
       2: 'TOO_SHORT',
       3: 'TOO_LONG',
       4: 'CONTAINS_INVALID_CHAR',
       5: 'CONTAINS_SPACE',
       6: 'SAME_AS_USERNAME',
       7: 'INVALID_FORMAT',
      ...

  ### PROXYTYPE HTTPS_PROXY SOCKS_PROXY Value:
      {0: 'HTTPS_PROXY',
       1: 'SOCKS_PROXY',
       'HTTPS_PROXY': 0,
       'SOCKS_PROXY': 1}

  ### APP2APP_STREAMS ALL_STREAMS SENDING_STREAMS RECEIVED_STREAMS Value:
      {0: 'ALL_STREAMS',
       1: 'SENDING_STREAMS',
       2: 'RECEIVED_STREAMS',
       'ALL_STREAMS': 0,
       'RECEIVED_STREAMS': 2,
       'SENDING_STREAMS': 1}