def __init__(self, user=None, pwd=None, tokenFile=None, connect=True):
super(Skype, self).__init__(self)<EOL>self.conn = SkypeConnection()<EOL>if tokenFile:<EOL><INDENT>self.conn.setTokenFile(tokenFile)<EOL><DEDENT>if user and pwd:<EOL><INDENT>self.conn.setUserPwd(user, pwd)<EOL><DEDENT>if connect and ((user and pwd) or tokenFile):<EOL><INDENT>try:<EOL><INDENT>self.conn.readToken()<EOL><DEDENT>except SkypeAuthException:<EOL><INDENT>self.conn.getSkypeToken()<EOL><DEDENT><DEDENT>self.contacts = SkypeContacts(self)<EOL>self.chats = SkypeChats(self)<EOL>self.settings = SkypeSettings(self)<EOL>self.translate = SkypeTranslator(self)<EOL>
Create a new Skype object and corresponding connection.

If ``user`` and ``pwd`` are given, they will be passed to :meth:`.SkypeConnection.setUserPwd`.  This can be
either a Skype username/password pair, or a Microsoft account email address and its associated password.

If a token file path is present, it will be used if valid.  On a successful connection, the token file will
also be written to.

By default, a connection attempt will be made if any valid form of credentials are supplied.  It is also
possible to handle authentication manually, by working with the underlying connection object instead.

Args:
    user (str): Skype username of the connecting account
    pwd (str): corresponding Skype account password
    tokenFile (str): path to file used for token storage
    connect (bool): whether to try and connect straight away

Raises:
    .SkypeAuthException: if connecting, and the login request is rejected
    .SkypeApiException: if connecting, and the login form can't be processed