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