Home¶
Here you will find the documentation for SkPy, an unofficial Python library for interacting with the Skype HTTP API.
Features¶
The aim of this library is to provide feature-complete support for Skype for Web. So far, it supports:
contacts: retrieving the contact list and groups, sending and responding to invites, searching the directory
conversations: sending text messages, marking read, rich text formatting, file/image transfers, shared contacts
group chats: creating new conversations, adding/removing members, delegating admins, setting topic/history, join URLs
events: receiving conversation messages, status and endpoint changes
translation API, user settings, credit/subscription info and more
Warning
The upstream APIs used here are undocumented and are liable to change, which may cause parts of this library to fall apart in obvious or non-obvious ways. These APIs are intended for Skype for Web, an application that is not designed for (and will likely defend against) automated or bulk use.
If you’re looking to create a bot for other Skype users to interact with, consider using the official Microsoft Bot Framework instead.
Note that the protocol and APIs are not feature-complete with other Skype clients – the Skype protocol pages have various notes on what is and isn’t available over the HTTP APIs.
Contributing¶
Take a look at the GitHub repository for how to get involved.
Before raising an issue or pull request:
Checkout the latest version of the code to ensure the problem hasn’t already been solved.
Make sure you’re not encountering a server-side issue, particularly with authentication. Try logging into Skype for Web to see where the problem lies.
Set
SKPY_DEBUG_HTTP=1
in your environment to output all HTTP requests between the library and Skype’s APIs.Include some sample code to reproduce a problem, along with a full traceback and HTTP output if relevant.
The documentation (both for SkPy, and the Skype for Web protocol) is a work in progress, but the content is also hosted on GitHub – submissions welcome.
Contents¶
- Guides
- Reference
- API reference
- Core classes
Skype
SkypeEventLoop
SkypeSettings
SkypeSettings.notificationPopups
SkypeSettings.notificationSounds
SkypeSettings.webLinkPreviews
SkypeSettings.youtubePlayer
SkypeSettings.mentionNotifs
SkypeSettings.imagePaste
SkypeSettings.shareTyping
SkypeSettings.emoteSuggestions
SkypeSettings.showEmotes
SkypeSettings.animateEmotes
SkypeSettings.largeEmotes
SkypeSettings.pinFavourites
SkypeSettings.darkTheme
SkypeSettings.autoAddFriends
SkypeSettings.callPrivacy
SkypeSettings.videoPrivacy
SkypeSettings.Privacy
SkypeSettings.syncFlags()
SkypeTranslator
- Users and contacts
SkypeUser
SkypeContact
SkypeBotUser
SkypeContacts
SkypeContactGroup
SkypeRequest
- Conversations
SkypeChat
SkypeSingleChat
SkypeGroupChat
SkypeGroupChat.topic
SkypeGroupChat.creator
SkypeGroupChat.users
SkypeGroupChat.admins
SkypeGroupChat.open
SkypeGroupChat.history
SkypeGroupChat.picture
SkypeGroupChat.joinUrl
SkypeGroupChat.active
SkypeGroupChat.moderated
SkypeGroupChat.rawToFields()
SkypeGroupChat.setTopic()
SkypeGroupChat.setModerated()
SkypeGroupChat.setOpen()
SkypeGroupChat.setHistory()
SkypeGroupChat.addMember()
SkypeGroupChat.removeMember()
SkypeGroupChat.leave()
SkypeChats
- Messages
SkypeMsg
SkypeMsg.id
SkypeMsg.type
SkypeMsg.time
SkypeMsg.clientId
SkypeMsg.user
SkypeMsg.chat
SkypeMsg.content
SkypeMsg.html
SkypeMsg.deleted
SkypeMsg.bold()
SkypeMsg.italic()
SkypeMsg.strike()
SkypeMsg.mono()
SkypeMsg.colour()
SkypeMsg.link()
SkypeMsg.emote()
SkypeMsg.mention()
SkypeMsg.mention_all
SkypeMsg.quote()
SkypeMsg.uriObject()
SkypeMsg.rawToFields()
SkypeMsg.fromRaw()
SkypeMsg.read()
SkypeMsg.edit()
SkypeMsg.delete()
SkypeTextMsg
SkypeContactMsg
SkypeLocationMsg
SkypeCardMsg
SkypeFileMsg
SkypeImageMsg
SkypeAudioMsg
SkypeVideoMsg
SkypeCallMsg
SkypePropertyMsg
SkypeTopicPropertyMsg
SkypeOpenPropertyMsg
SkypeHistoryPropertyMsg
SkypeMemberMsg
SkypeAddMemberMsg
SkypeChangeMemberMsg
SkypeRemoveMemberMsg
- Events
- Core classes
- Internal modules
- HTTP API requests
SkypeConnection
SkypeConnection.tokens
SkypeConnection.tokenExpiry
SkypeConnection.tokenFile
SkypeConnection.msgsHost
SkypeConnection.sess
SkypeConnection.endpoints
SkypeConnection.connected
SkypeConnection.guest
SkypeConnection.Auth
SkypeConnection.handle()
SkypeConnection.externalCall()
SkypeConnection.__init__()
SkypeConnection.closure()
SkypeConnection.__call__()
SkypeConnection.syncStateCall()
SkypeConnection.setTokenFile()
SkypeConnection.readTokenFromStr()
SkypeConnection.readToken()
SkypeConnection.writeTokenToStr()
SkypeConnection.writeToken()
SkypeConnection.verifyToken()
SkypeConnection.skypeTokenClosure()
SkypeConnection.setUserPwd()
SkypeConnection.liveLogin()
SkypeConnection.soapLogin()
SkypeConnection.guestLogin()
SkypeConnection.getSkypeToken()
SkypeConnection.refreshSkypeToken()
SkypeConnection.getUserId()
SkypeConnection.getRegToken()
SkypeConnection.syncEndpoints()
SkypeAuthProvider
SkypeAPIAuthProvider
LiveAuthSuccess
SkypeLiveAuthProvider
SkypeSOAPAuthProvider
SkypeGuestAuthProvider
SkypeRefreshAuthProvider
SkypeRegistrationTokenProvider
SkypeEndpoint
- Miscellaneous
SkypeObj
SkypeObjs
SkypeEnum
SkypeException
SkypeApiException
SkypeRateLimitException
SkypeAuthException
SkypeTokenException
SkypeUtils
- HTTP API requests
- Test classes
- API reference
- Background