{"id":13464720,"url":"https://github.com/Skype4Py/Skype4Py","last_synced_at":"2025-03-25T11:32:05.850Z","repository":{"id":4879813,"uuid":"6035091","full_name":"Skype4Py/Skype4Py","owner":"Skype4Py","description":"Platform independent Python wrapper for the Skype Desktop API","archived":false,"fork":false,"pushed_at":"2016-08-23T12:16:16.000Z","size":354,"stargazers_count":449,"open_issues_count":39,"forks_count":105,"subscribers_count":57,"default_branch":"master","last_synced_at":"2025-02-22T21:06:08.803Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Skype4Py.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-01T19:34:23.000Z","updated_at":"2025-02-17T06:18:45.000Z","dependencies_parsed_at":"2022-09-19T08:20:48.519Z","dependency_job_id":null,"html_url":"https://github.com/Skype4Py/Skype4Py","commit_stats":null,"previous_names":["awahlig/skype4py"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skype4Py%2FSkype4Py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skype4Py%2FSkype4Py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skype4Py%2FSkype4Py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skype4Py%2FSkype4Py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Skype4Py","download_url":"https://codeload.github.com/Skype4Py/Skype4Py/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245454127,"owners_count":20617984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T14:00:49.246Z","updated_at":"2025-03-25T11:32:00.835Z","avatar_url":"https://github.com/Skype4Py.png","language":"Python","readme":".. contents:: :local:\n\nIntroduction\n==============\n\n``Skype4Py`` is a Python library which allows you to control Skype client application.\n\nIt works on Windows, OSX and Linux platforms with Python 2.x versions.\n\nCommunity\n===========\n\n`Support and issues on Github \u003chttps://github.com/awahlig/skype4py\u003e`_.\nSkype4Py is not a Skype™, not associated with Microsoft or Skype.\nFor questions you can also use `stackoveflow.com with skype4py tag \u003chttp://stackoverflow.com/questions/tagged/skype4py\u003e`_. Do **not** go for ``developer.skype.com`` for support.\n\nOrignal author: `Arkadiusz Wahlig \u003chttp://arkadiusz.wahlig.eu/\u003e`_\n\nMaintainer: `Mikko Ohtamaa \u003chttp://opensourcehacker.com\u003e`_\n\nUsage\n=====\n\nEverything that you should ever need is available as aliases in the ``Skype4Py`` package.\nImport it using the standard form of the ``import`` statement:\n\n::\n\n    import Skype4Py\n\nImporting the whole package into your script's namespace using ``from Skype4Py import *`` is\ngenerally discouraged. You should also not access the modules in the package directly as they\nare considered an implementation detail and may change in future versions without notice.\n\nThe package provides the following:\n\n- Classes\n\n ``Skype4Py.Skype``, an alias for `Skype4Py.skype.Skype`\n\n ``Skype4Py.CallChannelManager``, an alias for `Skype4Py.callchannel.CallChannelManager`\n\n- Constants\n\n Everything from the `Skype4Py.enums` module.\n\n ``platform``, either ``'windows'``, ``'posix'`` or ``'darwin'`` depending\n on the current platform (Windows, Linux, Mac OS X).\n\n- Errors\n\n ``Skype4Py.SkypeError``, an alias for `Skype4Py.errors.SkypeError`\n\n ``Skype4Py.SkypeAPIError``, an alias for `Skype4Py.errors.SkypeAPIError`\n\nThe two classes exposed by the ``Skype4Py`` package are the only ones that are to be instantiated\ndirectly. They in turn provide means of instantiating the remaining ones. They are also the only\nclasses that provide event handlers (for more information about events and how to use them, see\nthe `EventHandlingBase` class.\n\nEvery Skype4Py script instantiates at least the ``Skype4Py.Skype`` class which gives access to\nthe Skype client running currently in the system. Follow the `Skype4Py.skype.Skype` reference to\nsee what you can do with it.\n\n**Warning!** While reading this documentation, it is important to keep in mind that everything\nneeded is in the top package level because the documentation refers to all objects in the places\nthey actually live.\n\nQuick example\n----------------\n\nThis short example connects to Skype client and prints the user's full name and the names of all the\ncontacts from the contacts list:\n\n::\n\n   import Skype4Py\n\n   # Create an instance of the Skype class.\n   skype = Skype4Py.Skype()\n\n   # Connect the Skype object to the Skype client.\n   skype.Attach()\n\n   # Obtain some information from the client and print it out.\n   print 'Your full name:', skype.CurrentUser.FullName\n   print 'Your contacts:'\n   for user in skype.Friends:\n       print '    ', user.FullName\n\nSending Message\n------------------\n\nThis short example shows how to send a message to a user. Credit goes to @amazpyel\n\n::\n\n\tpython\n\timport Skype4Py\n\timport sys\n\n\tskype = Skype4Py.Skype()\n\tskype.Attach()\n\tuser = sys.argv[1]\n\tmessage = ' '.join(sys.argv[2:])\n\tskype.SendMessage(user, message)\n\nNote on the naming convention\n--------------------------------\n\nSkype4Py uses two different naming conventions. The first one applies to interfaces derived from\n`Skype4COM \u003chttps://developer.skype.com/Docs/Skype4COM\u003e`_, a COM library which was an inspiration for Skype4Py. This convention uses the ``CapCase``\nscheme for class names, properties, methods and their arguments. The constants use the ``mixedCase``\nscheme.\n\nThe second naming convention is more \"Pythonic\" and is used by all other parts of the package\nincluding internal objects. It uses mostly the same ``CapCase`` scheme for class names (including\nexception names) with a small difference in abbreviations. Where the first convention would use\na ``SkypeApiError`` name, the second one uses ``SkypeAPIError``. Other names including properties,\nmethods, arguments, variables and module names use lowercase letters with underscores.\n\nProjects using Skype4Py\n=========================\n\nBelow are projcts using Skype4Py library\n\n* `Sevabot - A Skype bot supporting integration with external services written in Python \u003chttps://github.com/opensourcehacker/sevabot\u003e`_\n\n* `Hubot-Skype  - A Skype adapter for Hubot (CoffeeScript) \u003chttps://github.com/netpro2k/hubot-skype\u003e`_\n\nTroubleshooting\n================\n\nSegfaults\n--------------\n\nIf you get segfault on OSX make sure you are using `32-bit Python \u003chttp://stackoverflow.com/questions/2088569/how-do-i-force-python-to-be-32-bit-on-snow-leopard-and-other-32-bit-64-bit-quest\u003e`_.\n\n`Debugging segmentation faults with Python \u003chttp://wiki.python.org/moin/DebuggingWithGdb\u003e`_.\n\nRelated gdb dump::\n\n    Program received signal EXC_BAD_ACCESS, Could not access memory.\n    Reason: KERN_INVALID_ADDRESS at address: 0x0000000001243b68\n    0x00007fff8c12d878 in CFRetain ()\n    (gdb) bt\n    #0  0x00007fff8c12d878 in CFRetain ()\n    #1  0x00000001007e07ec in ffi_call_unix64 ()\n    #2  0x00007fff5fbfbb50 in ?? ()\n    (gdb) c\n    Continuing.\n\n    Program received signal EXC_BAD_ACCESS, Could not access memory.\n    Reason: KERN_INVALID_ADDRESS at address: 0x0000000001243b68\n    0x00007fff8c12d878 in CFRetain ()\n\nSkype4Py on for OSX 64-bit (all new OSX versions)\n------------------------------------------------------\n\nCurrently Skype4Py must be installed and run using ``arch``\ncommand to force compatibility with 32-bit Skype client application.\n\nTo install::\n\n    arch -i386 pip install Skype4Py\n\nAlso when you run your application using Skype4Py prefix the run command with::\n\n    arch -i386\n\nCrashing on a startup on Ubuntu server\n------------------------------------------------------\n\nSegfault when starting up the bot::\n\n      File \"build/bdist.linux-i686/egg/Skype4Py/skype.py\", line 250, in __init__\n      File \"build/bdist.linux-i686/egg/Skype4Py/api/posix.py\", line 40, in SkypeAPI\n      File \"build/bdist.linux-i686/egg/Skype4Py/api/posix_x11.py\", line 254, in __in                                    it__\n    Skype4Py.errors.SkypeAPIError: Could not open XDisplay\n    Segmentation fault (core dumped)\n\nThis usually means that your DISPLAY environment variable is wrong.\n\nTry::\n\n    export DISPLAY=:1\n\nor::\n\n    export DISPLAY=:0\n\ndepending on your configuration before running Sevabot.\n\nNew-style 'cloud' chats don't work - must use old-type 'p2p' chats\n------------------------------------------------------\n\nThe default chats/groups created by current Skype versions can't be interacted with by Skype4Py. You'll get something like::\n\n    SkypeError: [Errno 105] Invalid chat name\n\nYou can check group type with /get name in the chat.\n\nnew cloud-type gives e.g.::\n\n    name=19:ebcb1a426736467d9c38332b131ca675@thread.skype\n\nold p2p-type gives e.g.::\n\n    name=#bob030/$bernie.somethinge;dab22bf9c767e33)\n\nThe workaround is to use /createmoderatedchat in any skype window to create a p2p-type chat which will work fine. More info at https://github.com/awahlig/skype4py/issues/34; thanks to @adampiskorski and @Reiner030 for the key info.\n\nProblems connecting to Skype on Windows\n---------------------------------------\n\nMS might have removed support for Skype4Py on the windows version. Install an older, or use linux.\n\nIf you want to create a bot you can use: https://www.skype.com/en/developer/ Skype bot preview developer program.\n\nRunning unit tests\n====================\n\nHere is an example::\n\n    virtualenv-2.7 venv  # Create venv\n    source venv/bin/activate\n    python setup.py develop  # Install Skype4Py in development mode\n    cd unittests\n    python skype4pytest.py  # Execute tests\n\nMaking a release\n=================\n\n`Use zest.releaser \u003chttp://opensourcehacker.com/2012/08/14/high-quality-automated-package-releases-for-python-with-zest-releaser/\u003e`_\n\nExample::\n\n    virtualenv-2.7 venv  # Create venv\n    source venv/bin/activate\n    # Bump version in setup.py\n    python setup.py develop  # Install Skype4Py in development mode\n    pip install collective.checkdocs\n    python setup.py checkdocs # Check .rst syntax\n    easy_install zest.releaser\n    fullrelease\n\nTrademark notification\n========================\n\nSkype™, associated trademarks and logos and the “S” logo are trademarks of Skype. ``Skype4Py``\nPython project is not affiliate of Skype or Microsoft corporation.\n\n\n\n\n","funding_links":[],"categories":["Python","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSkype4Py%2FSkype4Py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSkype4Py%2FSkype4Py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSkype4Py%2FSkype4Py/lists"}