Working with contacts#

Each Skype instance has a contacts field, an instance of SkypeContacts.

Finding specific users#

To find a specific contact or user, use key lookups with user identifiers:

>>> sk = Skype(...)
>>> sk.contacts
SkypeContacts()
>>> sk.contacts["joe.4"] # Joe is a contact of Fred's.
SkypeContact(id='joe.4', name=Name(first='Joe', last='Bloggs'), ..., authorised=True, blocked=False)
>>> sk.contacts["anna.7"] # Here, Anna is not a contact.
SkypeUser(id='anna.7', name=Name(first='Anna', last='Cooper'), ...)

Note also the special Skype.user field, a contact object for the connected account:

>>> sk.user # It's you!
SkypeContact(id='fred.2', name=Name(first='Fred', last='Adams'), ...)
>>> sk.contacts["fred.2"] is sk.user
True

Generally, you will get less information out of SkypeUser objects as they only access public info. SkypeContact objects will be provided when applicable.

Iterating contacts#

You can also iterate over SkypeContacts in order to loop through all contacts of the connected account:

>>> for contact in sk.contacts:
...     print(contact.id)
...
joe.4
daisy.5

Contact requests#

Incoming contact requests can be obtained through SkypeContacts.requests(), which returns a list of requests. You can call one of SkypeRequest.accept() and SkypeRequest.reject() to act on a given request.

For example, to automatically accept requests:

>>> for request in sk.contacts.requests():
...     request.accept()