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()