This release contains mainly bugfixes and a few new scripting commands.
- feat(vm): getActualNick() will return the nickname of the bot as it is on the server (function may get renamed later on)
- feat(vm): setAway(away bool, message string) - guess what it does...; when away, it doesn't transmit audio - there's nothing I can do about that
- feat: speech recognition should be quite stable now and only use resources when necessary; usable with licensed instances, a howto will follow
- feat(vm): saveConfig() will now save changed config values (handle with care)
- feat(vm): add qyt() / queueYT()
- enh: add application/vnd.apple.mpegurl as valid playlist mimeType
- fix: decrease ram/cpu usage for speech recognition
- fix: update webdav implementation
- fix: don't leak some audio converters
- fix: make -pwreset work again
- fix(vm): make type number actually numeric
- fix(vm): make channels show up again
This release fixes many smaller bugs and adds some new features to the script settings page.
- enh: optimize buffer usage in new audio handling
- enh(vm): add conditions to script settings
- enh(vm): add yt(), ytdl()
- enh: clarify some error messages
- fix: remove a bug in the playlist interface that could cause a crash
- fix: make channelUpdate honor the description field
- fix: remove some bugs from the client library that could cause crashes
- fix: make trackInfo trigger regardless of announce option
- fix: always use lowercase on username when logging in
- enh(vm): added new variable types: strings, tracks, array
- enh: enlarge some buffers for JSON handling for specific calls
This is another beta that might be a little bit more experimental, so please - as usual - only upgrade if you feel adventurous. It adds some features to the scripting engine that have been requested, audio filters, better error handling and more.
If you use scripts that use the sinusbot.on('timer'...) event, you have to either migrate that to use setInterval() or add
- feat: add volume and sfx option to tag editor; sfx will always be played "on top" like "sound" vs "music" in the ts3soundboard plugin
- enh: upgrade to ffmpeg-3.0
- enh: support for audio filters (compressors and such); this should solve problems for those who have had problems with different volumes in different tracks before
- enh: less RAM, less CPU
- enh: optimize dev-console
- enh: handle tsgroup -1 as guest group
- enh(ts): add client or invoker object to most callbacks to streamline scripting API, including dbid for ts backend
- enh(ts): implement ping/pong between client and bot and restart if client stalls
- enh(ts): make channelUpdate actually trigger
- enh(vm): add getUser(userid); returns a BOT user
- enh(vm): enhance error handling
- enh(vm/ts): add addClientToServerGroup(dbid, servergroupid) / removeClientFromServerGroup(dbid, servergroupid)
- enh(vm): add getLogLevel / setLogLevel / getInstanceLogLevel / setInstanceLogLevel
- fix: make the interface work again in IE
- fix: remove a race condition
- fix: add support for charsets in playlists
- fix: remove a memleak
- fix: disable reconnection tries in some cases (ytdl, tts...)
- fix: correctly handle new icy stream information formatting
- fix: make parent in createChannel / updateChannel working when given as string
- fix: add description to createChannel / updateChannel
- fix: make scripts work when they've got no vars attribute
- fix: remove basic auth which was set when not configured
Code:[Scripts] EnableTimer = true
Don't forget to copy the new plugin over.
Happy testing!
This is a pretty huge update that includes changes to almost every part of the bot.
Focus for this build has been on scripting - I hope that it works out well for most of you. This build might be a little heavier in terms of CPU & RAM usage, I'll focus on optimizing this in the next version.
As announced in another post, there have been major changes to the scripting interface that might break old scripts. Should you rely on any script and aren’t able to update & fix it by yourself, please WAIT with updating the bot.
Also, due to a change of the database structure, a downgrade will not be possible (without hassle)! So if you plan on reverting to an older version (you should really do this even if you're not planning to downgrade again), please create a backup before upgrading.
So what changed? (For more details, please check the changelog)
I'm also thinking about increasing the number of instances a bit after a free registration. Let me hear how many instances you would use for what and how many users usually are on your server (feedback is always welcome).
- many more functions have been added to the scripting interface, also setTimeout / setInterval have been added to the core
- script events can now also be triggered through the http-api
- cross-instance scripting
- stream audio to icecast
- crossfading of songs (for those that don’t listen to a radio station all the time)
- things downloaded with ytdl will now get a proper cover if it is available
- fixes in the audio engine to prevent clipping
- a new external plugin interface to add own audio sources (this will be documented later on)
- removed some dependencies so that the bot should work on more systems without ugly workarounds
- better handling of ytdl-streams
- scripts can now bring their own html/js pages (will be documented later on)
Donations are still very welcome as well
Thanks to all "Insiders" for testing!
Have fun!
This is just an interim update that fixes a crash some people ran into, adds some minor scripting features and prevents youtube-dl from becoming zombie processes. If you don't encounter any problems, you don't need to worry about this update.
Another bigger update (with more features) will follow soon.
This is an experimental release as many things changed under the hood. This will further improve performance as well as increase overall development speed.
Please make sure to update the plugin or you won't hear sound anymore.
Code:$ cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins
Also please make sure that the bot is completely stopped (and also all clients with it) before upgrading - otherwise it won't work.
Changes:
- enh(vm): add clientUid / clientNick to move-event, when the client disconnects
- enh(vm): add functions setGlobal/setInstance/getGlobal/getInstance/removeGlobal/removeInstance to scripting
- enh(vm): add functions getServerUid / getServerName / getServerPlatform / getServerVersion to scripting
- enh(vm): add getPing function to scripting
- enh(vm): add getCurrentChannelId to scripting
- enh(vm): add setDefaultChannel(channelId) to scripting
- fix: improve handling (skip track) when a playlist entry doesn't play correctly
- fix: disable soundpack of the client
- enh: migrate sticky-functionality to a script
- feat: speech-recognition
- enh: optimize software mixer (speedup: 100%)
- enh: optimize socket usage
- feat: properly implement an audio return channel
- feat: add initial support to stream audio to an icecast server
This is an experimental release as many things changed under the hood. This will further improve performance as well as increase overall development speed.
Please make sure to update the plugin or you won't hear sound anymore.
Code:$ cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins
Also please make sure that the bot is completely stopped (and also all clients with it) before upgrading - otherwise it won't work.
Changes:
- enh(vm): add clientUid / clientNick to move-event, when the client disconnects
- enh(vm): add functions setGlobal/setInstance/getGlobal/getInstance/removeGlobal/removeInstance to scripting
- enh(vm): add functions getServerUid / getServerName / getServerPlatform / getServerVersion to scripting
- enh(vm): add getPing function to scripting
- enh(vm): add getCurrentChannelId to scripting
- enh(vm): add setDefaultChannel(channelId) to scripting
- fix: improve handling (skip track) when a playlist entry doesn't play correctly
- fix: disable soundpack of the client
- enh: migrate sticky-functionality to a script
- feat: speech-recognition
- enh: optimize software mixer (speedup: 100%)
- enh: optimize socket usage
- feat: properly implement an audio return channel
- feat: add initial support to stream audio to an icecast server
- feat: import playlists via youtube-dl
- feat: add !!stop command to stop and remove the idle track (completely stop) - requires bot-edit privilege
- feat: fetch client statistics
- enh: !playlist command will now also match partially (when there is only one result)
- enh: resize images to 300x300 before using them as avatar
- enh: implement "real" streaming mode for youtube-dl
- enh: add a button to import radiostations to the all music list
- enh(localeedit): add diff-generator and importer to make it easier to collaborate
- fix: implement some new x functions to support a wider range of environments
- fix: webinterface now also honors instance specific privileges and reloads properly
- fix: clean up some privileges
- fix: display of last login
- fix: many other small improvements and bug fixes
Especially the queue functionality needs to be well-tested.
- feat: instance-specific privileges for licensed instances
- feat: external locales support
- feat: external style override support
- feat: locale editor
- feat: add !qyt to enqueue youtube-dl jobs
- enh: better queue handling
- fix: many smaller fixes, enhancements and error messages
If you want to create translations, please read this.