Skip to content

Splamy/TS3AudioBot

Repository files navigation

TS3AudioBot

This is a open-source TeamSpeak3 bot, playing music and much more.

  • Got questions? Check out our Wiki, FAQ, or ask on our Join Gitter Chat
  • Something's broken or it's complicated? Open an issue
    • Please use and fill out one of the templates we provide unless they are not applicable or you have a good reason not to.
      This helps us getting through the technical stuff faster
    • Please keep issues in english, this makes it easier for everyone to participate and keeps issues relevant to link to.
  • Want to support this Project?
    • You can discuss and suggest features. However the backlog is large and feature requests will probably take time
    • You can contribute code. This is always appreciated, please open an issue or contact a maintainer to discuss before you start.
    • You can support me on Patreon or Paypal

Features

  • Play Youtube and Soundcloud songs as well as stream Twitch (extensible with plugins)
  • Song history
  • Various voice subscription modes; including to clients, channels and whisper groups
  • Playlist management for all users
  • Powerful permission configuration
  • Plugin support
  • Web API
  • Multi-instance
  • Localization
  • Low CPU and memory with our self-written headless ts3 client

To see what's planned and in progress take a look into our Roadmap.

Bot Commands

The bot is fully operable via chat.
To get started write !help to the bot.
For all commands check out our live OpenApiV3 generator.
For an in-depth command tutorial see here in the wiki.

Install

Download

Pick and download the build for your platform and liking:

Stable Experimental
Versions are mostly considered stable but won't get bigger features as fast. Will always have the latest and greatest but might not be fully stable or have broken features.
Windows_x64 Download Download
Linux_x64 Download Download
Docker Docker (NOTE: This build is community-maintained. It comes with all dependencies as well as youtube-dl preconfigured) -

(We have more builds like linux arm/arm64 and .NET framework dependent builds available on our nightly server)

Linux

Install the required dependencies:

  • on Ubuntu/Debian:
    Run sudo apt-get install libopus-dev ffmpeg
  • on Arch Linux:
    Run sudo pacman -S opus ffmpeg
  • on CentOS 7:
    Run
    sudo yum -y install epel-release
    sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
    sudo yum -y install ffmpeg opus-devel
    
  • manually:
    1. Make sure you have a C compiler installed
    2. Make the Opus script runnable with chmod u+x InstallOpus.sh and run it with ./InstallOpus.sh
    3. Get the ffmpeg 32bit or 64bit binary.
    4. Extract the ffmpeg archive with tar -vxf ffmpeg-git-*XXbit*-static.tar.xz
    5. Get the ffmpeg binary from ffmpeg-git-*DATE*-amd64-static/ffmpeg and copy it into your TS3AudioBot folder.

Windows

  1. Get the ffmpeg 32bit or 64bit binary.
  2. Open the archive and copy the ffmpeg binary from ffmpeg-latest-winXX-static/bin/ffmpeg.exe into your TS3AudioBot folder.

Optional Dependencies

If the bot can't play some youtube videos it might be due to some embedding restrictions which are blocking this.
You can install the youtube-dl binary or source folder (and specify the path in the config) to try to bypass this.

First time setup

  1. Run the bot with ./TS3AudioBot (Linux) or TS3AudioBot.exe (Windows) and follow the setup instructions.
  2. (Optional) Close the bot and configure your rights.toml to your desires. You can use the template rules as suggested in the automatically generated file, or dive into the rights syntax here. Then start the bot again.
  3. (Optional, but highly recommended for everything to work properly).
    • Create a privilege key for the ServerAdmin group (or a group which has equivalent rights).
    • Send the bot in a private message !bot setup <privilege key>.
  4. Congratz, you're done! Enjoy listening to your favourite music, experimenting with the crazy command system or do whatever you whish to do ;).
    For further reading check out the CommandSystem.

Building manually

master develop
Build status Build status

Download

Download the git repository with git clone --recurse-submodules https://github.com/Splamy/TS3AudioBot.git.

Linux

  1. Get the latest dotnet core 3.1 version by following this tutorial and choose your platform
  2. Go into the directory of the repository with cd TS3AudioBot
  3. Execute dotnet build --framework netcoreapp3.1 --configuration Release TS3AudioBot to build the AudioBot
  4. The binary will be in ./TS3AudioBot/bin/Release/netcoreapp3.1 and can be run with dotnet TS3AudioBot.dll

Windows

  1. Make sure you have Visual Studio with the dotnet core 3.1 development toolchain installed
  2. Build the AudioBot with Visual Studio.

Building the WebInterface

  1. Go with the console of your choice into the ./WebInterface folder
  2. Run npm install to restore or update all dependencies for this project
  3. Run npm run build to build the project.
    The built project will be in ./WebInterface/dist.
    Make sure to the set the webinterface path in the ts3audiobot.toml to this folder.
  4. You can alternatively use npm run start for development.
    This will use the webpack dev server with live reload instead of the ts3ab server.

Community

Localization

💬 Want to help translate or improve translation?
Join us on Transifex to help translate
or in our Gitter to discuss or ask anything!
All help is appreciated ❤️

Translations need to be manually approved and will then be automatically built and deployed to our nightly server here.

License

This project is licensed under OSL-3.0.

Why OSL-3.0:

  • OSL allows you to link to our libraries without needing to disclose your own project, which might be useful if you want to use the TSLib as a library.
  • If you create plugins you do not have to make them public like in GPL. (Although we would be happy if you shared them :)
  • With OSL we want to allow you providing the TS3AB as a service (even commercially). We do not want the software to be sold but the service. We want this software to be free for everyone.
  • TL; DR? https://tldrlegal.com/license/open-software-licence-3.0

forthebadge forthebadge forthebadge forthebadge forthebadge