Updated on 2017-05-19 13:43:26
SHA1: b8da47c1c5685f7bdb9649b87858c3f5ec9185d7
Size: 15.34 MB

Enhance your client with python scripts

pyTSon is a Python plugin for your TeamSpeak 3 client. It offers a python3 (current used version is Python 3.5.7) interface for the plugin sdk. This plugin makes your client scriptable, react on events or write your subroutines callable by hotkeys or from the client's menu.

Many classes of the Qt framework are wrapped as python classes, so you can easily add ui functionality to your scripts in pure python.


Changelog for v1.2.1:

New Features:

  • pytsonui.setupUi will now center obj to its parent (if it has one)


  • Fixed bundling of files (settings are accessible again)
  • Some small bugfixes

Changelog for v1.2.0:

New Features:

  • Added functions getVersion and getCurrentApiVersion to module pytson to query the current versions
  • Added callbackproxies to register classes to receive ts3 events outside ts3plugin objects
  • ts3plugin and PluginHost live now in different modules
  • Added ServerCache class to module ts3client to use the client's cached icons
  • Added CountryFlags class to module ts3client to use the client's flag icons
  • Added package ts3widgets
  • Added module serverview to ts3widgets to display a channel-client-tree with QWidgets
  • Added module filetransfer to ts3widgets to display a filebrowser and filetransfer dialogs with QWidgets
  • Added simple signal-slot implementation with module signalslot
  • Added module PythonQt.pytson
  • Added EventFilterObject to PythonQt.pytson to use Qt's eventfilter system
  • Events called from another thread than the mainthread are now called asynchronous (from the mainthread) in pyTSon (this should make pyTSon alot more stable)
  • Re-added onUserLoggingMessageEvent
  • Re-added onFileTransferStatusEvent
  • pytsonui is now a package
  • all python code is now conform to PEP8 (with small exceptions :) )
  • pyTSon is now translatable
  • Added a german translation
  • Added and pytson.Translatable as translate function resp. baseclass
  • plugin authors might use to extract translatable strings from uifiles and python code
  • Users now may activate verbose logging
  • Users now may manage sitepackages in the include directory in the settings dialog
  • Added some rare constants from the original pluginsdk to ts3defines module
  • functions in pytsonui now accept a new parameter pluginicons (see the docs for more information)
  • pytsonui.setupUi can now load the original designed class of a Qt Designer file
  • pytsonui.retrieveAllWidgets will now load QButtonGroup and QAction as well
  • Created pythonqt_app to allow testing PythonQt uis. pythonqt_app is a standalone app emulating pyTSon's environment (get it from the github page)
  • Repository URLs can now have redirects
  • Repository plugins can now be extracted from a subdirectory in a zipped file


  • Unicode strings are now handled correctly in infoData
  • infoData is now only called on plugins, if the method exists
  • if infoData returns None, it is ignored now
  • menuitems are now sorted by their plugins names
  • functions of the ts3lib module returning a tuple containing the errorcode and some value, now return None as value on error
  • Fixed the internal conversion of bookmarklists, so ts3lib.getBookmarkList should work now
  • Emoticons of non-zipped Iconpacks in ts3client.IconPack are now loaded correctly
  • pytsonui.retrieveAllWidgets now ignores the subwidgets of combined widgets (like QSpinBox)
  • the scripting console does not use wordwrapping anymore, which should fix some odd behaviour
  • python caches are not bundled anymore
  • Fixed a bug where installation of plugins without dependencies from a repository was not possible
  • Fixed some bugs in PythonQt around QAbstractItemModel
  • Various updates to the documentation
  • Various small bugfixes